@arcgis/core 6.0.0-next.15 → 6.0.0-next.16

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 (337) hide show
  1. package/analysis/LineOfSightAnalysis.d.ts +49 -32
  2. package/analysis/LineOfSightAnalysisObserver.d.ts +19 -3
  3. package/analysis/LineOfSightAnalysisTarget.d.ts +19 -3
  4. package/analysis/Viewshed.d.ts +23 -3
  5. package/analysis/ViewshedAnalysis.d.ts +33 -13
  6. package/arcade/geometry/operatorsWorkerConnection.js +1 -1
  7. package/assets/esri/core/workers/RemoteClient.js +1 -1
  8. package/assets/esri/core/workers/chunks/00d66e3fba5ab4d2aa3c.js +1 -0
  9. package/assets/esri/core/workers/chunks/{d994bcf0a65d1c07160f.js → 0320cbd825f9a4222042.js} +1 -1
  10. package/assets/esri/core/workers/chunks/14d5d219e7fe017f23f0.js +1 -0
  11. package/assets/esri/core/workers/chunks/164e74d586297946a717.js +1 -0
  12. package/assets/esri/core/workers/chunks/{1bca39e0e651426bdbb5.js → 1b1d3f6916d2cb751435.js} +1 -1
  13. package/assets/esri/core/workers/chunks/{ed6e9d7f71bfd2691717.js → 1c77de1e79860f8d2228.js} +1 -1
  14. package/assets/esri/core/workers/chunks/1e40a26dcce4d1dadc28.js +1 -0
  15. package/assets/esri/core/workers/chunks/237a1f68a0efbfe5b77c.js +1 -0
  16. package/assets/esri/core/workers/chunks/23c43f09c4a4749516e1.js +1 -0
  17. package/assets/esri/core/workers/chunks/{3418877328f4f0830300.js → 24dac4970526a4e0ae63.js} +1 -1
  18. package/assets/esri/core/workers/chunks/26ceb0ff8d93dbb9b84f.js +1 -0
  19. package/assets/esri/core/workers/chunks/2acf2952cef69e382a35.js +1 -0
  20. package/assets/esri/core/workers/chunks/{481589c3eddad6e026ad.js → 369780276b2755361f7d.js} +1 -1
  21. package/assets/esri/core/workers/chunks/{4df6cb1bee5d0720a43e.js → 36cbd614454581aaf334.js} +1 -1
  22. package/assets/esri/core/workers/chunks/{1e0d2715d603f48a7e0b.js → 370aad23df597db80d65.js} +1 -1
  23. package/assets/esri/core/workers/chunks/3baa4a9c52f41bfd6abb.js +1 -0
  24. package/assets/esri/core/workers/chunks/42d44c7d532df5ee70e9.js +1 -0
  25. package/assets/esri/core/workers/chunks/42e985a576d7aaeed0cf.js +1 -0
  26. package/assets/esri/core/workers/chunks/{6400446b7615b97c3521.js → 45f826554499c38968c6.js} +1 -1
  27. package/assets/esri/core/workers/chunks/48cc58890fddbcf69cef.js +1 -0
  28. package/assets/esri/core/workers/chunks/494bd434fee9032e1d02.js +1 -0
  29. package/assets/esri/core/workers/chunks/{33e4ff228a8c81b99022.js → 4abd3753cd9b80e4d937.js} +1 -1
  30. package/assets/esri/core/workers/chunks/4bbe1f28f5f16a6bef05.js +1 -0
  31. package/assets/esri/core/workers/chunks/4c389472b8cdb0c55154.js +1 -0
  32. package/assets/esri/core/workers/chunks/4e4f747de424941a0bfa.js +1 -0
  33. package/assets/esri/core/workers/chunks/5529831dd891382c79df.js +1 -0
  34. package/assets/esri/core/workers/chunks/576248e9ae2654569420.js +1 -0
  35. package/assets/esri/core/workers/chunks/5acb422fe3cf693d9d4f.js +1 -0
  36. package/assets/esri/core/workers/chunks/{aeaaff7a4b1a99540f52.js → 5cb26bbaa08114aec5ce.js} +1 -1
  37. package/assets/esri/core/workers/chunks/661c6324529dd17b297e.js +1 -0
  38. package/assets/esri/core/workers/chunks/68dd1fd2025c7125ead1.js +1 -0
  39. package/assets/esri/core/workers/chunks/{89e76de5ae3328d821a4.js → 69f6d5997b8ff1326e39.js} +1 -1
  40. package/assets/esri/core/workers/chunks/6a8dd8b18b0b825b0c1b.js +1 -0
  41. package/assets/esri/core/workers/chunks/{a40b6d8b5c73e06e14d4.js → 6c255c029d67423e4dac.js} +1 -1
  42. package/assets/esri/core/workers/chunks/7446d0dfebf93e86c098.js +1 -0
  43. package/assets/esri/core/workers/chunks/{688f2dbf784e66082308.js → 74c866e0b66e61751861.js} +1 -1
  44. package/assets/esri/core/workers/chunks/{3ffda5bf0b91700dc308.js → 78643f116677950ea29a.js} +1 -1
  45. package/assets/esri/core/workers/chunks/{916b363c342b61ba5461.js → 787c1a8bda7d745633f2.js} +1 -1
  46. package/assets/esri/core/workers/chunks/7b5f3c79e0605c32b267.js +1 -0
  47. package/assets/esri/core/workers/chunks/7bbfe9ff352afc566367.js +1 -0
  48. package/assets/esri/core/workers/chunks/{ac5a6603f7fa78d3e4c8.js → 7e8611cb709f105946f5.js} +1 -1
  49. package/assets/esri/core/workers/chunks/{05cd33d41d91f8d09633.js → 7fb7493f483cd9878bfa.js} +1 -1
  50. package/assets/esri/core/workers/chunks/{acfa03c65ba3ca6c5685.js → 8715661a838361d4211a.js} +1 -1
  51. package/assets/esri/core/workers/chunks/{601e1d020b8115497944.js → 8a485130781b49dbf608.js} +1 -1
  52. package/assets/esri/core/workers/chunks/{0ccab50877b24f862d6e.js → 8ac2098ecdc40ad41055.js} +1 -1
  53. package/assets/esri/core/workers/chunks/{a655ebdb4bf0660615a2.js → 8b4e9fd88c0c313416d4.js} +1 -1
  54. package/assets/esri/core/workers/chunks/{4e544de61f07ca660236.js → 8c12269d26f5a4c753cb.js} +1 -1
  55. package/assets/esri/core/workers/chunks/91dd65cf877c8f2e01a7.js +1 -0
  56. package/assets/esri/core/workers/chunks/{46b4fb6a7fe4877b0efc.js → 94baa354e50c03b82b25.js} +2 -2
  57. package/assets/esri/core/workers/chunks/950d4578dc450467404c.js +1 -0
  58. package/assets/esri/core/workers/chunks/{68be3fb88ca61f82fb90.js → 95dbbddac6581b9d671f.js} +1 -1
  59. package/assets/esri/core/workers/chunks/98be2f621801e230aa01.js +1 -0
  60. package/assets/esri/core/workers/chunks/9b051745d24d1f43480b.js +1 -0
  61. package/assets/esri/core/workers/chunks/9d61740ef8bdcc162be1.js +1 -0
  62. package/assets/esri/core/workers/chunks/{eb04e1717a1002cda3ab.js → 9f06ec95bdf0d0b52b41.js} +1 -1
  63. package/assets/esri/core/workers/chunks/{fafb92ca2c5e4b0b2c23.js → a09d2e1e2540921e4717.js} +1 -1
  64. package/assets/esri/core/workers/chunks/{3b3e519f15ed52c83f0c.js → a49fe94933b65b4b64f8.js} +1 -1
  65. package/assets/esri/core/workers/chunks/{1819c45655c836b9a8d7.js → a4d3944700f1cc240176.js} +1 -1
  66. package/assets/esri/core/workers/chunks/{90bdf86f553e2742d67c.js → a7bd5ba4d7d97411fd33.js} +1 -1
  67. package/assets/esri/core/workers/chunks/{900181f68449d8f82eeb.js → aa1ac7954e4f0fefe15b.js} +1 -1
  68. package/assets/esri/core/workers/chunks/ac24b4370dc7194a3107.js +1 -0
  69. package/assets/esri/core/workers/chunks/{b8337492e2b753aefac4.js → ace41659a5ca0e5abfc3.js} +1 -1
  70. package/assets/esri/core/workers/chunks/{3c0ed15b544df6fb0903.js → b48952e1fb4cb7360dd0.js} +1 -1
  71. package/assets/esri/core/workers/chunks/b5e7475cc5fbf31289d3.js +1 -0
  72. package/assets/esri/core/workers/chunks/{f3da30d7300b92bd8bb0.js → befa32b9e7b3fbdd431e.js} +1 -1
  73. package/assets/esri/core/workers/chunks/{0f617980c7dd9ad0444f.js → bf35927979fc5e7e0478.js} +1 -1
  74. package/assets/esri/core/workers/chunks/c4ddac23bd649d24f3f2.js +1 -0
  75. package/assets/esri/core/workers/chunks/{4e6f40cbdb8c508e6df1.js → c5a9e77977e867a75ff2.js} +1 -1
  76. package/assets/esri/core/workers/chunks/{25f19fc929f25ddd628c.js → c79934cd6883307203f8.js} +1 -1
  77. package/assets/esri/core/workers/chunks/cddc3e285f763ccf33c2.js +1 -0
  78. package/assets/esri/core/workers/chunks/d08ff41e2a9bcd58b64a.js +1 -0
  79. package/assets/esri/core/workers/chunks/d311ff96a5a2791d8cfc.js +1 -0
  80. package/assets/esri/core/workers/chunks/d62afb71f4ece4283994.js +1 -0
  81. package/assets/esri/core/workers/chunks/dc1761cba0454fda3cf9.js +1 -0
  82. package/assets/esri/core/workers/chunks/{4ac1d3e49e242e373a92.js → e0650b1408197d3ac862.js} +1 -1
  83. package/assets/esri/core/workers/chunks/{3ff6d1ed3c0f1285f3e7.js → e0d9dc97985561320bd4.js} +1 -1
  84. package/assets/esri/core/workers/chunks/eaddffcc7004101fc230.js +1 -0
  85. package/assets/esri/core/workers/chunks/eb2652ec48faa78de3c5.js +1 -0
  86. package/assets/esri/core/workers/chunks/eca44e53bcee9b08d70a.js +1 -0
  87. package/assets/esri/core/workers/chunks/f00458654c7c34c369ef.js +1 -0
  88. package/assets/esri/core/workers/chunks/f3cd610084e3f4d8656b.js +1 -0
  89. package/assets/esri/core/workers/chunks/f47fe4433b05fca5c3ad.js +1 -0
  90. package/assets/esri/core/workers/chunks/f7bfa3d33b05b250ce33.js +1 -0
  91. package/assets/esri/core/workers/chunks/f91bc1cb1014e05be763.js +1 -0
  92. package/assets/esri/core/workers/chunks/{ae31fd416bbb41a81392.js → f9c5aa0bbf23e780fecc.js} +1 -1
  93. package/assets/esri/core/workers/chunks/f9ff27cfcf0538ac5e26.js +1 -0
  94. package/assets/esri/core/workers/chunks/{19676b2c5f8b0a5ee680.js → facd1ff23203fed67686.js} +1 -1
  95. package/assets/esri/core/workers/chunks/{40a584cb952e94326e9e.js → fcb86d24fc7e0666b564.js} +1 -1
  96. package/chunks/Distance2DCalculator-DjIp2uQi.js +1 -1
  97. package/chunks/Envelope.js +1 -1
  98. package/chunks/MultiPathImpl.js +1 -1
  99. package/chunks/OperatorGeodeticArea.js +1 -1
  100. package/chunks/OperatorShapePreservingLength.js +1 -1
  101. package/chunks/OperatorShapePreservingProject.js +1 -1
  102. package/chunks/UnitFactory.js +1 -1
  103. package/chunks/basis_encoder.js +1 -1
  104. package/chunks/basis_transcoder.js +1 -1
  105. package/chunks/index.js +1 -1
  106. package/chunks/lclayout.js +1 -1
  107. package/config.d.ts +2 -0
  108. package/config.js +1 -1
  109. package/core/accessorSupport/DefaultsStore.js +1 -1
  110. package/core/accessorSupport/MultiOriginStore.js +1 -1
  111. package/core/accessorSupport/Store.js +1 -1
  112. package/core/accessorSupport/decorators/reader.js +1 -1
  113. package/core/accessorSupport/decorators/writer.js +1 -1
  114. package/core/workers/WorkerOwner.js +1 -1
  115. package/core/workers/workerFactory.js +1 -1
  116. package/core/workers/workers.js +2 -2
  117. package/core/workers.d.ts +9 -0
  118. package/form/elements/inputs/DynamicChoiceInput.d.ts +4 -2
  119. package/geometry/Mesh.js +1 -1
  120. package/geometry/operators/gx/operatorAlphaShape.js +1 -1
  121. package/geometry/operators/gx/operatorOffset.js +1 -1
  122. package/geometry/operators/gx/operatorPolygonSlicer.js +1 -1
  123. package/geometry/operators/support/jsonConverter.js +1 -1
  124. package/geometry/support/curves/bezierCurveUtils.js +1 -1
  125. package/geometry/support/curves/ellipticArc7Utils.js +1 -1
  126. package/geometry/support/meshUtils/merge.js +1 -1
  127. package/geometry/support/meshUtils/rotate.js +1 -1
  128. package/geometry/support/polygonExtentClipping.js +1 -1
  129. package/identity/Credential.js +1 -1
  130. package/kernel.js +1 -1
  131. package/layers/AnnotationFeatureLayer.d.ts +2 -2
  132. package/layers/AnnotationFeatureLayer.js +1 -1
  133. package/layers/CatalogLayer.d.ts +2 -2
  134. package/layers/CatalogLayer.js +1 -1
  135. package/layers/DimensionFeatureLayer.d.ts +2 -2
  136. package/layers/DimensionFeatureLayer.js +1 -1
  137. package/layers/FeatureLayer.d.ts +4 -4
  138. package/layers/FeatureLayer.js +1 -1
  139. package/layers/ImageryTileLayer.js +1 -1
  140. package/layers/LineOfSightLayer.d.ts +10 -8
  141. package/layers/SceneLayer.js +1 -1
  142. package/layers/SubtypeGroupLayer.d.ts +2 -2
  143. package/layers/SubtypeGroupLayer.js +1 -1
  144. package/layers/ViewshedLayer.d.ts +1 -1
  145. package/layers/VoxelLayer.js +1 -1
  146. package/layers/WMSLayer.js +1 -1
  147. package/layers/geospatialPDF/GeospatialPDFFrame.js +1 -1
  148. package/layers/geospatialPDF/GeospatialPDFLayerWorker.js +9 -9
  149. package/layers/geospatialPDF/GeospatialPDFWorkerClient.js +1 -1
  150. package/layers/geospatialPDF/LGIDictMapFrame.js +1 -1
  151. package/layers/geospatialPDF/ViewportMeasureFrame.js +1 -1
  152. package/layers/geospatialPDF/geospatialPDFParserUtils.js +1 -1
  153. package/layers/graphics/controllers/I3SOnDemandController.js +1 -1
  154. package/layers/graphics/data/QueryEngineResult.js +1 -1
  155. package/layers/graphics/sources/connections/WebSocketConnection.js +1 -1
  156. package/layers/graphics/sources/parquet/FileProvider.js +1 -1
  157. package/layers/graphics/sources/support/ParquetSourceWorker.js +1 -1
  158. package/layers/mixins/{FeatureLayerReload.d.ts → ReloadableLayer.d.ts} +5 -3
  159. package/layers/mixins/ReloadableLayer.js +2 -0
  160. package/layers/raster/datasets/BaseRaster.js +1 -1
  161. package/layers/raster/datasets/GeospatialPDFRaster.js +1 -1
  162. package/layers/raster/datasets/ImageAuxRaster.js +2 -2
  163. package/layers/raster/datasets/ImageServerRaster.js +1 -1
  164. package/layers/raster/datasets/InMemoryRaster.js +1 -1
  165. package/layers/raster/datasets/MRFRaster.js +1 -1
  166. package/layers/raster/datasets/TIFFRaster.js +1 -1
  167. package/layers/raster/datasets/WCSRaster.js +1 -1
  168. package/layers/raster/formats/ImageCanvasDecoder.js +1 -1
  169. package/layers/raster/formats/RasterCodec.js +1 -1
  170. package/layers/raster/formats/TiffDecoder.js +1 -1
  171. package/layers/raster/formats/Zlib.js +1 -1
  172. package/layers/raster/functions/stretchUtils.js +1 -1
  173. package/layers/raster/functions/vectorFieldUtils.js +1 -1
  174. package/layers/support/FieldsIndex.js +1 -1
  175. package/layers/support/RasterWorker.js +1 -1
  176. package/layers/support/featureReductionProperties.js +1 -1
  177. package/layers/support/kmlUtils.js +1 -1
  178. package/layers/video/VideoController.js +10 -10
  179. package/libs/maquette/projection.js +1 -1
  180. package/networks/UtilityNetworkTraceAnalysis.js +1 -1
  181. package/package.json +5 -5
  182. package/popup/FeatureModel.js +1 -1
  183. package/popup/FeaturesModel.js +1 -1
  184. package/portal/Portal.js +1 -1
  185. package/request/process.js +1 -1
  186. package/request/types.d.ts +7 -0
  187. package/rest/knowledgeGraphService.js +1 -1
  188. package/rest/networks/trace.js +1 -1
  189. package/rest/query/executeQuery.js +1 -1
  190. package/smartMapping/raster/renderers/shadedRelief.js +1 -1
  191. package/smartMapping/renderers/univariateColorSize.js +1 -1
  192. package/smartMapping/statistics/support/statsWorker.js +1 -1
  193. package/smartMapping/statistics/support/utils.js +1 -1
  194. package/smartMapping/support/clusterUtils.js +1 -1
  195. package/statistics/utils.js +1 -1
  196. package/symbols/cim/CIMCursor.js +1 -1
  197. package/symbols/cim/CIMSymbolDrawHelper.js +1 -1
  198. package/symbols/cim/cimAnalyzer.js +1 -1
  199. package/symbols/support/ElevationInfo.d.ts +4 -3
  200. package/undoredo/support/Services.js +1 -1
  201. package/views/2d/engine/vectorTiles/buckets/SymbolBucket.js +2 -2
  202. package/views/2d/engine/webgl/shaderGraph/techniques/labels/LabelMeshWriter.js +1 -1
  203. package/views/2d/grid/GridView2D.js +1 -1
  204. package/views/2d/layers/FeatureLikeLayerView2D.js +1 -1
  205. package/views/2d/layers/features/sources/strategies/FeatureHybridTileLoadStrategy.js +1 -1
  206. package/views/2d/layers/features/sources/strategies/FeaturePagedTileLoadStrategy.js +1 -1
  207. package/views/2d/layers/features/sources/strategies/FeatureSnapshotLoadStrategy.js +1 -1
  208. package/views/2d/viewpointUtils.js +1 -1
  209. package/views/3d/analysis/AreaMeasurement/support/MeasurementData.js +1 -1
  210. package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
  211. package/views/3d/analysis/LineOfSight/types.d.ts +14 -3
  212. package/views/3d/analysis/LineOfSightAnalysisView3D.d.ts +39 -13
  213. package/views/3d/analysis/Viewshed/ViewshedEditTool.js +1 -1
  214. package/views/3d/analysis/Viewshed/types.d.ts +7 -0
  215. package/views/3d/analysis/ViewshedAnalysisView3D.d.ts +43 -15
  216. package/views/3d/input/handlers/KeyboardNavigation.js +1 -1
  217. package/views/3d/interactive/editingTools/draw/DrawGraphicTool3D.js +1 -1
  218. package/views/3d/interactive/editingTools/reshape/ReshapeOperation.js +1 -1
  219. package/views/3d/interactive/editingTools/transform/ExtentTransformTool.js +1 -1
  220. package/views/3d/interactive/editingTools/transform/ScaleRotateTransform.js +1 -1
  221. package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DTool.js +1 -1
  222. package/views/3d/interactive/visualElements/ExtendedLineVisualElement.js +1 -1
  223. package/views/3d/interactive/visualElements/OutlineVisualElement.js +1 -1
  224. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  225. package/views/3d/layers/graphics/Graphics3DElevationAlignment.js +1 -1
  226. package/views/3d/layers/graphics/Graphics3DGraphic.js +1 -1
  227. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  228. package/views/3d/layers/graphics/Graphics3DPathSymbolLayer.js +1 -1
  229. package/views/3d/layers/graphics/SpatialIndex2D.js +1 -1
  230. package/views/3d/layers/i3s/I3SNode.js +1 -1
  231. package/views/3d/layers/i3s/I3SUtil.js +1 -1
  232. package/views/3d/layers/i3s/I3SViewportQueries.js +1 -1
  233. package/views/3d/layers/i3s/LayerElevationProvider.js +1 -1
  234. package/views/3d/layers/support/FeatureTileFetcher3D.js +1 -1
  235. package/views/3d/layers/support/FeatureTileFetcher3DDebugger.js +1 -1
  236. package/views/3d/layers/support/ImageHighlightHelper3D.js +1 -1
  237. package/views/3d/layers/support/StageLayerElevationProvider.js +1 -1
  238. package/views/3d/state/helpers/SceneIntersectionHelper.js +1 -1
  239. package/views/3d/support/elevationUpdateExtentUtils.js +1 -1
  240. package/views/3d/support/elevationUpdateUtils.js +1 -1
  241. package/views/3d/support/pointsOfInterest/Focus.js +1 -1
  242. package/views/3d/support/sphereExtentUtils.js +2 -0
  243. package/views/3d/terrain/OverlayFramebufferObject.js +1 -1
  244. package/views/3d/terrain/OverlayRenderer.js +1 -1
  245. package/views/3d/terrain/PatchRenderData.js +1 -1
  246. package/views/3d/webgl-engine/lib/BindParameters.js +1 -1
  247. package/views/3d/webgl-engine/lib/ManagedTexture.js +1 -1
  248. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  249. package/views/3d/webgl-engine/lib/ViewshedShadowMap.js +1 -1
  250. package/views/3d/webgl-engine/materials/internal/MaterialUtil.js +1 -1
  251. package/views/3d/webgl-engine/materials/renderers/PerBufferData.js +1 -1
  252. package/views/SceneView.js +1 -1
  253. package/views/ToolViewManager.js +1 -1
  254. package/views/draw/DrawOperation.js +1 -1
  255. package/views/draw/support/InteractiveHandle.js +1 -1
  256. package/views/draw/support/Reshape.js +1 -1
  257. package/views/draw/support/createUtils.js +1 -1
  258. package/views/draw/support/editingSessionUtils.js +1 -1
  259. package/views/draw/support/managers/InteractiveHandleManager.js +1 -1
  260. package/views/interactive/SegmentLabels.js +1 -1
  261. package/views/interactive/editGeometry/EditGeometry.js +1 -1
  262. package/views/interactive/editGeometry/EditGeometryOperations.js +1 -1
  263. package/views/interactive/editGeometry/operations/SetAllVertexPositions.js +1 -1
  264. package/views/interactive/editGeometry/operations/UndoGroup.js +1 -1
  265. package/views/interactive/options/TooltipOptions.d.ts +2 -0
  266. package/views/interactive/sketch/SketchTooltipOptions.d.ts +2 -0
  267. package/views/interactive/sketch/constraintUtils.js +1 -1
  268. package/views/interactive/snapping/SnappingDragPipelineStep.js +1 -1
  269. package/views/interactive/tooltip/components/TooltipEditableField.js +1 -1
  270. package/views/layers/LayerView.js +1 -1
  271. package/views/layers/LineOfSightLayerView.d.ts +35 -13
  272. package/views/layers/SketchLayerView.d.ts +1 -0
  273. package/views/layers/ViewshedLayerView.d.ts +36 -12
  274. package/views/webgl/Program.js +1 -1
  275. package/views/webgl/Texture.js +1 -1
  276. package/widgets/BasemapToggle/BasemapToggleViewModel.js +1 -1
  277. package/widgets/Directions.js +1 -1
  278. package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
  279. package/widgets/Editor/legacy/CreateFeaturesWorkflow.js +1 -1
  280. package/widgets/ElevationProfile/support/chartUtils.js +1 -1
  281. package/widgets/FeatureTable/support/FeatureStore.js +1 -1
  282. package/widgets/FeatureTable/support/GroupColumnTemplate.js +1 -1
  283. package/widgets/FeatureTable/support/TableTemplate.js +1 -1
  284. package/widgets/Print.js +1 -1
  285. package/widgets/Slice.js +1 -1
  286. package/widgets/UtilityNetworkTraceAnalysis/UtilityNetworkTraceAnalysisViewModel.js +1 -1
  287. package/widgets/support/SelectionList/SelectionListViewModel.js +1 -1
  288. package/widgets/support/SelectionList.js +1 -1
  289. package/widgets/support/componentsUtils.js +1 -1
  290. package/assets/esri/core/workers/chunks/024b44c0c8876627f904.js +0 -1
  291. package/assets/esri/core/workers/chunks/02c5d027bdaee67869cf.js +0 -1
  292. package/assets/esri/core/workers/chunks/03261b9451e293a0fac8.js +0 -1
  293. package/assets/esri/core/workers/chunks/0c8c01097847617261b9.js +0 -1
  294. package/assets/esri/core/workers/chunks/0d931c7579b6409a696d.js +0 -1
  295. package/assets/esri/core/workers/chunks/12c154342fff876f2f1e.js +0 -1
  296. package/assets/esri/core/workers/chunks/1e11d2e97d17685b878a.js +0 -1
  297. package/assets/esri/core/workers/chunks/1f339247b68b061ab0a4.js +0 -1
  298. package/assets/esri/core/workers/chunks/21ddb26526bcb2b122c3.js +0 -1
  299. package/assets/esri/core/workers/chunks/2eae542fe7f0f6576ac1.js +0 -1
  300. package/assets/esri/core/workers/chunks/444e5f214abce3d607cd.js +0 -1
  301. package/assets/esri/core/workers/chunks/46a7da93a63663878583.js +0 -1
  302. package/assets/esri/core/workers/chunks/4a1e23e021bac37a88ab.js +0 -1
  303. package/assets/esri/core/workers/chunks/4c4117e28ea358a32088.js +0 -1
  304. package/assets/esri/core/workers/chunks/54b18559280a7d2a8d93.js +0 -1
  305. package/assets/esri/core/workers/chunks/59b216b60464611742d4.js +0 -1
  306. package/assets/esri/core/workers/chunks/62ac588f7dd1d24d0c9d.js +0 -1
  307. package/assets/esri/core/workers/chunks/62c8c9ad09e0166207fd.js +0 -1
  308. package/assets/esri/core/workers/chunks/62d6e101e9bd9557a410.js +0 -1
  309. package/assets/esri/core/workers/chunks/6558488ea96620439f34.js +0 -1
  310. package/assets/esri/core/workers/chunks/665e31c494d2af505acc.js +0 -1
  311. package/assets/esri/core/workers/chunks/6f4e6022a52de0c54aab.js +0 -1
  312. package/assets/esri/core/workers/chunks/7267b17de212207142c9.js +0 -1
  313. package/assets/esri/core/workers/chunks/7ef182e24cad50815b4e.js +0 -1
  314. package/assets/esri/core/workers/chunks/8293600f94553afc8c38.js +0 -1
  315. package/assets/esri/core/workers/chunks/8431ca60ad33d594e323.js +0 -1
  316. package/assets/esri/core/workers/chunks/876f7633c15f1e31078d.js +0 -1
  317. package/assets/esri/core/workers/chunks/8ca9648eacb894283513.js +0 -1
  318. package/assets/esri/core/workers/chunks/91ebb2ccab1889eb7e81.js +0 -1
  319. package/assets/esri/core/workers/chunks/94e427040edb469d58ad.js +0 -1
  320. package/assets/esri/core/workers/chunks/9ce91a909eccc4dfe388.js +0 -1
  321. package/assets/esri/core/workers/chunks/9e1a3b6a08c96dcefdde.js +0 -1
  322. package/assets/esri/core/workers/chunks/9e3e442a9874ed23a043.js +0 -1
  323. package/assets/esri/core/workers/chunks/ad76f7ab2f3e6d5a5b3c.js +0 -1
  324. package/assets/esri/core/workers/chunks/aff32980d91dab07dfb7.js +0 -1
  325. package/assets/esri/core/workers/chunks/bbf993dba74850bbf9d7.js +0 -1
  326. package/assets/esri/core/workers/chunks/d8f1cefcad02d7353d4b.js +0 -1
  327. package/assets/esri/core/workers/chunks/d938987344bce83cc660.js +0 -1
  328. package/assets/esri/core/workers/chunks/ddf0671976648f621269.js +0 -1
  329. package/assets/esri/core/workers/chunks/de02f60258e6985ef676.js +0 -1
  330. package/assets/esri/core/workers/chunks/e10b57aefcc89671116e.js +0 -1
  331. package/assets/esri/core/workers/chunks/e65dfa19f030ec298437.js +0 -1
  332. package/assets/esri/core/workers/chunks/ed8786fed345718ed684.js +0 -1
  333. package/assets/esri/core/workers/chunks/f122c18af10e56f9ec2b.js +0 -1
  334. package/assets/esri/core/workers/chunks/f92364afaefbac7e8f77.js +0 -1
  335. package/assets/esri/core/workers/chunks/fd9663952d5a94f3a83f.js +0 -1
  336. package/assets/esri/core/workers/chunks/fe9879ecd69ac4329291.js +0 -1
  337. package/layers/mixins/FeatureLayerReload.js +0 -2
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[6263],{80200(e,t,i){i.d(t,{d:()=>p});const r={Base64:0,Hex:1,String:2,Raw:3};function n(e,t){let i=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(i>>16)<<16|65535&i}function l(e,t,i,r,l,s){return n(function(e,t){return e<<t|e>>>32-t}(n(n(t,e),n(r,s)),l),i)}function s(e,t,i,r,n,s,o){return l(t&i|~t&r,e,t,n,s,o)}function o(e,t,i,r,n,s,o){return l(t&r|i&~r,e,t,n,s,o)}function a(e,t,i,r,n,s,o){return l(t^i^r,e,t,n,s,o)}function u(e,t,i,r,n,s,o){return l(i^(t|~r),e,t,n,s,o)}function d(e,t){e[t>>5]|=128<<t%32,e[14+(t+64>>>9<<4)]=t;let i=1732584193,r=-271733879,l=-1732584194,d=271733878;for(let t=0;t<e.length;t+=16){let p=i,c=r,f=l,g=d;i=s(i,r,l,d,e[t],7,-680876936),d=s(d,i,r,l,e[t+1],12,-389564586),l=s(l,d,i,r,e[t+2],17,606105819),r=s(r,l,d,i,e[t+3],22,-1044525330),i=s(i,r,l,d,e[t+4],7,-176418897),d=s(d,i,r,l,e[t+5],12,1200080426),l=s(l,d,i,r,e[t+6],17,-1473231341),r=s(r,l,d,i,e[t+7],22,-45705983),i=s(i,r,l,d,e[t+8],7,1770035416),d=s(d,i,r,l,e[t+9],12,-1958414417),l=s(l,d,i,r,e[t+10],17,-42063),r=s(r,l,d,i,e[t+11],22,-1990404162),i=s(i,r,l,d,e[t+12],7,1804603682),d=s(d,i,r,l,e[t+13],12,-40341101),l=s(l,d,i,r,e[t+14],17,-1502002290),r=s(r,l,d,i,e[t+15],22,1236535329),i=o(i,r,l,d,e[t+1],5,-165796510),d=o(d,i,r,l,e[t+6],9,-1069501632),l=o(l,d,i,r,e[t+11],14,643717713),r=o(r,l,d,i,e[t],20,-373897302),i=o(i,r,l,d,e[t+5],5,-701558691),d=o(d,i,r,l,e[t+10],9,38016083),l=o(l,d,i,r,e[t+15],14,-660478335),r=o(r,l,d,i,e[t+4],20,-405537848),i=o(i,r,l,d,e[t+9],5,568446438),d=o(d,i,r,l,e[t+14],9,-1019803690),l=o(l,d,i,r,e[t+3],14,-187363961),r=o(r,l,d,i,e[t+8],20,1163531501),i=o(i,r,l,d,e[t+13],5,-1444681467),d=o(d,i,r,l,e[t+2],9,-51403784),l=o(l,d,i,r,e[t+7],14,1735328473),r=o(r,l,d,i,e[t+12],20,-1926607734),i=a(i,r,l,d,e[t+5],4,-378558),d=a(d,i,r,l,e[t+8],11,-2022574463),l=a(l,d,i,r,e[t+11],16,1839030562),r=a(r,l,d,i,e[t+14],23,-35309556),i=a(i,r,l,d,e[t+1],4,-1530992060),d=a(d,i,r,l,e[t+4],11,1272893353),l=a(l,d,i,r,e[t+7],16,-155497632),r=a(r,l,d,i,e[t+10],23,-1094730640),i=a(i,r,l,d,e[t+13],4,681279174),d=a(d,i,r,l,e[t],11,-358537222),l=a(l,d,i,r,e[t+3],16,-722521979),r=a(r,l,d,i,e[t+6],23,76029189),i=a(i,r,l,d,e[t+9],4,-640364487),d=a(d,i,r,l,e[t+12],11,-421815835),l=a(l,d,i,r,e[t+15],16,530742520),r=a(r,l,d,i,e[t+2],23,-995338651),i=u(i,r,l,d,e[t],6,-198630844),d=u(d,i,r,l,e[t+7],10,1126891415),l=u(l,d,i,r,e[t+14],15,-1416354905),r=u(r,l,d,i,e[t+5],21,-57434055),i=u(i,r,l,d,e[t+12],6,1700485571),d=u(d,i,r,l,e[t+3],10,-1894986606),l=u(l,d,i,r,e[t+10],15,-1051523),r=u(r,l,d,i,e[t+1],21,-2054922799),i=u(i,r,l,d,e[t+8],6,1873313359),d=u(d,i,r,l,e[t+15],10,-30611744),l=u(l,d,i,r,e[t+6],15,-1560198380),r=u(r,l,d,i,e[t+13],21,1309151649),i=u(i,r,l,d,e[t+4],6,-145523070),d=u(d,i,r,l,e[t+11],10,-1120210379),l=u(l,d,i,r,e[t+2],15,718787259),r=u(r,l,d,i,e[t+9],21,-343485551),i=n(i,p),r=n(r,c),l=n(l,f),d=n(d,g)}return[i,r,l,d]}function p(e,t=r.Hex){let i=t||r.Base64,n=d(function(e){let t=[];for(let i=0,r=8*e.length;i<r;i+=8)t[i>>5]|=(255&e.charCodeAt(i/8))<<i%32;return t}(e),8*e.length);switch(i){case r.Raw:return n;case r.Hex:return function(e){let t="0123456789abcdef",i=[];for(let r=0,n=4*e.length;r<n;r++)i.push(t.charAt(e[r>>2]>>r%4*8+4&15)+t.charAt(e[r>>2]>>r%4*8&15));return i.join("")}(n);case r.String:return function(e){let t=[];for(let i=0,r=32*e.length;i<r;i+=8)t.push(String.fromCharCode(e[i>>5]>>>i%32&255));return t.join("")}(n);case r.Base64:return function(e){let t=[];for(let i=0,r=4*e.length;i<r;i+=3){let r=(e[i>>2]>>i%4*8&255)<<16|(e[i+1>>2]>>(i+1)%4*8&255)<<8|e[i+2>>2]>>(i+2)%4*8&255;for(let n=0;n<4;n++)8*i+6*n>32*e.length?t.push("="):t.push("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(r>>6*(3-n)&63))}return t.join("")}(n)}}i.d(t,["T",0,r])},6455(e,t,i){i.d(t,{FJ:()=>m,Dp:()=>w,KV:()=>v});var r=i(32198),n=i(93637),l=i(91429),s=i(89317),o=i(69540),a=i(7762),u=i(25482),d=i(83960),p=i(13069);const c={write:{overridePolicy:(e,t,i)=>({enabled:!i||"scale"===i.filterMode})}};let f=class extends((0,o.OU)(u.o)){constructor(e){super(e),this.id=(0,p.lk)(),this.maxScale=0,this.minScale=0,this.title="",this.where=null}};(0,r.Cg)([(0,l.MZ)({type:String,json:{write:!0}})],f.prototype,"id",void 0),(0,r.Cg)([(0,l.MZ)({type:Number,json:c})],f.prototype,"maxScale",void 0),(0,r.Cg)([(0,l.MZ)({type:Number,json:c})],f.prototype,"minScale",void 0),(0,r.Cg)([(0,l.MZ)({type:String,json:{write:!0}})],f.prototype,"title",void 0),(0,r.Cg)([(0,l.MZ)({type:String,json:{write:!0}})],f.prototype,"where",void 0),f=(0,r.Cg)([(0,l.$K)("esri.layers.support.DisplayFilter")],f);var g=i(41560),y=i(43937);let h=class extends((0,o.OU)(u.o)){constructor(e){super(e),this.activeFilterId=null,this.filters=new(a.A.ofType(f)),this.mode="manual"}writeFilters(e,t,i,r){let n=e.toArray();"scale"===this.mode&&n.sort((e,t)=>{let i=(0,d.oW)(t.minScale,e.minScale),r=e.maxScale-t.maxScale;return 0===i?r:i}),t[i]=n.map(e=>e.toJSON(r))}write(e,t){return super.write(e,(0,g.mW)(this,t))}};(0,r.Cg)([(0,l.MZ)({type:String,json:{write:{overridePolicy:(e,t,i)=>({enabled:"manual"===i.filterMode,isRequired:!0})}}})],h.prototype,"activeFilterId",void 0),(0,r.Cg)([(0,l.MZ)({type:a.A.ofType(f),nonNullable:!0,json:{write:!0}})],h.prototype,"filters",void 0),(0,r.Cg)([(0,y.K)("filters")],h.prototype,"writeFilters",null),(0,r.Cg)([(0,l.MZ)({type:["manual","scale"],nonNullable:!0,json:{name:"filterMode",write:!0}})],h.prototype,"mode",void 0),h=(0,r.Cg)([(0,l.$K)("esri.layers.support.DisplayFilterInfo")],h);const m=e=>{let t=e,i=class extends t{constructor(){super(...arguments),this.displayFilterEnabled=!0,this.displayFilterInfo=null}};return(0,r.Cg)([(0,l.MZ)(w)],i.prototype,"displayFilterEnabled",void 0),(0,r.Cg)([(0,l.MZ)(v)],i.prototype,"displayFilterInfo",void 0),i=(0,r.Cg)([(0,l.$K)("esri.layers.mixins.DisplayFilteredLayer")],i),i},w={type:Boolean,json:{name:"layerDefinition.disableDisplayFilter",read:{reader:e=>!e},write:{layerContainerTypes:s.K,writer(e,t,i){(0,n.sM)(i,!e,t)}},origins:{"web-scene":{write:!1,read:!1}}}},v={type:h,json:{name:"layerDefinition.displayFilterInfo",write:{enabled:!0,allowNull:!0,layerContainerTypes:s.K},origins:{"web-scene":{write:!1,read:!1}}}}},87718(e,t,i){i.d(t,{F:()=>F,Y:()=>S});var r,n=i(32198),l=i(91429),s=i(49186),o=i(25482),a=i(93637),u=i(76369),d=i(66552),p=i(4718),c=i(50498),f=i(97552),g=i(79677);const y=new d.J({esriSpatialRelIntersects:"intersects",esriSpatialRelContains:"contains",esriSpatialRelCrosses:"crosses",esriSpatialRelDisjoint:"disjoint",esriSpatialRelEnvelopeIntersects:"envelope-intersects",esriSpatialRelIndexIntersects:"index-intersects",esriSpatialRelOverlaps:"overlaps",esriSpatialRelTouches:"touches",esriSpatialRelWithin:"within",esriSpatialRelRelation:"relation"}),h=new d.J({esriSRUnit_Meter:"meters",esriSRUnit_Kilometer:"kilometers",esriSRUnit_Foot:"feet",esriSRUnit_StatuteMile:"miles",esriSRUnit_NauticalMile:"nautical-miles",esriSRUnit_USNauticalMile:"us-nautical-miles"});let m=r=class extends o.o{constructor(e){super(e),this.where=null,this.geometry=null,this.spatialRelationship="intersects",this.distance=void 0,this.objectIds=null,this.units=null,this.timeExtent=null}createQuery(e={}){let{where:t,geometry:i,spatialRelationship:r,timeExtent:n,objectIds:l,units:s,distance:o}=this;return new f.A({geometry:(0,p.o8)(i),objectIds:(0,p.o8)(l),spatialRelationship:r,timeExtent:(0,p.o8)(n),where:t,units:s,distance:o,...e})}clone(){let{where:e,geometry:t,spatialRelationship:i,timeExtent:n,objectIds:l,units:s,distance:o}=this;return new r({geometry:(0,p.o8)(t),objectIds:(0,p.o8)(l),spatialRelationship:i,timeExtent:(0,p.o8)(n),where:e,units:s,distance:o})}};(0,n.Cg)([(0,l.MZ)({type:String,json:{write:!0}})],m.prototype,"where",void 0),(0,n.Cg)([(0,l.MZ)({types:c.yR,json:{write:!0}})],m.prototype,"geometry",void 0),(0,n.Cg)([(0,l.MZ)({type:y.apiValues,json:{name:"spatialRel",read:{reader:y.read},write:{allowNull:!1,writer:y.write,overridePolicy(){return{enabled:null!=this.geometry}}}}})],m.prototype,"spatialRelationship",void 0),(0,n.Cg)([(0,l.MZ)({type:Number,json:{write:{overridePolicy(e){return{enabled:null!=e&&null!=this.geometry}}}}})],m.prototype,"distance",void 0),(0,n.Cg)([(0,l.MZ)({json:{write:!0}})],m.prototype,"objectIds",void 0),(0,n.Cg)([(0,l.MZ)({type:h.apiValues,json:{read:h.read,write:{writer:h.write,overridePolicy(e){return{enabled:null!=e&&null!=this.geometry}}}}})],m.prototype,"units",void 0),(0,n.Cg)([(0,l.MZ)({type:g.A,json:{write:!0}})],m.prototype,"timeExtent",void 0),m=r=(0,n.Cg)([(0,l.$K)("esri.layers.support.FeatureFilter")],m);const w=m;var v;const b={read:{reader:u.LF},write:{writer:u.M9,overridePolicy(){return{allowNull:null!=this.excludedEffect,isRequired:null==this.excludedEffect}}}},C={read:{reader:u.LF},write:{writer:u.M9,overridePolicy(){return{allowNull:null!=this.includedEffect,isRequired:null==this.includedEffect}}}},M={name:"showExcludedLabels",default:!0};let x=v=class extends o.o{constructor(e){super(e),this.filter=null,this.includedEffect=null,this.excludedEffect=null,this.excludedLabelsVisible=!1}write(e,t){let i=super.write(e,t);if(t?.origin){if(i.filter){let e=Object.keys(i.filter);if(e.length>1||"where"!==e[0])return t.messages?.push(new s.A("web-document-write:unsupported-feature-effect","Invalid feature effect 'filter'. A filter can only contain a 'where' property",{layer:t.layer,effect:this})),null}if("showExcludedLabels"in i)return t.messages?.push(new s.A("web-document-write:unsupported-feature-effect","Invalid value for property 'excludedLabelsVisible' which should always be 'true'",{layer:t.layer,effect:this})),null}return i}clone(){return new v({filter:null==this.filter?null:this.filter.clone(),includedEffect:this.includedEffect,excludedEffect:this.excludedEffect,excludedLabelsVisible:this.excludedLabelsVisible})}};(0,n.Cg)([(0,l.MZ)({type:w,json:{write:{allowNull:!0,writer(e,t,i,r){let n=e?.write({},r);n&&0!==Object.keys(n).length?(0,a.sM)(i,n,t):(0,a.sM)(i,null,t)}}}})],x.prototype,"filter",void 0),(0,n.Cg)([(0,l.MZ)({json:{read:u.LF,write:{writer:u.M9,allowNull:!0},origins:{"web-map":b,"portal-item":b}}})],x.prototype,"includedEffect",void 0),(0,n.Cg)([(0,l.MZ)({json:{read:u.LF,write:{writer:u.M9,allowNull:!0},origins:{"web-map":C,"portal-item":C}}})],x.prototype,"excludedEffect",void 0),(0,n.Cg)([(0,l.MZ)({type:Boolean,json:{write:!0,name:"showExcludedLabels",origins:{"web-map":M,"portal-item":M}}})],x.prototype,"excludedLabelsVisible",void 0),x=v=(0,n.Cg)([(0,l.$K)("esri.layers.support.FeatureEffect")],x);const R={write:{allowNull:!0}},S={type:x,json:{origins:{"web-map":R,"portal-item":R}}},F=e=>{let t=e,i=class extends t{constructor(){super(...arguments),this.featureEffect=null}};return(0,n.Cg)([(0,l.MZ)(S)],i.prototype,"featureEffect",void 0),i=(0,n.Cg)([(0,l.$K)("esri.layers.mixins.FeatureEffectLayer")],i),i}},56658(e,t,i){i.d(t,{J:()=>_});var r=i(32198),n=i(36708),l=i(91429),s=i(41910),o=i(60950),a=i(99959);class u extends a.A{constructor(e){super(),this.type="aggregate",this.featureReductionProvider=e}get id(){return this.featureReductionProvider.id}get[o.ym](){let e=this.featureReductionProvider.featureReduction;return e&&"popupTemplate"in e?e:null}get[s.e7](){return this.featureReductionProvider}}var d=i(50820),p=i(20569),c=i(77548),f=i(96576),g=i(48940),y=i(12330),h=i(49186),m=i(44208),w=i(53966),v=i(80200),b=i(39767),C=i(30943),M=i(53930);m.A.add("esri-cluster-arcade-enabled",!0);const x=(0,m.A)("esri-cluster-arcade-enabled"),R=new Set(["simple-line","simple-fill","picture-fill"]);function S(e,t){let i=t.clone();if(!F(i))return i;if(t.symbols.some(e=>R.has(e.type))&&(i=new f.A({symbol:new M.A})),i.authoringInfo||(i.authoringInfo=new C.A),i.authoringInfo.isAutoGenerated=!0,"visualVariables"in i){let t=(i.visualVariables||[]).filter(e=>"$view.scale"!==e.valueExpression);t.forEach(t=>{"rotation"===t.type?t.field?t.field=Z(e,t.field,"avg_angle","number"):t.valueExpression&&=(t.field=j(e,t.valueExpression,"avg_angle","number"),null):t.normalizationField?(t.field=Z(e,t.field,"avg_norm","number",t.normalizationField),t.normalizationField=null):t.field?t.field=Z(e,t.field,"avg","number"):t.valueExpression&&=(t.field=j(e,t.valueExpression,"avg","number"),null)}),i.visualVariables=t}switch(i.type){case"simple":break;case"pie-chart":for(let t of i.attributes)t.field?t.field=Z(e,t.field,"sum","number"):t.valueExpression&&=(t.field=j(e,t.valueExpression,"sum","number"),null);break;case"unique-value":i.field?i.field=Z(e,i.field,"mode","string"):i.valueExpression&&(i.field=j(e,i.valueExpression,"mode","string"),i.valueExpression=null);break;case"class-breaks":i.normalizationField?(i.field=Z(e,i.field,"avg_norm","number",i.normalizationField),i.normalizationField=null):i.field?i.field=Z(e,i.field,"avg","number"):i.valueExpression&&(i.field=j(e,i.valueExpression,"avg","number"),i.valueExpression=null)}return i}const F=e=>{let t=t=>w.A.getLogger("esri.views.2d.layers.support.clusterUtils").error(new h.A("Unsupported-renderer",t,{renderer:e}));if(!e)return!1;switch(e.type){case"unique-value":if(e.field2||e.field3)return t("FeatureReductionCluster does not support multi-field UniqueValueRenderers"),!1;break;case"class-breaks":if(e.normalizationField){let i=e.normalizationType;if("field"!==i)return t(`FeatureReductionCluster does not support a normalizationType of ${i}`),!1}break;case"simple":case"pie-chart":break;default:return t(`FeatureReductionCluster does not support renderers of type ${e.type}`),!1}if(!x){if("valueExpression"in e&&e.valueExpression)return t("FeatureReductionCluster does not currently support renderer.valueExpression. Support will be added in a future release"),!1;if(("visualVariables"in e&&e.visualVariables||[]).some(e=>!(!("valueExpression"in e)||!e.valueExpression)))return t("FeatureReductionCluster does not currently support visualVariables with a valueExpression. Support will be added in a future release"),!1}return!0};function j(e,t,i,r){let n=(0,v.d)(t),l="mode"===i?`cluster_type_${n}`:"sum"===i?`cluster_sum_${n}`:`cluster_avg_${n}`;return e.some(e=>e.name===l)||e.push(new d.A({name:l,isAutoGenerated:!0,onStatisticExpression:new b.A({expression:t,returnType:r}),statisticType:i})),l}function Z(e,t,i,r,n){if("cluster_count"===t||e.some(e=>e.name===t))return t;let l=function(e,t,i){switch(e){case"sum":return`cluster_sum_${t}`;case"avg":case"avg_angle":return`cluster_avg_${t}`;case"mode":return`cluster_type_${t}`;case"avg_norm":{let e=i,r=t.toLowerCase()+",norm:field,"+e.toLowerCase();return"cluster_avg_"+(0,v.d)(r)}}}(i,t,n);return e.some(e=>e.name===l)||("avg_norm"===i?e.push(new d.A({name:l,isAutoGenerated:!0,onStatisticExpression:new b.A({expression:`$feature.${t} / $feature.${n}`,returnType:r}),statisticType:"avg"})):e.push(new d.A({name:l,isAutoGenerated:!0,onStatisticField:t,statisticType:i}))),l}const _=e=>{let t=e,i=class extends t{constructor(...e){super(...e),this.aggregateGraphicOrigin=new u(this),this.addHandles([(0,n.wB)(()=>this.renderer,()=>{this.featureReduction&&this._setFeatureReduction(this.featureReduction)},n.OH),(0,n.wB)(()=>[this.loaded],()=>{this.loaded&&this._setLayerReference(this.featureReduction,this)})])}set featureReduction(e){this._setFeatureReduction(e)}set renderer(e){}_withClusterVariable(e,t,i){let r=e.clone();return"visualVariables"in r&&(r.visualVariables||=[],r.visualVariables.some(e=>"size"===e.type)||r.visualVariables.push(new g.A({field:"cluster_count",stops:[new y.A({value:1}),new y.A({useMinValue:!0,size:t}),new y.A({useMaxValue:!0,size:i})]}))),r}_normalizeFeatureReduction(e){if("cluster"!==e?.type)return e;let t=e.clone(),i=[new d.A({name:"cluster_count",alias:"cluster_count",isAutoGenerated:!0,statisticType:"count"})],r=(t.fields??[]).filter(e=>!e.isAutoGenerated),n=e.renderer&&!e.renderer.authoringInfo?.isAutoGenerated,{clusterMinSize:l,clusterMaxSize:s}=t;if(n){t.fields=[...i,...r];let e=this._withClusterVariable(t.renderer,l,s);return t.effectiveFeatureRenderer=e,t.effectiveClusterRenderer=e,t}if(e.symbol){if(t.fields=[...i,...r],t.renderer=null,!this.renderer)return t.effectiveFeatureRenderer=null,t.effectiveClusterRenderer=null,t;let n=S(i,this.renderer),o=this._withClusterVariable(n,l,s),a="visualVariables"in o&&o.visualVariables?o.visualVariables:[],u=new f.A({symbol:e.symbol,visualVariables:a});return t.fields=[...i,...r],t.effectiveFeatureRenderer=o,t.effectiveClusterRenderer=u,t}if(!this.renderer)return e;let o=S(i,this.renderer);t.fields=[...i,...r],t.renderer=o;let a=this._withClusterVariable(o,l,s);return t.effectiveFeatureRenderer=a,t.effectiveClusterRenderer=a,t}_setFeatureReduction(e){let t=this._get("featureReduction");this._setLayerReference(t,null);let i=this._normalizeFeatureReduction(e);this._setLayerReference(i,this),this._set("featureReduction",i)}_setLayerReference(e,t){e&&"layer"in e&&(e.layer=(0,c.jy)(t)&&(0,c.Qi)(t)?t:null)}};return(0,r.Cg)([(0,l.MZ)({readOnly:!0,clonable:!1})],i.prototype,"aggregateGraphicOrigin",void 0),(0,r.Cg)([(0,l.MZ)(p.d)],i.prototype,"featureReduction",null),i=(0,r.Cg)([(0,l.$K)("esri.layers.mixins.FeatureReductionLayer")],i),i}},50820(e,t,i){i.d(t,{A:()=>d});var r,n=i(32198),l=i(25482),s=i(4718),o=i(91429),a=i(39767),u=i(30524);let d=class extends l.o{static{r=this}constructor(e){super(e),this.isAutoGenerated=!1,this.name=null,this.alias=null,this.onStatisticField=null,this.onStatisticExpression=null,this.statisticType=null}get type(){return this.layer?(0,u.e7)(this,this.layer.fieldsIndex):null}clone(){return new r({name:this.name,alias:this.alias,isAutoGenerated:this.isAutoGenerated,onStatisticExpression:(0,s.o8)(this.onStatisticExpression),onStatisticField:this.onStatisticField,statisticType:this.statisticType})}};(0,n.Cg)([(0,o.MZ)({type:Boolean,json:{write:!0}})],d.prototype,"isAutoGenerated",void 0),(0,n.Cg)([(0,o.MZ)({clonable:!1})],d.prototype,"layer",void 0),(0,n.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],d.prototype,"name",void 0),(0,n.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],d.prototype,"alias",void 0),(0,n.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],d.prototype,"onStatisticField",void 0),(0,n.Cg)([(0,o.MZ)({type:a.A,json:{write:!0}})],d.prototype,"onStatisticExpression",void 0),(0,n.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],d.prototype,"statisticType",void 0),(0,n.Cg)([(0,o.MZ)({readOnly:!0,clonable:!1,json:{read:!1}})],d.prototype,"type",null),d=r=(0,n.Cg)([(0,o.$K)("esri.layers.support.AggregateField")],d)},39767(e,t,i){i.d(t,{A:()=>o});var r=i(32198),n=i(69540),l=i(25482),s=i(91429);let o=class extends((0,n.OU)(l.o)){constructor(e){super(e),this.expression=null,this.title=null,this.returnType=null}};(0,r.Cg)([(0,s.MZ)({type:String,json:{write:!0}})],o.prototype,"expression",void 0),(0,r.Cg)([(0,s.MZ)({type:String,json:{write:!0}})],o.prototype,"title",void 0),(0,r.Cg)([(0,s.MZ)({type:String,json:{write:!0}})],o.prototype,"returnType",void 0),o=(0,r.Cg)([(0,s.$K)("esri.layers.support.ExpressionInfo")],o)},67202(e,t,i){i.d(t,{A:()=>o});var r,n=i(32198),l=i(25482),s=i(91429);let o=r=class extends l.o{constructor(e){super(e),this.type="selection"}clone(){return new r}};(0,n.Cg)([(0,s.MZ)({type:["selection"],readOnly:!0,json:{write:!0}})],o.prototype,"type",void 0),o=r=(0,n.Cg)([(0,s.$K)("esri.layers.support.FeatureReductionSelection")],o)},30279(e,t,i){i.d(t,{A:()=>u});var r=i(32198),n=i(69540),l=i(25482),s=i(10107),o=i(64108),a=i(39663);let u=class extends((0,n.OU)(l.o)){constructor(e){super(e),this.alias=null,this.name=void 0,this.fieldFormat=null}};(0,r.Cg)([(0,s.MZ)({type:String,json:{write:!0}})],u.prototype,"alias",void 0),(0,r.Cg)([(0,s.MZ)({type:String,nonNullable:!0,json:{write:{isRequired:!0}}})],u.prototype,"name",void 0),(0,r.Cg)([(0,s.MZ)({types:a.fg,json:{write:!0}})],u.prototype,"fieldFormat",void 0),u=(0,r.Cg)([(0,o.$)("esri.layers.support.FieldConfiguration")],u)},20569(e,t,i){i.d(t,{d:()=>D});var r=i(89317),n=i(32198),l=i(69540),s=i(25482),o=i(4718),a=i(90629),u=i(91429),d=i(78888),p=i(15426),c=i(37838),f=i(93637),g=i(50820),y=i(30524);class h{constructor(e){this._fieldsMap=new Map,this._normalizedFieldsMap=new Map,this.fields=e;let t=[];for(let e of this.fields){let i=e?.name,r=(0,y.GZ)(i);if(i&&r){let n=(0,y.NF)(i);this._fieldsMap.set(i,e),this._fieldsMap.set(n,e),this._normalizedFieldsMap.set(r,e),t.push(`${n}:${e.type||""}`)}}t.sort(),this.uid=t.join()}equals(e){return this.uid===e?.uid}get(e){return(0,y.Vb)({fieldName:e,fieldsMap:this._fieldsMap,normalizedFieldsMap:this._normalizedFieldsMap})}}var m=i(10873),w=i(30279),v=i(16194),b=i(46499),C=i(77548),M=i(41214);function x(){return{type:[w.A],clonable:!1,json:{name:"fieldConfigurations",write:{overridePolicy(e){return{enabled:(0,C.jy)(this.layer),ignoreOrigin:!0}}}},set:function(e){if(this._override("fieldConfigurations",e),!this.layer?.loaded)return;let t=(0,v.sS)(this,e);t&&this._set("popupTemplate",t)},get:function(){return this._isOverridden("fieldConfigurations")?this._get("fieldConfigurations"):this.layer?.loaded?(0,v.QX)(this)||null:void 0}}}function R(){return{type:[g.A],value:[],json:{write:{ignoreOrigin:!0,writer(e,t,i){let r=e.filter(e=>"avg_angle"!==e.statisticType).map(e=>e.toJSON());(0,f.sM)(i,r,t)}}},set:function(e){O(this._get("fields"),null),O(e,this.layer),this._set("fields",e)}}}function S(){return{readOnly:!0,get:function(){return new h(this.fields)}}}function F(){return{type:[b.A],json:{read:{source:"drawingInfo.labelingInfo"},write:{target:"drawingInfo.labelingInfo",ignoreOrigin:!0}}}}function j(){return V((0,o.o8)(m.kF))}function Z(){return{clonable:!1,set:function(e){O(this.fields,e),this._set("layer",e)}}}function _(){return{type:Number,json:{default:0,name:"visibilityInfo.maxScale",write:{ignoreOrigin:!0}}}}function A(){return V((0,o.o8)(m.M6))}function E(){return{type:c.A,json:{name:"popupInfo",write:{ignoreOrigin:!0,writer(e,t,i,r){e&&(t[i]=e.toJSON({...r,writeFieldFormat:(0,C.jy)(this.layer)}))}}}}}function I(){return{types:M.Hg,json:{write:{target:"drawingInfo.renderer",ignoreOrigin:!0}}}}function O(e,t){e?.forEach(e=>{e.layer=t})}function V(e){let t=e.json;t||=e.json={};let i=t.write;return("object"!=typeof i||!i)&&(i=t.write={}),i.ignoreOrigin=!0,e}var T=i(65494),z=i(93223),L=i(36005);let N=class extends((0,s.T)(l.Pw)){constructor(e){super(e),this.type="binning",this.binType="geohash",this.fixedBinLevel=null,this.labelingInfo=null,this.labelsVisible=!0,this.maxScale=0,this.popupEnabled=!0,this.popupTemplate=null,this.size=(0,a.cr)("12px"),this.fields=[],this.renderer=null}readRenderer(e,t,i){let r=t.drawingInfo?.renderer;return r?(0,T.L)(r,t,i)??void 0:(0,p.PD)(t,i)}clone(){let e=super.clone();return this._isOverridden("fieldConfigurations")&&(e.fieldConfigurations=(0,o.o8)(this.fieldConfigurations)),e}getField(e){return this.fieldsIndex.get(e)}getFieldAlias(e){let t=this.getField(e);if(t)return this.getFieldConfiguration(t.name)?.alias||t.alias}getFieldConfiguration(e){return e=e.toLowerCase(),this.fieldConfigurations?.find(t=>t.name.toLowerCase()===e)}};(0,n.Cg)([(0,u.MZ)({type:["binning"],readOnly:!0,json:{read:!1,write:{ignoreOrigin:!0}}})],N.prototype,"type",void 0),(0,n.Cg)([(0,z.e)({geohash:"geohash",square:"square"}),(0,u.MZ)({type:["geohash","square"],json:{write:{ignoreOrigin:!0}}})],N.prototype,"binType",void 0),(0,n.Cg)([(0,u.MZ)({type:Number,json:{write:{ignoreOrigin:!0}}})],N.prototype,"fixedBinLevel",void 0),(0,n.Cg)([(0,u.MZ)(F())],N.prototype,"labelingInfo",void 0),(0,n.Cg)([(0,u.MZ)(j())],N.prototype,"labelsVisible",void 0),(0,n.Cg)([(0,u.MZ)(Z())],N.prototype,"layer",void 0),(0,n.Cg)([(0,u.MZ)(_())],N.prototype,"maxScale",void 0),(0,n.Cg)([(0,u.MZ)(A())],N.prototype,"popupEnabled",void 0),(0,n.Cg)([(0,u.MZ)(E())],N.prototype,"popupTemplate",void 0),(0,n.Cg)([(0,u.MZ)({cast:e=>"auto"===e?e:(0,d.GB)((0,a.cr)(e))})],N.prototype,"size",void 0),(0,n.Cg)([(0,u.MZ)(x())],N.prototype,"fieldConfigurations",void 0),(0,n.Cg)([(0,u.MZ)(R())],N.prototype,"fields",void 0),(0,n.Cg)([(0,u.MZ)(S())],N.prototype,"fieldsIndex",void 0),(0,n.Cg)([(0,u.MZ)(I())],N.prototype,"renderer",void 0),(0,n.Cg)([(0,L.w)("renderer",["drawingInfo.renderer"])],N.prototype,"readRenderer",null),N=(0,n.Cg)([(0,u.$K)("esri.layers.support.FeatureReductionBinning")],N);var $=i(96576),K=i(33910),k=i(43937);function G(e){return"simple"===e.type&&!e.visualVariables?.length}let P=class extends((0,s.T)(l.Pw)){constructor(e){super(e),this.type="cluster",this.maxScale=0,this.popupEnabled=!0,this.popupTemplate=null,this.renderer=null,this.symbol=null,this.labelingInfo=null,this.labelsVisible=!0,this.fields=[]}get clusterRadius(){return this._get("clusterRadius")??(0,a.cr)("80px")}set clusterRadius(e){this._set("clusterRadius",e)}get clusterMinSize(){return this._get("clusterMinSize")??(0,a.cr)("12px")}set clusterMinSize(e){this._set("clusterMinSize",e)}get clusterMaxSize(){return this._get("clusterMaxSize")??(0,a.cr)("50px")}set clusterMaxSize(e){this._set("clusterMaxSize",e)}readRenderer(e,t,i){let r=t.drawingInfo?.renderer;return r?.authoringInfo?.isAutoGenerated?null:r?G(r)?null:(0,T.L)(r,t,i)??void 0:(0,p.PD)(t,i)}readSymbol(e,t,i){let r=t.drawingInfo?.renderer;return r?.authoringInfo?.isAutoGenerated?null:r&&G(r)?(0,T.L)(r,t,i)?.symbol:null}writeSymbol(e,t,i,r){let n=this.renderer?.authoringInfo?.isAutoGenerated;(!this.renderer||n)&&(t.drawingInfo={renderer:new $.A({symbol:e}).write({},r)})}readFields(e,t,i){return e.filter(e=>!e.isAutoGenerated).map(e=>g.A.fromJSON(e))}clone(){let e=super.clone();return this._isOverridden("fieldConfigurations")&&(e.fieldConfigurations=(0,o.o8)(this.fieldConfigurations)),e}getField(e){return this.fieldsIndex.get(e)}getFieldAlias(e){let t=this.getField(e);if(t)return this.getFieldConfiguration(t.name)?.alias||t.alias}getFieldConfiguration(e){return e=e.toLowerCase(),this.fieldConfigurations?.find(t=>t.name.toLowerCase()===e)}};(0,n.Cg)([(0,u.MZ)({type:["cluster"],readOnly:!0,json:{read:!1,write:{ignoreOrigin:!0}}})],P.prototype,"type",void 0),(0,n.Cg)([(0,u.MZ)({cast:a.cr,json:{write:{ignoreOrigin:!0}}})],P.prototype,"clusterRadius",null),(0,n.Cg)([(0,u.MZ)({type:Number,cast:a.cr,json:{write:{ignoreOrigin:!0}}})],P.prototype,"clusterMinSize",null),(0,n.Cg)([(0,u.MZ)({type:Number,cast:a.cr,json:{write:{ignoreOrigin:!0}}})],P.prototype,"clusterMaxSize",null),(0,n.Cg)([(0,u.MZ)(_())],P.prototype,"maxScale",void 0),(0,n.Cg)([(0,u.MZ)(A())],P.prototype,"popupEnabled",void 0),(0,n.Cg)([(0,u.MZ)(E())],P.prototype,"popupTemplate",void 0),(0,n.Cg)([(0,u.MZ)(I())],P.prototype,"renderer",void 0),(0,n.Cg)([(0,L.w)("renderer",["drawingInfo.renderer"])],P.prototype,"readRenderer",null),(0,n.Cg)([(0,u.MZ)({types:K.q8,json:{write:{ignoreOrigin:!0}}})],P.prototype,"symbol",void 0),(0,n.Cg)([(0,L.w)("symbol",["drawingInfo.renderer"])],P.prototype,"readSymbol",null),(0,n.Cg)([(0,k.K)("symbol")],P.prototype,"writeSymbol",null),(0,n.Cg)([(0,u.MZ)(F())],P.prototype,"labelingInfo",void 0),(0,n.Cg)([(0,u.MZ)(j())],P.prototype,"labelsVisible",void 0),(0,n.Cg)([(0,u.MZ)(Z())],P.prototype,"layer",void 0),(0,n.Cg)([(0,u.MZ)(x())],P.prototype,"fieldConfigurations",void 0),(0,n.Cg)([(0,u.MZ)(R())],P.prototype,"fields",void 0),(0,n.Cg)([(0,L.w)("fields")],P.prototype,"readFields",null),(0,n.Cg)([(0,u.MZ)(S())],P.prototype,"fieldsIndex",void 0),P=(0,n.Cg)([(0,u.$K)("esri.layers.support.FeatureReductionCluster")],P);var q=i(67202);const U={key:"type",base:null,typeMap:{selection:q.A}},B={key:"type",base:null,typeMap:{cluster:P,binning:N}},D={types:{key:"type",base:null,typeMap:{selection:q.A,cluster:P,binning:N}},json:{name:"layerDefinition.featureReduction",write:{allowNull:!0},origins:{"web-map":{types:B},"portal-item":{types:B},"web-scene":{types:U,name:"layerDefinition.featureReduction",write:{allowNull:!0,layerContainerTypes:r.K}}}}}},16194(e,t,i){i.d(t,{QX:()=>a,sS:()=>d,xY:()=>u});var r=i(4718),n=i(30279),l=i(39663),s=i(30524),o=i(41227);function a(e){let{popupTemplate:t,fieldsIndex:i}=e,r=t?.fieldInfos;if(!r?.length||!i)return;let s=[];for(let e of r){let{fieldName:t,label:r}=e,o=i.get(t);if(!o)continue;let a=r&&r!==o.alias?r:null,u=(0,l.iu)(e,o);(a||u)&&s.push(new n.A({name:o.name,alias:a,fieldFormat:u}))}return s.length?s:null}function u(e){let{fields:t}=e;if(!t?.length)return;let i=[];for(let e of t){let t=(0,l.qH)(e)?(0,l.$P)(e):null;t&&i.push(new n.A({name:e.name,fieldFormat:t}))}return i.length?i:null}function d(e,t){let{popupTemplate:i,fieldsIndex:n}=e;if(!i||!n)return;let s=function(e,t,i){t??=[],i=(0,r.o8)(i)??[];let n=!1,s=new Map;for(let i of t){let t=e.fieldsIndex.get(i.name);t&&s.set(t.name,i)}for(let t of i){let i=e.fieldsIndex.get(t.fieldName);if(!i)continue;let r=s.get(i.name);t.label=r?.alias||i.alias,t.format=(0,l.qH)(i)&&r?.fieldFormat?(0,l.PK)(r.fieldFormat,i):null,n=!0,s.delete(i.name)}for(let t of s.values()){let r=p(e,t);r&&(i.push(r),n=!0)}return n?i:null}(e,t,i.fieldInfos);if(!s)return;let o=i.clone();return o.fieldInfos=s,o}function p(e,t){let{name:i,alias:r,fieldFormat:n}=t,a=e.fieldsIndex.get(i);if(!a||!r&&!n)return;let u=r||a.alias,d=(0,l.qH)(a)&&n?(0,l.PK)(n,a):null;return new o.A({fieldName:a.name,label:u,format:d,visible:!1,isEditable:(0,s.R$)(a,e)})}},65494(e,t,i){i.d(t,{L:()=>a,r:()=>s});var r=i(90360),n=i(41214),l=i(59923);function s(e,t){return a(e,null,t)}const o=(0,r.C)({types:n.Hg});function a(e,t,i){return e?e&&(e.styleName||e.styleUrl)&&"uniqueValue"!==e.type?((0,l.Yc)(i,"warning","renderer",`Only UniqueValueRenderer can be referenced from a web style, but found '${e.type}'`,{definition:e}),null):o(e,t,i):null}}}]);
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[6263],{80200(e,t,i){i.d(t,{d:()=>p});const r={Base64:0,Hex:1,String:2,Raw:3};function n(e,t){let i=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(i>>16)<<16|65535&i}function l(e,t,i,r,l,s){return n(function(e,t){return e<<t|e>>>32-t}(n(n(t,e),n(r,s)),l),i)}function s(e,t,i,r,n,s,o){return l(t&i|~t&r,e,t,n,s,o)}function o(e,t,i,r,n,s,o){return l(t&r|i&~r,e,t,n,s,o)}function a(e,t,i,r,n,s,o){return l(t^i^r,e,t,n,s,o)}function u(e,t,i,r,n,s,o){return l(i^(t|~r),e,t,n,s,o)}function d(e,t){e[t>>5]|=128<<t%32,e[14+(t+64>>>9<<4)]=t;let i=1732584193,r=-271733879,l=-1732584194,d=271733878;for(let t=0;t<e.length;t+=16){let p=i,c=r,f=l,g=d;i=s(i,r,l,d,e[t],7,-680876936),d=s(d,i,r,l,e[t+1],12,-389564586),l=s(l,d,i,r,e[t+2],17,606105819),r=s(r,l,d,i,e[t+3],22,-1044525330),i=s(i,r,l,d,e[t+4],7,-176418897),d=s(d,i,r,l,e[t+5],12,1200080426),l=s(l,d,i,r,e[t+6],17,-1473231341),r=s(r,l,d,i,e[t+7],22,-45705983),i=s(i,r,l,d,e[t+8],7,1770035416),d=s(d,i,r,l,e[t+9],12,-1958414417),l=s(l,d,i,r,e[t+10],17,-42063),r=s(r,l,d,i,e[t+11],22,-1990404162),i=s(i,r,l,d,e[t+12],7,1804603682),d=s(d,i,r,l,e[t+13],12,-40341101),l=s(l,d,i,r,e[t+14],17,-1502002290),r=s(r,l,d,i,e[t+15],22,1236535329),i=o(i,r,l,d,e[t+1],5,-165796510),d=o(d,i,r,l,e[t+6],9,-1069501632),l=o(l,d,i,r,e[t+11],14,643717713),r=o(r,l,d,i,e[t],20,-373897302),i=o(i,r,l,d,e[t+5],5,-701558691),d=o(d,i,r,l,e[t+10],9,38016083),l=o(l,d,i,r,e[t+15],14,-660478335),r=o(r,l,d,i,e[t+4],20,-405537848),i=o(i,r,l,d,e[t+9],5,568446438),d=o(d,i,r,l,e[t+14],9,-1019803690),l=o(l,d,i,r,e[t+3],14,-187363961),r=o(r,l,d,i,e[t+8],20,1163531501),i=o(i,r,l,d,e[t+13],5,-1444681467),d=o(d,i,r,l,e[t+2],9,-51403784),l=o(l,d,i,r,e[t+7],14,1735328473),r=o(r,l,d,i,e[t+12],20,-1926607734),i=a(i,r,l,d,e[t+5],4,-378558),d=a(d,i,r,l,e[t+8],11,-2022574463),l=a(l,d,i,r,e[t+11],16,1839030562),r=a(r,l,d,i,e[t+14],23,-35309556),i=a(i,r,l,d,e[t+1],4,-1530992060),d=a(d,i,r,l,e[t+4],11,1272893353),l=a(l,d,i,r,e[t+7],16,-155497632),r=a(r,l,d,i,e[t+10],23,-1094730640),i=a(i,r,l,d,e[t+13],4,681279174),d=a(d,i,r,l,e[t],11,-358537222),l=a(l,d,i,r,e[t+3],16,-722521979),r=a(r,l,d,i,e[t+6],23,76029189),i=a(i,r,l,d,e[t+9],4,-640364487),d=a(d,i,r,l,e[t+12],11,-421815835),l=a(l,d,i,r,e[t+15],16,530742520),r=a(r,l,d,i,e[t+2],23,-995338651),i=u(i,r,l,d,e[t],6,-198630844),d=u(d,i,r,l,e[t+7],10,1126891415),l=u(l,d,i,r,e[t+14],15,-1416354905),r=u(r,l,d,i,e[t+5],21,-57434055),i=u(i,r,l,d,e[t+12],6,1700485571),d=u(d,i,r,l,e[t+3],10,-1894986606),l=u(l,d,i,r,e[t+10],15,-1051523),r=u(r,l,d,i,e[t+1],21,-2054922799),i=u(i,r,l,d,e[t+8],6,1873313359),d=u(d,i,r,l,e[t+15],10,-30611744),l=u(l,d,i,r,e[t+6],15,-1560198380),r=u(r,l,d,i,e[t+13],21,1309151649),i=u(i,r,l,d,e[t+4],6,-145523070),d=u(d,i,r,l,e[t+11],10,-1120210379),l=u(l,d,i,r,e[t+2],15,718787259),r=u(r,l,d,i,e[t+9],21,-343485551),i=n(i,p),r=n(r,c),l=n(l,f),d=n(d,g)}return[i,r,l,d]}function p(e,t=r.Hex){let i=t||r.Base64,n=d(function(e){let t=[];for(let i=0,r=8*e.length;i<r;i+=8)t[i>>5]|=(255&e.charCodeAt(i/8))<<i%32;return t}(e),8*e.length);switch(i){case r.Raw:return n;case r.Hex:return function(e){let t="0123456789abcdef",i=[];for(let r=0,n=4*e.length;r<n;r++)i.push(t.charAt(e[r>>2]>>r%4*8+4&15)+t.charAt(e[r>>2]>>r%4*8&15));return i.join("")}(n);case r.String:return function(e){let t=[];for(let i=0,r=32*e.length;i<r;i+=8)t.push(String.fromCharCode(e[i>>5]>>>i%32&255));return t.join("")}(n);case r.Base64:return function(e){let t=[];for(let i=0,r=4*e.length;i<r;i+=3){let r=(e[i>>2]>>i%4*8&255)<<16|(e[i+1>>2]>>(i+1)%4*8&255)<<8|e[i+2>>2]>>(i+2)%4*8&255;for(let n=0;n<4;n++)8*i+6*n>32*e.length?t.push("="):t.push("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(r>>6*(3-n)&63))}return t.join("")}(n)}}i.d(t,["T",0,r])},6455(e,t,i){i.d(t,{FJ:()=>m,Dp:()=>w,KV:()=>v});var r=i(32198),n=i(93637),l=i(91429),s=i(89317),o=i(69540),a=i(7762),u=i(25482),d=i(83960),p=i(13069);const c={write:{overridePolicy:(e,t,i)=>({enabled:!i||"scale"===i.filterMode})}};let f=class extends((0,o.OU)(u.o)){constructor(e){super(e),this.id=(0,p.lk)(),this.maxScale=0,this.minScale=0,this.title="",this.where=null}};(0,r.Cg)([(0,l.MZ)({type:String,json:{write:!0}})],f.prototype,"id",void 0),(0,r.Cg)([(0,l.MZ)({type:Number,json:c})],f.prototype,"maxScale",void 0),(0,r.Cg)([(0,l.MZ)({type:Number,json:c})],f.prototype,"minScale",void 0),(0,r.Cg)([(0,l.MZ)({type:String,json:{write:!0}})],f.prototype,"title",void 0),(0,r.Cg)([(0,l.MZ)({type:String,json:{write:!0}})],f.prototype,"where",void 0),f=(0,r.Cg)([(0,l.$K)("esri.layers.support.DisplayFilter")],f);var g=i(41560),y=i(43937);let h=class extends((0,o.OU)(u.o)){constructor(e){super(e),this.activeFilterId=null,this.filters=new(a.A.ofType(f)),this.mode="manual"}writeFilters(e,t,i,r){let n=e.toArray();"scale"===this.mode&&n.sort((e,t)=>{let i=(0,d.oW)(t.minScale,e.minScale),r=e.maxScale-t.maxScale;return 0===i?r:i}),t[i]=n.map(e=>e.toJSON(r))}write(e,t){return super.write(e,(0,g.mW)(this,t))}};(0,r.Cg)([(0,l.MZ)({type:String,json:{write:{overridePolicy:(e,t,i)=>({enabled:"manual"===i.filterMode,isRequired:!0})}}})],h.prototype,"activeFilterId",void 0),(0,r.Cg)([(0,l.MZ)({type:a.A.ofType(f),nonNullable:!0,json:{write:!0}})],h.prototype,"filters",void 0),(0,r.Cg)([(0,y.K)("filters")],h.prototype,"writeFilters",null),(0,r.Cg)([(0,l.MZ)({type:["manual","scale"],nonNullable:!0,json:{name:"filterMode",write:!0}})],h.prototype,"mode",void 0),h=(0,r.Cg)([(0,l.$K)("esri.layers.support.DisplayFilterInfo")],h);const m=e=>{let t=e,i=class extends t{constructor(){super(...arguments),this.displayFilterEnabled=!0,this.displayFilterInfo=null}};return(0,r.Cg)([(0,l.MZ)(w)],i.prototype,"displayFilterEnabled",void 0),(0,r.Cg)([(0,l.MZ)(v)],i.prototype,"displayFilterInfo",void 0),i=(0,r.Cg)([(0,l.$K)("esri.layers.mixins.DisplayFilteredLayer")],i),i},w={type:Boolean,json:{name:"layerDefinition.disableDisplayFilter",read:{reader:e=>!e},write:{layerContainerTypes:s.K,writer(e,t,i){(0,n.sM)(i,!e,t)}},origins:{"web-scene":{write:!1,read:!1}}}},v={type:h,json:{name:"layerDefinition.displayFilterInfo",write:{enabled:!0,allowNull:!0,layerContainerTypes:s.K},origins:{"web-scene":{write:!1,read:!1}}}}},87718(e,t,i){i.d(t,{F:()=>F,Y:()=>S});var r,n=i(32198),l=i(91429),s=i(49186),o=i(25482),a=i(93637),u=i(76369),d=i(66552),p=i(4718),c=i(50498),f=i(97552),g=i(79677);const y=new d.J({esriSpatialRelIntersects:"intersects",esriSpatialRelContains:"contains",esriSpatialRelCrosses:"crosses",esriSpatialRelDisjoint:"disjoint",esriSpatialRelEnvelopeIntersects:"envelope-intersects",esriSpatialRelIndexIntersects:"index-intersects",esriSpatialRelOverlaps:"overlaps",esriSpatialRelTouches:"touches",esriSpatialRelWithin:"within",esriSpatialRelRelation:"relation"}),h=new d.J({esriSRUnit_Meter:"meters",esriSRUnit_Kilometer:"kilometers",esriSRUnit_Foot:"feet",esriSRUnit_StatuteMile:"miles",esriSRUnit_NauticalMile:"nautical-miles",esriSRUnit_USNauticalMile:"us-nautical-miles"});let m=r=class extends o.o{constructor(e){super(e),this.where=null,this.geometry=null,this.spatialRelationship="intersects",this.distance=void 0,this.objectIds=null,this.units=null,this.timeExtent=null}createQuery(e={}){let{where:t,geometry:i,spatialRelationship:r,timeExtent:n,objectIds:l,units:s,distance:o}=this;return new f.A({geometry:(0,p.o8)(i),objectIds:(0,p.o8)(l),spatialRelationship:r,timeExtent:(0,p.o8)(n),where:t,units:s,distance:o,...e})}clone(){let{where:e,geometry:t,spatialRelationship:i,timeExtent:n,objectIds:l,units:s,distance:o}=this;return new r({geometry:(0,p.o8)(t),objectIds:(0,p.o8)(l),spatialRelationship:i,timeExtent:(0,p.o8)(n),where:e,units:s,distance:o})}};(0,n.Cg)([(0,l.MZ)({type:String,json:{write:!0}})],m.prototype,"where",void 0),(0,n.Cg)([(0,l.MZ)({types:c.yR,json:{write:!0}})],m.prototype,"geometry",void 0),(0,n.Cg)([(0,l.MZ)({type:y.apiValues,json:{name:"spatialRel",read:{reader:y.read},write:{allowNull:!1,writer:y.write,overridePolicy(){return{enabled:null!=this.geometry}}}}})],m.prototype,"spatialRelationship",void 0),(0,n.Cg)([(0,l.MZ)({type:Number,json:{write:{overridePolicy(e){return{enabled:null!=e&&null!=this.geometry}}}}})],m.prototype,"distance",void 0),(0,n.Cg)([(0,l.MZ)({json:{write:!0}})],m.prototype,"objectIds",void 0),(0,n.Cg)([(0,l.MZ)({type:h.apiValues,json:{read:h.read,write:{writer:h.write,overridePolicy(e){return{enabled:null!=e&&null!=this.geometry}}}}})],m.prototype,"units",void 0),(0,n.Cg)([(0,l.MZ)({type:g.A,json:{write:!0}})],m.prototype,"timeExtent",void 0),m=r=(0,n.Cg)([(0,l.$K)("esri.layers.support.FeatureFilter")],m);const w=m;var v;const b={read:{reader:u.LF},write:{writer:u.M9,overridePolicy(){return{allowNull:null!=this.excludedEffect,isRequired:null==this.excludedEffect}}}},C={read:{reader:u.LF},write:{writer:u.M9,overridePolicy(){return{allowNull:null!=this.includedEffect,isRequired:null==this.includedEffect}}}},M={name:"showExcludedLabels",default:!0};let x=v=class extends o.o{constructor(e){super(e),this.filter=null,this.includedEffect=null,this.excludedEffect=null,this.excludedLabelsVisible=!1}write(e,t){let i=super.write(e,t);if(t?.origin){if(i.filter){let e=Object.keys(i.filter);if(e.length>1||"where"!==e[0])return t.messages?.push(new s.A("web-document-write:unsupported-feature-effect","Invalid feature effect 'filter'. A filter can only contain a 'where' property",{layer:t.layer,effect:this})),null}if("showExcludedLabels"in i)return t.messages?.push(new s.A("web-document-write:unsupported-feature-effect","Invalid value for property 'excludedLabelsVisible' which should always be 'true'",{layer:t.layer,effect:this})),null}return i}clone(){return new v({filter:null==this.filter?null:this.filter.clone(),includedEffect:this.includedEffect,excludedEffect:this.excludedEffect,excludedLabelsVisible:this.excludedLabelsVisible})}};(0,n.Cg)([(0,l.MZ)({type:w,json:{write:{allowNull:!0,writer(e,t,i,r){let n=e?.write({},r);n&&0!==Object.keys(n).length?(0,a.sM)(i,n,t):(0,a.sM)(i,null,t)}}}})],x.prototype,"filter",void 0),(0,n.Cg)([(0,l.MZ)({json:{read:u.LF,write:{writer:u.M9,allowNull:!0},origins:{"web-map":b,"portal-item":b}}})],x.prototype,"includedEffect",void 0),(0,n.Cg)([(0,l.MZ)({json:{read:u.LF,write:{writer:u.M9,allowNull:!0},origins:{"web-map":C,"portal-item":C}}})],x.prototype,"excludedEffect",void 0),(0,n.Cg)([(0,l.MZ)({type:Boolean,json:{write:!0,name:"showExcludedLabels",origins:{"web-map":M,"portal-item":M}}})],x.prototype,"excludedLabelsVisible",void 0),x=v=(0,n.Cg)([(0,l.$K)("esri.layers.support.FeatureEffect")],x);const R={write:{allowNull:!0}},S={type:x,json:{origins:{"web-map":R,"portal-item":R}}},F=e=>{let t=e,i=class extends t{constructor(){super(...arguments),this.featureEffect=null}};return(0,n.Cg)([(0,l.MZ)(S)],i.prototype,"featureEffect",void 0),i=(0,n.Cg)([(0,l.$K)("esri.layers.mixins.FeatureEffectLayer")],i),i}},56658(e,t,i){i.d(t,{J:()=>_});var r=i(32198),n=i(36708),l=i(91429),s=i(41910),o=i(60950),a=i(99959);class u extends a.A{constructor(e){super(),this.type="aggregate",this.featureReductionProvider=e}get id(){return this.featureReductionProvider.id}get[o.ym](){let e=this.featureReductionProvider.featureReduction;return e&&"popupTemplate"in e?e:null}get[s.e7](){return this.featureReductionProvider}}var d=i(50820),p=i(20569),c=i(77548),f=i(96576),g=i(48940),y=i(12330),h=i(49186),m=i(44208),w=i(53966),v=i(80200),b=i(39767),C=i(30943),M=i(53930);m.A.add("esri-cluster-arcade-enabled",!0);const x=(0,m.A)("esri-cluster-arcade-enabled"),R=new Set(["simple-line","simple-fill","picture-fill"]);function S(e,t){let i=t.clone();if(!F(i))return i;if(t.symbols.some(e=>R.has(e.type))&&(i=new f.A({symbol:new M.A})),i.authoringInfo||(i.authoringInfo=new C.A),i.authoringInfo.isAutoGenerated=!0,"visualVariables"in i){let t=(i.visualVariables||[]).filter(e=>"$view.scale"!==e.valueExpression);t.forEach(t=>{"rotation"===t.type?t.field?t.field=Z(e,t.field,"avg_angle","number"):t.valueExpression&&=(t.field=j(e,t.valueExpression,"avg_angle","number"),null):t.normalizationField?(t.field=Z(e,t.field,"avg_norm","number",t.normalizationField),t.normalizationField=null):t.field?t.field=Z(e,t.field,"avg","number"):t.valueExpression&&=(t.field=j(e,t.valueExpression,"avg","number"),null)}),i.visualVariables=t}switch(i.type){case"simple":break;case"pie-chart":for(let t of i.attributes)t.field?t.field=Z(e,t.field,"sum","number"):t.valueExpression&&=(t.field=j(e,t.valueExpression,"sum","number"),null);break;case"unique-value":i.field?i.field=Z(e,i.field,"mode","string"):i.valueExpression&&(i.field=j(e,i.valueExpression,"mode","string"),i.valueExpression=null);break;case"class-breaks":i.normalizationField?(i.field=Z(e,i.field,"avg_norm","number",i.normalizationField),i.normalizationField=null):i.field?i.field=Z(e,i.field,"avg","number"):i.valueExpression&&(i.field=j(e,i.valueExpression,"avg","number"),i.valueExpression=null)}return i}const F=e=>{let t=t=>w.A.getLogger("esri.views.2d.layers.support.clusterUtils").error(new h.A("Unsupported-renderer",t,{renderer:e}));if(!e)return!1;switch(e.type){case"unique-value":if(e.field2||e.field3)return t("FeatureReductionCluster does not support multi-field UniqueValueRenderers"),!1;break;case"class-breaks":if(e.normalizationField){let i=e.normalizationType;if("field"!==i)return t(`FeatureReductionCluster does not support a normalizationType of ${i}`),!1}break;case"simple":case"pie-chart":break;default:return t(`FeatureReductionCluster does not support renderers of type ${e.type}`),!1}if(!x){if("valueExpression"in e&&e.valueExpression)return t("FeatureReductionCluster does not currently support renderer.valueExpression. Support will be added in a future release"),!1;if(("visualVariables"in e&&e.visualVariables||[]).some(e=>!(!("valueExpression"in e)||!e.valueExpression)))return t("FeatureReductionCluster does not currently support visualVariables with a valueExpression. Support will be added in a future release"),!1}return!0};function j(e,t,i,r){let n=(0,v.d)(t),l="mode"===i?`cluster_type_${n}`:"sum"===i?`cluster_sum_${n}`:`cluster_avg_${n}`;return e.some(e=>e.name===l)||e.push(new d.A({name:l,isAutoGenerated:!0,onStatisticExpression:new b.A({expression:t,returnType:r}),statisticType:i})),l}function Z(e,t,i,r,n){if("cluster_count"===t||e.some(e=>e.name===t))return t;let l=function(e,t,i){switch(e){case"sum":return`cluster_sum_${t}`;case"avg":case"avg_angle":return`cluster_avg_${t}`;case"mode":return`cluster_type_${t}`;case"avg_norm":{let e=i,r=t.toLowerCase()+",norm:field,"+e.toLowerCase();return"cluster_avg_"+(0,v.d)(r)}}}(i,t,n);return e.some(e=>e.name===l)||("avg_norm"===i?e.push(new d.A({name:l,isAutoGenerated:!0,onStatisticExpression:new b.A({expression:`$feature.${t} / $feature.${n}`,returnType:r}),statisticType:"avg"})):e.push(new d.A({name:l,isAutoGenerated:!0,onStatisticField:t,statisticType:i}))),l}const _=e=>{let t=e,i=class extends t{constructor(...e){super(...e),this.aggregateGraphicOrigin=new u(this),this.addHandles([(0,n.wB)(()=>this.renderer,()=>{this.featureReduction&&this._setFeatureReduction(this.featureReduction)},n.OH),(0,n.wB)(()=>[this.loaded],()=>{this.loaded&&this._setLayerReference(this.featureReduction,this)})])}set featureReduction(e){this._setFeatureReduction(e)}set renderer(e){}_withClusterVariable(e,t,i){let r=e.clone();return"visualVariables"in r&&(r.visualVariables||=[],r.visualVariables.some(e=>"size"===e.type)||r.visualVariables.push(new g.A({field:"cluster_count",stops:[new y.A({value:1}),new y.A({useMinValue:!0,size:t}),new y.A({useMaxValue:!0,size:i})]}))),r}_normalizeFeatureReduction(e){if("cluster"!==e?.type)return e;let t=e.clone(),i=[new d.A({name:"cluster_count",alias:"cluster_count",isAutoGenerated:!0,statisticType:"count"})],r=(t.fields??[]).filter(e=>!e.isAutoGenerated),n=e.renderer&&!e.renderer.authoringInfo?.isAutoGenerated,{clusterMinSize:l,clusterMaxSize:s}=t;if(n){t.fields=[...i,...r];let e=this._withClusterVariable(t.renderer,l,s);return t.effectiveFeatureRenderer=e,t.effectiveClusterRenderer=e,t}if(e.symbol){if(t.fields=[...i,...r],t.renderer=null,!this.renderer)return t.effectiveFeatureRenderer=null,t.effectiveClusterRenderer=null,t;let n=S(i,this.renderer),o=this._withClusterVariable(n,l,s),a="visualVariables"in o&&o.visualVariables?o.visualVariables:[],u=new f.A({symbol:e.symbol,visualVariables:a});return t.fields=[...i,...r],t.effectiveFeatureRenderer=o,t.effectiveClusterRenderer=u,t}if(!this.renderer)return e;let o=S(i,this.renderer);t.fields=[...i,...r],t.renderer=o;let a=this._withClusterVariable(o,l,s);return t.effectiveFeatureRenderer=a,t.effectiveClusterRenderer=a,t}_setFeatureReduction(e){let t=this._get("featureReduction");this._setLayerReference(t,null);let i=this._normalizeFeatureReduction(e);this._setLayerReference(i,this),this._set("featureReduction",i)}_setLayerReference(e,t){e&&"layer"in e&&(e.layer=(0,c.jy)(t)&&(0,c.Qi)(t)?t:null)}};return(0,r.Cg)([(0,l.MZ)({readOnly:!0,clonable:!1})],i.prototype,"aggregateGraphicOrigin",void 0),(0,r.Cg)([(0,l.MZ)(p.d)],i.prototype,"featureReduction",null),i=(0,r.Cg)([(0,l.$K)("esri.layers.mixins.FeatureReductionLayer")],i),i}},50820(e,t,i){i.d(t,{A:()=>d});var r,n=i(32198),l=i(25482),s=i(4718),o=i(91429),a=i(39767),u=i(30524);let d=class extends l.o{static{r=this}constructor(e){super(e),this.isAutoGenerated=!1,this.name=null,this.alias=null,this.onStatisticField=null,this.onStatisticExpression=null,this.statisticType=null}get type(){return this.layer?(0,u.e7)(this,this.layer.fieldsIndex):null}clone(){return new r({name:this.name,alias:this.alias,isAutoGenerated:this.isAutoGenerated,onStatisticExpression:(0,s.o8)(this.onStatisticExpression),onStatisticField:this.onStatisticField,statisticType:this.statisticType})}};(0,n.Cg)([(0,o.MZ)({type:Boolean,json:{write:!0}})],d.prototype,"isAutoGenerated",void 0),(0,n.Cg)([(0,o.MZ)({clonable:!1})],d.prototype,"layer",void 0),(0,n.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],d.prototype,"name",void 0),(0,n.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],d.prototype,"alias",void 0),(0,n.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],d.prototype,"onStatisticField",void 0),(0,n.Cg)([(0,o.MZ)({type:a.A,json:{write:!0}})],d.prototype,"onStatisticExpression",void 0),(0,n.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],d.prototype,"statisticType",void 0),(0,n.Cg)([(0,o.MZ)({readOnly:!0,clonable:!1,json:{read:!1}})],d.prototype,"type",null),d=r=(0,n.Cg)([(0,o.$K)("esri.layers.support.AggregateField")],d)},39767(e,t,i){i.d(t,{A:()=>o});var r=i(32198),n=i(69540),l=i(25482),s=i(91429);let o=class extends((0,n.OU)(l.o)){constructor(e){super(e),this.expression=null,this.title=null,this.returnType=null}};(0,r.Cg)([(0,s.MZ)({type:String,json:{write:!0}})],o.prototype,"expression",void 0),(0,r.Cg)([(0,s.MZ)({type:String,json:{write:!0}})],o.prototype,"title",void 0),(0,r.Cg)([(0,s.MZ)({type:String,json:{write:!0}})],o.prototype,"returnType",void 0),o=(0,r.Cg)([(0,s.$K)("esri.layers.support.ExpressionInfo")],o)},67202(e,t,i){i.d(t,{A:()=>o});var r,n=i(32198),l=i(25482),s=i(91429);let o=r=class extends l.o{constructor(e){super(e),this.type="selection"}clone(){return new r}};(0,n.Cg)([(0,s.MZ)({type:["selection"],readOnly:!0,json:{write:!0}})],o.prototype,"type",void 0),o=r=(0,n.Cg)([(0,s.$K)("esri.layers.support.FeatureReductionSelection")],o)},30279(e,t,i){i.d(t,{A:()=>u});var r=i(32198),n=i(69540),l=i(25482),s=i(10107),o=i(64108),a=i(39663);let u=class extends((0,n.OU)(l.o)){constructor(e){super(e),this.alias=null,this.name=void 0,this.fieldFormat=null}};(0,r.Cg)([(0,s.MZ)({type:String,json:{write:!0}})],u.prototype,"alias",void 0),(0,r.Cg)([(0,s.MZ)({type:String,nonNullable:!0,json:{write:{isRequired:!0}}})],u.prototype,"name",void 0),(0,r.Cg)([(0,s.MZ)({types:a.fg,json:{write:!0}})],u.prototype,"fieldFormat",void 0),u=(0,r.Cg)([(0,o.$)("esri.layers.support.FieldConfiguration")],u)},20569(e,t,i){i.d(t,{d:()=>D});var r=i(89317),n=i(32198),l=i(69540),s=i(25482),o=i(4718),a=i(90629),u=i(91429),d=i(78888),p=i(15426),c=i(37838),f=i(93637),g=i(50820),y=i(30524);class h{constructor(e){this._fieldsMap=new Map,this._normalizedFieldsMap=new Map,this.fields=e;let t=[];for(let e of this.fields){let i=e?.name,r=(0,y.GZ)(i);if(i&&r){let n=(0,y.NF)(i);this._fieldsMap.set(i,e),this._fieldsMap.set(n,e),this._normalizedFieldsMap.set(r,e),t.push(`${n}:${e.type||""}`)}}t.sort(),this.uid=t.join()}equals(e){return this.uid===e?.uid}get(e){return(0,y.Vb)({fieldName:e,fieldsMap:this._fieldsMap,normalizedFieldsMap:this._normalizedFieldsMap})}}var m=i(10873),w=i(30279),v=i(16194),b=i(46499),C=i(77548),M=i(41214);function x(){return{type:[w.A],clonable:!1,json:{name:"fieldConfigurations",write:{overridePolicy(e){return{enabled:(0,C.jy)(this.layer),ignoreOrigin:!0}}}},set:function(e){if(this._override("fieldConfigurations",e),!this.layer?.loaded)return;let t=(0,v.sS)(this,e);t&&this._set("popupTemplate",t)},get:function(){return this._isOverridden("fieldConfigurations")?this._get("fieldConfigurations"):this.layer?.loaded?(0,v.QX)(this)||null:void 0}}}function R(){return{type:[g.A],value:[],json:{write:{ignoreOrigin:!0,writer(e,t,i){let r=e.filter(e=>"avg_angle"!==e.statisticType).map(e=>e.toJSON());(0,f.sM)(i,r,t)}}},set:function(e){O(this._get("fields"),null),O(e,this.layer),this._set("fields",e)}}}function S(){return{readOnly:!0,get:function(){return new h(this.fields)}}}function F(){return{type:[b.A],json:{read:{source:"drawingInfo.labelingInfo"},write:{target:"drawingInfo.labelingInfo",ignoreOrigin:!0}}}}function j(){return V((0,o.o8)(m.kF))}function Z(){return{clonable:!1,set:function(e){O(this.fields,e),this._set("layer",e)}}}function _(){return{type:Number,json:{default:0,name:"visibilityInfo.maxScale",write:{ignoreOrigin:!0}}}}function A(){return V((0,o.o8)(m.M6))}function E(){return{type:c.A,json:{name:"popupInfo",write:{ignoreOrigin:!0,writer(e,t,i,r){e&&(t[i]=e.toJSON({...r,writeFieldFormat:(0,C.jy)(this.layer)}))}}}}}function I(){return{types:M.Hg,json:{write:{target:"drawingInfo.renderer",ignoreOrigin:!0}}}}function O(e,t){e?.forEach(e=>{e.layer=t})}function V(e){let t=e.json;t||=e.json={};let i=t.write;return"object"==typeof i&&i||(i=t.write={}),i.ignoreOrigin=!0,e}var T=i(65494),z=i(93223),L=i(36005);let N=class extends((0,s.T)(l.Pw)){constructor(e){super(e),this.type="binning",this.binType="geohash",this.fixedBinLevel=null,this.labelingInfo=null,this.labelsVisible=!0,this.maxScale=0,this.popupEnabled=!0,this.popupTemplate=null,this.size=(0,a.cr)("12px"),this.fields=[],this.renderer=null}readRenderer(e,t,i){let r=t.drawingInfo?.renderer;return r?(0,T.L)(r,t,i)??void 0:(0,p.PD)(t,i)}clone(){let e=super.clone();return this._isOverridden("fieldConfigurations")&&(e.fieldConfigurations=(0,o.o8)(this.fieldConfigurations)),e}getField(e){return this.fieldsIndex.get(e)}getFieldAlias(e){let t=this.getField(e);if(t)return this.getFieldConfiguration(t.name)?.alias||t.alias}getFieldConfiguration(e){return e=e.toLowerCase(),this.fieldConfigurations?.find(t=>t.name.toLowerCase()===e)}};(0,n.Cg)([(0,u.MZ)({type:["binning"],readOnly:!0,json:{read:!1,write:{ignoreOrigin:!0}}})],N.prototype,"type",void 0),(0,n.Cg)([(0,z.e)({geohash:"geohash",square:"square"}),(0,u.MZ)({type:["geohash","square"],json:{write:{ignoreOrigin:!0}}})],N.prototype,"binType",void 0),(0,n.Cg)([(0,u.MZ)({type:Number,json:{write:{ignoreOrigin:!0}}})],N.prototype,"fixedBinLevel",void 0),(0,n.Cg)([(0,u.MZ)(F())],N.prototype,"labelingInfo",void 0),(0,n.Cg)([(0,u.MZ)(j())],N.prototype,"labelsVisible",void 0),(0,n.Cg)([(0,u.MZ)(Z())],N.prototype,"layer",void 0),(0,n.Cg)([(0,u.MZ)(_())],N.prototype,"maxScale",void 0),(0,n.Cg)([(0,u.MZ)(A())],N.prototype,"popupEnabled",void 0),(0,n.Cg)([(0,u.MZ)(E())],N.prototype,"popupTemplate",void 0),(0,n.Cg)([(0,u.MZ)({cast:e=>"auto"===e?e:(0,d.GB)((0,a.cr)(e))})],N.prototype,"size",void 0),(0,n.Cg)([(0,u.MZ)(x())],N.prototype,"fieldConfigurations",void 0),(0,n.Cg)([(0,u.MZ)(R())],N.prototype,"fields",void 0),(0,n.Cg)([(0,u.MZ)(S())],N.prototype,"fieldsIndex",void 0),(0,n.Cg)([(0,u.MZ)(I())],N.prototype,"renderer",void 0),(0,n.Cg)([(0,L.w)("renderer",["drawingInfo.renderer"])],N.prototype,"readRenderer",null),N=(0,n.Cg)([(0,u.$K)("esri.layers.support.FeatureReductionBinning")],N);var $=i(96576),K=i(33910),k=i(43937);function G(e){return"simple"===e.type&&!e.visualVariables?.length}let P=class extends((0,s.T)(l.Pw)){constructor(e){super(e),this.type="cluster",this.maxScale=0,this.popupEnabled=!0,this.popupTemplate=null,this.renderer=null,this.symbol=null,this.labelingInfo=null,this.labelsVisible=!0,this.fields=[]}get clusterRadius(){return this._get("clusterRadius")??(0,a.cr)("80px")}set clusterRadius(e){this._set("clusterRadius",e)}get clusterMinSize(){return this._get("clusterMinSize")??(0,a.cr)("12px")}set clusterMinSize(e){this._set("clusterMinSize",e)}get clusterMaxSize(){return this._get("clusterMaxSize")??(0,a.cr)("50px")}set clusterMaxSize(e){this._set("clusterMaxSize",e)}readRenderer(e,t,i){let r=t.drawingInfo?.renderer;return r?.authoringInfo?.isAutoGenerated?null:r?G(r)?null:(0,T.L)(r,t,i)??void 0:(0,p.PD)(t,i)}readSymbol(e,t,i){let r=t.drawingInfo?.renderer;return r?.authoringInfo?.isAutoGenerated?null:r&&G(r)?(0,T.L)(r,t,i)?.symbol:null}writeSymbol(e,t,i,r){let n=this.renderer?.authoringInfo?.isAutoGenerated;(!this.renderer||n)&&(t.drawingInfo={renderer:new $.A({symbol:e}).write({},r)})}readFields(e,t,i){return e.filter(e=>!e.isAutoGenerated).map(e=>g.A.fromJSON(e))}clone(){let e=super.clone();return this._isOverridden("fieldConfigurations")&&(e.fieldConfigurations=(0,o.o8)(this.fieldConfigurations)),e}getField(e){return this.fieldsIndex.get(e)}getFieldAlias(e){let t=this.getField(e);if(t)return this.getFieldConfiguration(t.name)?.alias||t.alias}getFieldConfiguration(e){return e=e.toLowerCase(),this.fieldConfigurations?.find(t=>t.name.toLowerCase()===e)}};(0,n.Cg)([(0,u.MZ)({type:["cluster"],readOnly:!0,json:{read:!1,write:{ignoreOrigin:!0}}})],P.prototype,"type",void 0),(0,n.Cg)([(0,u.MZ)({cast:a.cr,json:{write:{ignoreOrigin:!0}}})],P.prototype,"clusterRadius",null),(0,n.Cg)([(0,u.MZ)({type:Number,cast:a.cr,json:{write:{ignoreOrigin:!0}}})],P.prototype,"clusterMinSize",null),(0,n.Cg)([(0,u.MZ)({type:Number,cast:a.cr,json:{write:{ignoreOrigin:!0}}})],P.prototype,"clusterMaxSize",null),(0,n.Cg)([(0,u.MZ)(_())],P.prototype,"maxScale",void 0),(0,n.Cg)([(0,u.MZ)(A())],P.prototype,"popupEnabled",void 0),(0,n.Cg)([(0,u.MZ)(E())],P.prototype,"popupTemplate",void 0),(0,n.Cg)([(0,u.MZ)(I())],P.prototype,"renderer",void 0),(0,n.Cg)([(0,L.w)("renderer",["drawingInfo.renderer"])],P.prototype,"readRenderer",null),(0,n.Cg)([(0,u.MZ)({types:K.q8,json:{write:{ignoreOrigin:!0}}})],P.prototype,"symbol",void 0),(0,n.Cg)([(0,L.w)("symbol",["drawingInfo.renderer"])],P.prototype,"readSymbol",null),(0,n.Cg)([(0,k.K)("symbol")],P.prototype,"writeSymbol",null),(0,n.Cg)([(0,u.MZ)(F())],P.prototype,"labelingInfo",void 0),(0,n.Cg)([(0,u.MZ)(j())],P.prototype,"labelsVisible",void 0),(0,n.Cg)([(0,u.MZ)(Z())],P.prototype,"layer",void 0),(0,n.Cg)([(0,u.MZ)(x())],P.prototype,"fieldConfigurations",void 0),(0,n.Cg)([(0,u.MZ)(R())],P.prototype,"fields",void 0),(0,n.Cg)([(0,L.w)("fields")],P.prototype,"readFields",null),(0,n.Cg)([(0,u.MZ)(S())],P.prototype,"fieldsIndex",void 0),P=(0,n.Cg)([(0,u.$K)("esri.layers.support.FeatureReductionCluster")],P);var q=i(67202);const U={key:"type",base:null,typeMap:{selection:q.A}},B={key:"type",base:null,typeMap:{cluster:P,binning:N}},D={types:{key:"type",base:null,typeMap:{selection:q.A,cluster:P,binning:N}},json:{name:"layerDefinition.featureReduction",write:{allowNull:!0},origins:{"web-map":{types:B},"portal-item":{types:B},"web-scene":{types:U,name:"layerDefinition.featureReduction",write:{allowNull:!0,layerContainerTypes:r.K}}}}}},16194(e,t,i){i.d(t,{QX:()=>a,sS:()=>d,xY:()=>u});var r=i(4718),n=i(30279),l=i(39663),s=i(30524),o=i(41227);function a(e){let{popupTemplate:t,fieldsIndex:i}=e,r=t?.fieldInfos;if(!r?.length||!i)return;let s=[];for(let e of r){let{fieldName:t,label:r}=e,o=i.get(t);if(!o)continue;let a=r&&r!==o.alias?r:null,u=(0,l.iu)(e,o);(a||u)&&s.push(new n.A({name:o.name,alias:a,fieldFormat:u}))}return s.length?s:null}function u(e){let{fields:t}=e;if(!t?.length)return;let i=[];for(let e of t){let t=(0,l.qH)(e)?(0,l.$P)(e):null;t&&i.push(new n.A({name:e.name,fieldFormat:t}))}return i.length?i:null}function d(e,t){let{popupTemplate:i,fieldsIndex:n}=e;if(!i||!n)return;let s=function(e,t,i){t??=[],i=(0,r.o8)(i)??[];let n=!1,s=new Map;for(let i of t){let t=e.fieldsIndex.get(i.name);t&&s.set(t.name,i)}for(let t of i){let i=e.fieldsIndex.get(t.fieldName);if(!i)continue;let r=s.get(i.name);t.label=r?.alias||i.alias,t.format=(0,l.qH)(i)&&r?.fieldFormat?(0,l.PK)(r.fieldFormat,i):null,n=!0,s.delete(i.name)}for(let t of s.values()){let r=p(e,t);r&&(i.push(r),n=!0)}return n?i:null}(e,t,i.fieldInfos);if(!s)return;let o=i.clone();return o.fieldInfos=s,o}function p(e,t){let{name:i,alias:r,fieldFormat:n}=t,a=e.fieldsIndex.get(i);if(!a||!r&&!n)return;let u=r||a.alias,d=(0,l.qH)(a)&&n?(0,l.PK)(n,a):null;return new o.A({fieldName:a.name,label:u,format:d,visible:!1,isEditable:(0,s.R$)(a,e)})}},65494(e,t,i){i.d(t,{L:()=>a,r:()=>s});var r=i(90360),n=i(41214),l=i(59923);function s(e,t){return a(e,null,t)}const o=(0,r.C)({types:n.Hg});function a(e,t,i){return e?e&&(e.styleName||e.styleUrl)&&"uniqueValue"!==e.type?((0,l.Yc)(i,"warning","renderer",`Only UniqueValueRenderer can be referenced from a web style, but found '${e.type}'`,{definition:e}),null):o(e,t,i):null}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[124,7870,8768],{56512(e,t,i){function r(e){let t,i,r=[],s=!1;return function(...l){return s&&t===this&&function(e,t){if(e.length!==t.length)return!1;for(let i=0;i<e.length;++i)if(e[i]!==t[i])return!1;return!0}(l,r)||(i=e.apply(this,l),t=this,r=l,s=!0),i}}i.d(t,{B:()=>r})},69397(e,t,i){i.d(t,{Qf:()=>a,Qh:()=>l,lM:()=>s});var r=i(34275);function s(e){if(!e)return 0;let t=u;for(let i in e)e.hasOwnProperty(i)&&(t+=n(e[i],!1));return t}function l(e){if(!e)return 0;if("number"==typeof e[0])return a(e);if(Array.isArray(e))return function(e){let t=e.length;if(0===t||"number"==typeof e[0])return o(e,8);let i=h;for(let r=0;r<t;r++)i+=n(e[r]);return i}(e);let t=u;for(let i in e)e.hasOwnProperty(i)&&(t+=n(e[i]));return t}function n(e,t=!0){switch(typeof e){case"object":return t?l(e):u;case"string":return function(e){return 32+e.length}(e);case"number":return 16;case"boolean":return 4;default:return 8}}function a(...e){return e.reduce((e,t)=>e+(t?(0,r.iu)(t)?t.byteLength+p:Array.isArray(t)?o(t,16):0:0),0)}function o(e,t){return h+e.length*t}const u=32,h=16,p=145},5359(e,t,i){i.d(t,{Z:()=>s});const r=Symbol("isImageryTileGraphicOrigin");function s(e){return!!e&&r in e}i.d(t,["H",0,r])},90124(e,t,i){i.r(t),i.d(t,{default:()=>Q});var r,s=i(32198),l=i(37838),n=i(69540),a=i(49186),o=i(53966),u=i(97768),h=i(25728),p=i(17676),c=i(36708),d=i(91429),f=i(78888),m=i(41910),g=i(60950),y=i(89808),v=i(99959),w=i(5359);class b extends v.A{get[(r=w.H,g.ym)](){return this.layer}get[y.Q](){return this.layer}get[m.e7](){return this.layer}constructor(e){super(),this[r]=!0,this.type="imagery-tile",this.layer=e}get id(){return this.layer.id}}var A=i(4146),_=i(18768),C=i(63074),S=i(69208),R=i(34287),M=i(8303),O=i(72545),x=i(56551),I=i(54310),T=i(25036),P=i(82935),N=i(82806),z=i(7548),F=i(23636),Z=i(1003),D=i(99235),j=i(10873),J=i(20437),L=i(74797),$=i(22796),V=i(69409);const q={instance:null,refCount:0,connectionPromise:null};async function E(){if(q.refCount++,q.instance)return q.instance;if(!q.connectionPromise){let e=new V.A;q.connectionPromise=e.initialize().then(()=>{q.instance=e})}return await q.connectionPromise,q.instance}function k(){q.refCount--,!(q.refCount>0)&&(q.instance?.destroy(),q.instance=null,q.connectionPromise=null,q.refCount=0)}var U=i(87045),W=i(24212),H=i(30291),G=i(88625),B=i(59923);let K=class extends((0,C.dM)((0,T.j)((0,R.q)((0,M.A)((0,x.H)((0,S.d)((0,N.b)((0,O.G)((0,P.e)((0,_.b)((0,I.J)((0,h.M)((0,n.OU)(A.A)))))))))))))){constructor(...e){super(...e),this._primaryRasters=[],this.charts=null,this.graphicOrigin=new b(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.screenSizePerspectiveEnabled=!0,this.fields=null,this.source=void 0,this._debouncedSaveOperations=(0,p.sg)(async(e,t,r)=>{let{save:s,saveAs:l}=await i.e(9838).then(()=>i(59838));switch(e){case 0:return s(this,t);case 1:return l(this,r,t)}})}normalizeCtorArgs(e,t){return"string"==typeof e?{url:e,...t}:e}load(e){let t=null==e?null:e.signal;return this.addResolvingPromise(this.loadFromPortal({supportedTypes:["Image Service"]},e).catch(p.QP).then(()=>this._openRaster(t))),Promise.resolve(this)}destroy(){super.destroy(),this._releaseWorkerHandle=(0,u.xt)(this._releaseWorkerHandle)}set elevationInfo(e){"relative-to-scene"!==e?.mode&&this._set("elevationInfo",e),this._validateElevationInfo(e)}get defaultPopupTemplate(){return this.createPopupTemplate()}get rasterFields(){let e=[(0,L.rZ)("Pixel Value"),(0,L.dy)("Raw Pixel Value")],t=this.raster?.rasterInfo??this.serviceRasterInfo,i=t?.attributeTable;if(i){let t=(0,L.jC)(i);e.push(...t)}let r=t?.dataType,s=t?.multidimensionalInfo;if(("vector-magdir"===r||"vector-uv"===r)&&null!=s){let t=s.variables[0].unit?.trim(),i=(0,L.DV)(t),r=(0,L.y6)();e.push(i,r)}if(s){let t=(0,L.AL)(s);e.push(...t)}return e}get renderer(){return super.renderer}set renderer(e){super.renderer=e}createPopupTemplate(e){let{rasterFields:t}=this,i=e?.visibleFieldNames??new Set(t.map(({name:e})=>e).filter(e=>e!==L.F_.rawServicePixelValue)),r=(0,H.tn)({fields:t,title:this.title},{...e,visibleFieldNames:i}),{rasterInfo:s}=this.raster;return r?.fieldInfos&&s&&(0,L.h4)(r.fieldInfos,s),r}async generateRasterInfo(e,t){let i=(0,f.PZ)($.A,e);if(await this.load(),!i||"none"===i.functionName?.toLowerCase())return this.serviceRasterInfo;try{let{rasterInfo:e}=await this._openFunctionRaster(i,t);return e}catch(e){throw e instanceof a.A?e: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)}supportsExportMapTiles(){let e=this._primaryRasters[0]??this.raster,t="RasterTileServer"===e?.datasetFormat,i=!!this.sourceJSON?.exportTilesAllowed,r=this.sourceJSON?.datasetFormat?.toLowerCase(),s=!/\/tiledimageservices[^.]*\.arcgis\.com/i.test(this.url)&&"Raster"===e?.tileType&&("cache/jpegplus"===r||"cache/jpegpng"===r);return t&&i&&("Map"===e?.tileType||s)}supportsWrite(){let e=this._primaryRasters[0]??this.raster;return!!(this.loaded?"RasterTileServer"===e.datasetFormat&&("Raster"===e.tileType||"Map"===e.tileType):this.url&&/\/ImageServer(\/|\/?$)/i.test(this.url))}write(e,t){return this.supportsWrite()?super.write(e,t):((0,B.U4)(t,this),null)}async hasDataChanged(){try{let e=this._primaryRasters[0]??this.raster,{dataChanged:t,updates:i}=await e.refresh();return t&&(this.serviceRasterInfo!==e.rasterInfo&&this._set("serviceRasterInfo",e.rasterInfo),e.sourceJSON&&this.sourceJSON!==e.sourceJSON&&(this.sourceJSON=e.sourceJSON),i&&this.read(i,{origin:"service",url:this.parsedUrl,ignoreDefaults:!0})),t}catch{return!1}}async _openRaster(e){let t=!1;if(this.raster)await this._openFromRaster(this.raster,e),t=(0,z.qg)(this.raster),!t&&this.rasterFunction&&(this._primaryRasters=[this.raster],await this._initializeWithFunctionRaster(this.rasterFunction));else{let{url:t,rasterFunction:i,source:r}=this;if(!t&&!r)throw new a.A("imagery-tile-layer:open","missing url or source parameter");r?await this._openFromSource(r,e):i?await this._openFromUrlWithRasterFunction(t,i,e):await this._openFromUrl(t,e)}let 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){let 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.raster.datasetName,"Map"===this.raster.tileType&&(this.popupEnabled=!1),this._configDefaultSettings(),this.addHandles((0,c.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,z.pb)(e),this.url||=this._primaryRasters[0].url}async _openFromUrlWithRasterFunction(e,t,i){let r,s=[e];t&&(0,D.UD)(t.toJSON(),s),s.some(e=>X(e,this.ioConfig))&&(r=await E(),this._releaseWorkerHandle={remove:()=>k()});let l=await Promise.all(s.map(e=>Z.default.open({url:e,rasterInfo:1===s.length?this.serviceRasterInfo:void 0,sourceJSON:1===s.length?this.sourceJSON:void 0,ioConfig:{sampling:"closest",...this.ioConfig,customFetchParameters:this.customParameters},rasterJobHandler:r,signal:i}))),n=l.findIndex(e=>null==e);if(n>-1)throw new a.A("imagery-tile-layer:open",`cannot open raster: ${s[n]}`);return this._primaryRasters=l,this._initializeWithFunctionRaster(t)}async _openFromUrl(e,t){let i;X(e,this.ioConfig)&&(i=await E(),this._releaseWorkerHandle={remove:()=>k()});let r=await Z.default.open({url:e,rasterInfo:this.serviceRasterInfo,sourceJSON:this.sourceJSON,ioConfig:{sampling:"closest",...this.ioConfig,customFetchParameters:this.customParameters},rasterJobHandler:i,signal:t});if(null==r)throw new a.A("imagery-tile-layer:open",`cannot open raster: ${e}`);this._primaryRasters=[r],this.raster=r}async _openFromSource(e,t){let i="the tiled imagery data source is not supported",r="coverage"===e.type?.toLowerCase()?"CovJSON":e.extent&&e.pixelBlock?"MEMORY":null;if(!r)throw new a.A("imagery-tile-layer:open",i);"MEMORY"===r&&(e={...e,pixelBlock:void 0,pixelBlocks:[e.pixelBlock]});let s=await Z.default.open({url:"",source:e,datasetFormat:r,ioConfig:{sampling:"closest",...this.ioConfig,customFetchParameters:this.customParameters},signal:t});if(null==s)throw new a.A("imagery-tile-layer:open",i);this._primaryRasters=[s],this.rasterFunction?await this._initializeWithFunctionRaster(this.rasterFunction):this.raster=s}async _openFunctionRaster(e,t){let i={raster:this._primaryRasters[0]};this._primaryRasters.length>1&&this._primaryRasters.forEach(e=>i[e.url]=e);let r=(0,D.vt)(e.functionDefinition?.toJSON()??e.toJSON(),i),s=new F.A({rasterFunction:r});return await s.open(t),s}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(e){(0,W.XF)(o.A.getLogger(this),(0,W.$7)("ImageryTile layers","relative-to-scene",e)),(0,W.XF)(o.A.getLogger(this),(0,W.tW)("ImageryTile layers",e))}};(0,s.Cg)([(0,d.MZ)({clonable:!1})],K.prototype,"_primaryRasters",void 0),(0,s.Cg)([(0,d.MZ)({clonable:!1})],K.prototype,"_releaseWorkerHandle",void 0),(0,s.Cg)([(0,d.MZ)({json:{origins:{"web-scene":{write:!1}},write:!0}})],K.prototype,"charts",void 0),(0,s.Cg)([(0,d.MZ)({type:G.A,value:null,json:{name:"layerDefinition.elevationInfo",write:!0,origins:{"portal-item":{read:!1,write:!1},"web-map":{read:!1,write:!1}}}})],K.prototype,"elevationInfo",null),(0,s.Cg)([(0,d.MZ)({type:U.A})],K.prototype,"tileInfo",void 0),(0,s.Cg)([(0,d.MZ)({readOnly:!0,clonable:!1})],K.prototype,"graphicOrigin",void 0),(0,s.Cg)([(0,d.MZ)(j.fV)],K.prototype,"legendEnabled",void 0),(0,s.Cg)([(0,d.MZ)({type:Boolean,json:{read:!1,write:{enabled:!0,overridePolicy:()=>({enabled:!1})}}})],K.prototype,"isReference",void 0),(0,s.Cg)([(0,d.MZ)({type:["show","hide"]})],K.prototype,"listMode",void 0),(0,s.Cg)([(0,d.MZ)({json:{read:!0,write:!0}})],K.prototype,"blendMode",void 0),(0,s.Cg)([(0,d.MZ)({type:$.A,json:{name:"renderingRule",write:!0}})],K.prototype,"rasterFunction",void 0),(0,s.Cg)([(0,d.MZ)()],K.prototype,"sourceJSON",void 0),(0,s.Cg)([(0,d.MZ)({readOnly:!0,json:{origins:{service:{read:{source:"currentVersion"}}}}})],K.prototype,"version",void 0),(0,s.Cg)([(0,d.MZ)({readOnly:!0,json:{read:!1}})],K.prototype,"type",void 0),(0,s.Cg)([(0,d.MZ)({type:["ArcGISTiledImageServiceLayer"]})],K.prototype,"operationalLayerType",void 0),(0,s.Cg)([(0,d.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}}}})],K.prototype,"popupEnabled",void 0),(0,s.Cg)([(0,d.MZ)({type:l.A,json:{read:{source:"popupInfo"},write:{target:"popupInfo",overridePolicy(){return{enabled:!this.loaded||"Raster"===this.raster.tileType}}}}})],K.prototype,"popupTemplate",void 0),(0,s.Cg)([(0,d.MZ)({readOnly:!0})],K.prototype,"defaultPopupTemplate",null),(0,s.Cg)([(0,d.MZ)(j.PY)],K.prototype,"screenSizePerspectiveEnabled",void 0),(0,s.Cg)([(0,d.MZ)({readOnly:!0,type:[J.A]})],K.prototype,"fields",void 0),(0,s.Cg)([(0,d.MZ)({readOnly:!0,type:[J.A]})],K.prototype,"rasterFields",null),(0,s.Cg)([(0,d.MZ)({constructOnly:!0})],K.prototype,"source",void 0),K=(0,s.Cg)([(0,d.$K)("esri.layers.ImageryTileLayer")],K);const Q=K;function X(e,t){let{tileGeneration:i}=t??{};return"immediate"===i||/\.(png|gif|bmp)$/i.test(e)}},18768(e,t,i){var r=i(32198),s=i(53966),l=i(91429),n=i(60694);i.d(t,["b",0,e=>{let t=e,i=class extends t{get title(){if(this._get("title")&&"defaults"!==this.originOf("title"))return this._get("title");if(this.url){let e=(0,n.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,n.Jf)(e,s.A.getLogger(this)))}};return(0,r.Cg)([(0,l.MZ)()],i.prototype,"title",null),(0,r.Cg)([(0,l.MZ)({type:String})],i.prototype,"url",null),i=(0,r.Cg)([(0,l.$K)("esri.layers.mixins.ArcGISService")],i),i}])},56551(e,t,i){i.d(t,{H:()=>p});var r=i(32198),s=i(91429),l=i(69540),n=i(25482),a=i(78888),o=i(94359),u=i(93223);let h=class extends((0,l.OU)(n.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,r.Cg)([(0,s.MZ)({type:String,json:{write:{isRequired:!0}}})],h.prototype,"name",void 0),(0,r.Cg)([(0,s.MZ)({type:["raster-function-template","variable","none"],json:{write:{isRequired:!0}}}),(0,u.e)({rasterFunctionTemplate:"raster-function-template",variable:"variable",none:"none"})],h.prototype,"method",void 0),(0,r.Cg)([(0,s.MZ)({type:String,json:{write:{isRequired:!0}}})],h.prototype,"value",void 0),(0,r.Cg)([(0,s.MZ)({type:[a.jz],json:{write:{isRequired:!0}}})],h.prototype,"bandIds",void 0),(0,r.Cg)([(0,s.MZ)({types:o.uy,json:{write:!0,origins:{"web-scene":{types:o.Gj,write:{overridePolicy:e=>({enabled:e&&"vector-field"!==e.type})}}}}})],h.prototype,"renderer",void 0),h=(0,r.Cg)([(0,s.$K)("esri.renderers.support.RasterPresetRenderer")],h);const p=e=>{let t=e,i=class extends t{constructor(){super(...arguments),this.activePresetRendererName=null,this.presetRenderers=null}};return(0,r.Cg)([(0,s.MZ)({type:String,json:{name:"layerDefinition.activePresetRendererName",write:{allowNull:!0}}})],i.prototype,"activePresetRendererName",void 0),(0,r.Cg)([(0,s.MZ)({type:[h],json:{name:"layerDefinition.presetRenderers",write:!0}})],i.prototype,"presetRenderers",void 0),i=(0,r.Cg)([(0,s.$K)("esri.layers.mixins.RasterPresetRendererMixin")],i),i}},91806(e,t,i){i.d(t,{A:()=>o});var r,s=i(32198),l=i(25482),n=i(91429),a=i(78888);let o=class extends l.o{static{r=this}constructor(e){super(e),this.cols=null,this.level=0,this.levelValue=null,this.origin=null,this.resolution=0,this.rows=null,this.scale=0}clone(){return new r({cols:this.cols,level:this.level,levelValue:this.levelValue,resolution:this.resolution,rows:this.rows,scale:this.scale})}};(0,s.Cg)([(0,n.MZ)({json:{write:!0,origins:{"web-document":{read:!1,write:!1},"portal-item":{read:!1,write:!1}}}})],o.prototype,"cols",void 0),(0,s.Cg)([(0,n.MZ)({type:a.jz,json:{write:!0}})],o.prototype,"level",void 0),(0,s.Cg)([(0,n.MZ)({type:String,json:{write:!0}})],o.prototype,"levelValue",void 0),(0,s.Cg)([(0,n.MZ)({json:{write:!0,origins:{"web-document":{read:!1,write:!1},"portal-item":{read:!1,write:!1}}}})],o.prototype,"origin",void 0),(0,s.Cg)([(0,n.MZ)({type:Number,json:{write:!0}})],o.prototype,"resolution",void 0),(0,s.Cg)([(0,n.MZ)({json:{write:!0,origins:{"web-document":{read:!1,write:!1},"portal-item":{read:!1,write:!1}}}})],o.prototype,"rows",void 0),(0,s.Cg)([(0,n.MZ)({type:Number,json:{write:!0}})],o.prototype,"scale",void 0),o=r=(0,s.Cg)([(0,n.$K)("esri.layers.support.LOD")],o)},87045(e,t,i){i.d(t,{A:()=>w});var r,s=i(32198),l=i(66552),n=i(25482),a=i(86211),o=i(91429),u=i(78888),h=i(86738),p=i(16930),c=i(21325),d=i(28735),f=i(91806),m=i(72802),g=i(36005),y=i(43937);const v=new l.J({PNG:"png",PNG8:"png8",PNG24:"png24",PNG32:"png32",JPEG:"jpg",JPG:"jpg",DIB:"dib",TIFF:"tiff",EMF:"emf",PS:"ps",PDF:"pdf",GIF:"gif",SVG:"svg",SVGZ:"svgz",Mixed:"mixed",MIXED:"mixed",LERC:"lerc",LERC2D:"lerc2d",RAW:"raw",pbf:"pbf"});let w=class extends n.o{static{r=this}static create(e={}){let{resolutionFactor:t=1,scales:i,size:s=256,spatialReference:l=p.A.WebMercator,numLODs:n=24}=e;if(!(0,c.fn)(l)){let e=[];if(i)for(let t=0;t<i.length;t++){let r=i[t];e.push(new f.A({level:t,scale:r,resolution:r}))}else{let t=5e-4;for(let i=n-1;i>=0;i--)e.unshift(new f.A({level:i,scale:t,resolution:t})),t*=2}return new r({dpi:96,lods:e,origin:new h.A(0,0,l),size:[s,s],spatialReference:l})}let o=(0,c.Vp)(l),u=e.origin?new h.A({x:e.origin.x,y:e.origin.y,spatialReference:l}):o?new h.A({x:o.origin[0],y:o.origin[1],spatialReference:l}):new h.A({x:0,y:0,spatialReference:l}),d=1/(39.37*(0,a.GA)(l)*96),m=[];if(i)for(let e=0;e<i.length;e++){let t=i[e],r=t*d;m.push(new f.A({level:e,scale:t,resolution:r}))}else{let e=(0,c.EA)(l)?512/s*591657527.5917094:256/s*591657527.591555,i=Math.ceil(n/t);m.push(new f.A({level:0,scale:e,resolution:e*d}));for(let r=1;r<i;r++){let i=e/2**t,s=i*d;m.push(new f.A({level:r,scale:i,resolution:s})),e=i}}return new r({dpi:96,lods:m,origin:u,size:[s,s],spatialReference:l})}constructor(e){super(e),this.dpi=96,this.format=null,this.origin=null,this.size=null,this.spatialReference=null}get isWrappable(){let{spatialReference:e,origin:t}=this;if(e&&t){let i=(0,c.Vp)(e);return e.isWrappable&&!!i&&Math.abs(i.origin[0]-t.x)<=i.dx}return!1}readOrigin(e,t){return h.A.fromJSON({spatialReference:t.spatialReference,...e})}set lods(e){let t=0,i=0,r=[],s=this._levelToLOD={};e&&(t=-1/0,i=1/0,e.forEach(e=>{r.push(e.scale),t=e.scale>t?e.scale:t,i=e.scale<i?e.scale:i,s[e.level]=e})),this._set("scales",r),this._set("lods",e),this._initializeUpsampleLevels()}readSize(e,t){return[t.cols,t.rows]}writeSize(e,t){t.cols=e[0],t.rows=e[1]}zoomToScale(e){let t=this.scales;if(e<=0)return t[0];if(e>=t.length-1)return t[t.length-1];let i=Math.floor(e),r=i+1;return t[i]/(t[i]/t[r])**(e-i)}scaleToZoom(e){let t=this.scales,i=t.length-1,r=0;for(;r<i;r++){let i=t[r],s=t[r+1];if(i<=e)return r;if(s===e)return r+1;if(i>e&&s<e)return r+Math.log(i/e)/Math.log(i/s)}return r}tileAt(e,t,i,r){let s,l,n=this.lodAt(e);if(!n)return null;if("number"==typeof t)s=t,l=i;else if((0,c.aI)(t.spatialReference,this.spatialReference))s=t.x,l=t.y,r=i;else{let e=(0,d.Cv)(t,this.spatialReference);if(null==e)return null;s=e.x,l=e.y,r=i}let a=n.resolution*this.size[0],o=n.resolution*this.size[1];return r??=new m.U(0,0,0),r.level=e,r.row=Math.floor((this.origin.y-l)/o+.001),r.col=Math.floor((s-this.origin.x)/a+.001),this.updateTileInfo(r),r}updateTileInfo(e,t=0){if(!("extent"in e))return!1;let i=this.lodAt(e.level);if(!i&&1===t){let t=this.lods[this.lods.length-1];t.level<e.level&&(i=t)}if(!i)return!1;let r=e.level-i.level,s=i.resolution*this.size[0]/2**r,l=i.resolution*this.size[1]/2**r;return e.extent[0]=this.origin.x+e.col*s,e.extent[1]=this.origin.y-(e.row+1)*l,e.extent[2]=e.extent[0]+s,e.extent[3]=e.extent[1]+l,!0}upsampleTile(e){let t=this._upsampleLevels[e.level];return!(!t||-1===t.parentLevel||(e.level=t.parentLevel,e.row=Math.floor(e.row/t.factor+.001),e.col=Math.floor(e.col/t.factor+.001),this.updateTileInfo(e),0))}getTileBounds(e,t){let i=this.lodAt(t.level);if(null==i)return null;let{resolution:r}=i,s=r*this.size[0],l=r*this.size[1];return e[0]=this.origin.x+t.col*s,e[1]=this.origin.y-(t.row+1)*l,e[2]=e[0]+s,e[3]=e[1]+l,e}lodAt(e){return this._levelToLOD?.[e]??null}clone(){return r.fromJSON(this.write({}))}getCompatibleForVTL(e){if(this.size[0]!==this.size[1]||256===this.size[0]&&512===e)return null;let t=(512===this.size[0]&&256===e?-1:0)+ +!!this.spatialReference.isGeographic;if(this.size[0]===e&&0===t)return this;let i=[],s=this.lods.length-t;for(let e=0;e<s;e++){let r=e+t,{scale:s,resolution:l}=r>=0?this.lods[r]:{scale:2*this.lods[0].scale,resolution:2*this.lods[0].resolution};i.push(new f.A({level:e,scale:s,resolution:l}))}return new r({size:[e,e],dpi:this.dpi,format:this.format,compressionQuality:this.compressionQuality,origin:this.origin,spatialReference:this.spatialReference,lods:i})}_initializeUpsampleLevels(){let e=this.lods;this._upsampleLevels=[];let t=null;for(let i=0;i<e.length;i++){let r=e[i];this._upsampleLevels[r.level]={parentLevel:t?t.level:-1,factor:t?t.resolution/r.resolution:0},t=r}}};(0,s.Cg)([(0,o.MZ)({type:Number,json:{write:!0}})],w.prototype,"compressionQuality",void 0),(0,s.Cg)([(0,o.MZ)({type:Number,json:{write:!0}})],w.prototype,"dpi",void 0),(0,s.Cg)([(0,o.MZ)({type:String,json:{read:v.read,write:v.write,origins:{"web-scene":{read:!1,write:!1}}}})],w.prototype,"format",void 0),(0,s.Cg)([(0,o.MZ)({readOnly:!0})],w.prototype,"isWrappable",null),(0,s.Cg)([(0,o.MZ)({type:h.A,json:{write:!0}})],w.prototype,"origin",void 0),(0,s.Cg)([(0,g.w)("origin")],w.prototype,"readOrigin",null),(0,s.Cg)([(0,o.MZ)({type:[f.A],value:null,json:{write:!0}})],w.prototype,"lods",null),(0,s.Cg)([(0,o.MZ)({readOnly:!0})],w.prototype,"scales",void 0),(0,s.Cg)([(0,o.MZ)({cast:e=>Array.isArray(e)?e:"number"==typeof e?[e,e]:[256,256]})],w.prototype,"size",void 0),(0,s.Cg)([(0,g.w)("size",["rows","cols"])],w.prototype,"readSize",null),(0,s.Cg)([(0,y.K)("size",{cols:{type:u.jz},rows:{type:u.jz}})],w.prototype,"writeSize",null),(0,s.Cg)([(0,o.MZ)({type:p.A,json:{write:!0}})],w.prototype,"spatialReference",void 0),w=r=(0,s.Cg)([(0,o.$K)("esri.layers.support.TileInfo")],w)},72802(e,t,i){i.d(t,{U:()=>s});var r=i(19419);class s{constructor(e,t,i,s=(0,r.vt)()){this._level=e,this._row=t,this._col=i,this.extent=s}get id(){return this._id??=`${this.level}/${this.row}/${this.col}`,this._id}get level(){return this._level}set level(e){this._level=e,this._id=null}get row(){return this._row}set row(e){this._row=e,this._id=null}get col(){return this._col}set col(e){this._col=e,this._id=null}toJSON(){return{level:this._level,row:this._row,col:this._col,extent:this.extent}}static fromJSON(e){return new s(e.level,e.row,e.col,e.extent)}}},25943(e,t,i){i.d(t,{d:()=>_});var r,s=i(32198),l=i(56507),n=i(69622),a=i(49186),o=i(36563),u=(i(44208),i(66344)),h=i(15142),p=i(17676),c=i(36708),d=i(76030),f=i(84952),m=i(91429),g=i(72802),y=i(4718),v=i(69397);class w{constructor(e){!function(e){if(!e?.location)throw new a.A("tilemap:missing-location","Location missing from tilemap response");if(!1===e.valid)throw new a.A("tilemap:invalid","Tilemap response was marked as invalid");if(!e.data)throw new a.A("tilemap:missing-data","Data missing from tilemap response");if(!Array.isArray(e.data))throw new a.A("tilemap:data-mismatch","Data must be an array of numbers");if(e.data.length!==e.location.width*e.location.height)throw new a.A("tilemap:data-mismatch","Number of data items does not match width/height of tilemap")}(e);let{location:t,data:i}=e;this.location=Object.freeze((0,y.o8)(t));let r=this.location.width,s=this.location.height,l=!0,n=!0,o=function(e,t=!1){return e<=1024?t?Array(e).fill(0):Array(e):new Uint32Array(e)}(Math.ceil(r*s/32)),u=0;for(let e=0;e<i.length;e++){let t=e%32;i[e]?(n=!1,o[u]|=1<<t):l=!1,31===t&&++u}n?(this._availability="unavailable",this.byteSize=40):l?(this._availability="available",this.byteSize=40):(this._availability=o,this.byteSize=40+(0,v.Qf)(o))}getAvailability(e,t){if("unavailable"===this._availability||"available"===this._availability)return this._availability;let i=(e-this.location.top)*this.location.width+(t-this.location.left),r=i%32,s=i>>5,l=this._availability;return s<0||s>l.length?"unknown":l[s]&1<<r?"available":"unavailable"}static fromDefinition(e,t){let i=e.service.request||l.A,{row:r,col:s,width:n,height:o}=e,u={query:{f:"json"}};return t=t?{...u,...t}:u,i(function(e){let t;if(e.service.tileServers?.length){let 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}`;let 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:r,left:s,width:n,height:o},valid:!0,data:Array(n*o).fill(0)};throw e}).then(e=>{if(e.location&&(e.location.top!==r||e.location.left!==s||e.location.width!==n||e.location.height!==o))throw new a.A("tilemap:location-mismatch","Tilemap response for different location than requested",{response:e,definition:{top:r,left:s,width:n,height:o}});return w.fromJSON(e)})}static fromJSON(e){return Object.freeze(new w(e))}}function b(e){return`${e.level}/${e.row}/${e.col}/${e.width}/${e.height}`}function A(e,t,i){return new a.A("tile-map:tile-unavailable","Tile is not available",{level:e,row:t,col:i})}let _=class extends n.A{static{r=this}constructor(e){super(e),this._pendingTilemapRequests={},this.request=l.A,this.size=32,this._prefetchingEnabled=!0}initialize(){this._tilemapCache=new u.q(2097152),this.addHandles((0,c.wB)(()=>{let{layer:e}=this;return[e?.parsedUrl,e?.tileServers,e?.apiKey,e?.customParameters]},()=>this._initializeTilemapDefinition(),c.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";let r=this._tilemapFromCache(e,t,i,this._tmpTilemapDefinition);return r?r.getAvailability(t,i):"unknown"}fetchAvailability(e,t,i,r){return!this.layer.tileInfo.lodAt(e)||e<this.effectiveMinLOD||e>this.effectiveMaxLOD?Promise.reject(A(e,t,i)):this._fetchTilemap(e,t,i,r).catch(e=>e).then(r=>{if(r instanceof w){let s=r.getAvailability(t,i);if("unavailable"===s)throw A(e,t,i);return s}if((0,p.zf)(r))throw r;return"unknown"})}fetchAvailabilityUpsample(e,t,i,r,s){r.level=e,r.row=t,r.col=i;let l=this.layer.tileInfo;l.updateTileInfo(r);let n=this.fetchAvailability(e,t,i,s).catch(e=>{if((0,p.zf)(e))throw e;if(l.upsampleTile(r))return this.fetchAvailabilityUpsample(r.level,r.row,r.col,r,s);throw e});return this._fetchAvailabilityUpsamplePrefetch(e,t,i,s,n),n}async _fetchAvailabilityUpsamplePrefetch(e,t,i,s,l){if(!this._prefetchingEnabled)return;let n=`prefetch-${e}-${t}-${i}`;if(this.hasHandles(n))return;let a=new AbortController;l.then(()=>a.abort(),()=>a.abort());let u=!1,h=(0,o.hA)(()=>{u||(u=!0,a.abort())});if(this.addHandles(h,n),await(0,d.md)(10,a.signal).catch(()=>{}),u||(u=!0,this.removeHandles(n)),(0,p.G4)(a))return;let c=new g.U(e,t,i),f={...s,signal:a.signal},m=this.layer.tileInfo;for(let e=0;r._prefetches.length<r._maxPrefetch&&m.upsampleTile(c);++e){let e=this.fetchAvailability(c.level,c.row,c.col,f);r._prefetches.push(e);let t=()=>{r._prefetches.removeUnordered(e)};e.then(t,t)}}static{this._maxPrefetch=4}static{this._prefetches=new h.A({initialSize:r._maxPrefetch})}static cleanupTilemapCache(){this._prefetches.prune()}_fetchTilemap(e,t,i,r){if(!this.layer.tileInfo.lodAt(e)||e<this.effectiveMinLOD||e>this.effectiveMaxLOD)return Promise.reject(new a.A("tilemap-cache:level-unavailable",`Level ${e} is unavailable in the service`));let s=this._tmpTilemapDefinition,l=this._tilemapFromCache(e,t,i,s);if(l)return Promise.resolve(l);let n=r?.signal;return r={...r,signal:null},new Promise((e,t)=>{(0,p.u7)(n,()=>t((0,p.NK)()));let i=b(s),l=this._pendingTilemapRequests[i];if(!l){l=w.fromDefinition(s,r).then(e=>(this._tilemapCache.put(i,e,e.byteSize),e));let e=()=>{delete this._pendingTilemapRequests[i]};this._pendingTilemapRequests[i]=l,l.then(e,e)}l.then(e,t)})}_initializeTilemapDefinition(){if(!this.layer.parsedUrl)return;let{parsedUrl:e,apiKey:t,customParameters:i}=this.layer;this._tilemapCache.clear(),this._tmpTilemapDefinition={service:{url:e.path,query:(0,f.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,r){r.level=e,r.row=t-t%this.size,r.col=i-i%this.size;let s=b(r);return this._tilemapCache.get(s)}get test(){}};(0,s.Cg)([(0,m.MZ)({constructOnly:!0})],_.prototype,"layer",void 0),(0,s.Cg)([(0,m.MZ)({constructOnly:!0})],_.prototype,"minLOD",void 0),(0,s.Cg)([(0,m.MZ)({constructOnly:!0})],_.prototype,"maxLOD",void 0),(0,s.Cg)([(0,m.MZ)({constructOnly:!0})],_.prototype,"request",void 0),(0,s.Cg)([(0,m.MZ)({constructOnly:!0})],_.prototype,"size",void 0),_=r=(0,s.Cg)([(0,m.$K)("esri.layers.support.TilemapCache")],_)},82371(e,t,i){i.d(t,{E9:()=>f,Tw:()=>c,X6:()=>d});var r=i(56507),s=i(5443),l=i(86738),n=i(16930),a=i(87186),o=i(20223),u=i(2272),h=i(22671);async function p(e,t,i){let p=(0,u.Dl)(e),{rasterFunction:c,sourceJSON:d}=t||{},f=c?JSON.stringify(c.rasterFunctionDefinition||c):null,m=(0,u.lF)({...p.query,renderingRule:f,f:"json"}),g=(0,u.jV)(m,i);e=p.path;let y=d||await(0,r.A)(e,g).then(e=>e.data),{currentVersion:v}=y,w=y.hasRasterAttributeTable?(0,r.A)(`${e}/rasterAttributeTable`,g):null,b=y.hasColormap?(0,r.A)(`${e}/colormap`,g):null,A=y.hasHistograms?(0,r.A)(`${e}/histograms`,g):null,_=v>=10.3?(0,r.A)(`${e}/keyProperties`,g):null,C=y.hasMultidimensions?(0,r.A)(`${e}/multidimensionalInfo`,g):null,S=(c?v>=10.91:v>=10.81)?(0,r.A)(`${e}/statistics`,g):null,R=await Promise.allSettled([w,b,A,_,C,S]),M=s.A.fromJSON(y.extent),O=Math.ceil(M.width/y.pixelSizeX-.1),x=Math.ceil(M.height/y.pixelSizeY-.1),I=n.A.fromJSON(y.spatialReference||y.extent.spatialReference),T="fulfilled"===R[0].status?R[0].value?.data:null,P=T?.features?.length?h.A.fromJSON(T):null,N="fulfilled"===R[1].status?R[1].value?.data.colormap:null,z=N?.length?N:null,F="fulfilled"===R[2].status?R[2].value?.data.histograms:null,Z=F?.[0]?.counts?.length?F:null,D="fulfilled"===R[3].status?R[3].value?.data??{}:{},j="fulfilled"===R[4].status?R[4].value?.data.multidimensionalInfo:null,J=j?.variables?.length?j:null;var L;(L=J)&&L.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")})});let $=function(e,t){let i=null;t&&t.length===e.bandCount&&(i=t.map(e=>{let t=e.covariances?.trim(),i=t?t.split(",").map(Number):void 0;return{avg:e.mean,count:e.count,max:e.max,median:e.median,min:e.min,mode:e.mode,stddev:e.standardDeviation,sum:e.sum,covariances:i}}));let r=e.minValues?.length===e.bandCount?e.minValues.map((t,i)=>({min:t,max:e.maxValues[i],avg:e.meanValues[i],stddev:e.stdvValues[i]})):null;return null==r||null==i||i.some((e,t)=>e.min!==r[t]?.min||e.max!==r[t]?.max||e.avg!==r[t]?.avg||e.stddev!==r[t]?.stddev)?r:i}(y,"fulfilled"===R[5].status?R[5].value?.data.statistics:null),{defaultVariable:V,serviceDataType:q}=y;V&&V!==D.DefaultVariable&&(D.DefaultVariable=V),q?.includes("esriImageServiceDataTypeVector")&&!q.includes(D.DataType)&&(D.DataType=q.replace("esriImageServiceDataType",""));let E=y.noDataValue;y.noDataValues?.length&&y.noDataValues.some(e=>e!==E)&&(E=y.noDataValues);let k=y.transposeInfo?new o.A({blockWidth:256,blockHeight:256,pyramidBlockWidth:256,pyramidBlockHeight:256,pyramidScalingFactor:2,compression:"lerc",origin:new l.A({x:y.extent.xmin,y:y.extent.ymax,spatialReference:I}),firstPyramidLevel:1,maximumPyramidLevel:Math.max(0,Math.round(Math.log(Math.max(O,x))/Math.LN2-8)),transposeInfo:y.transposeInfo}):void 0;return new a.A({width:O,height:x,bandCount:y.bandCount,extent:s.A.fromJSON(y.extent),spatialReference:I,pixelSize:new l.A({x:y.pixelSizeX,y:y.pixelSizeY,spatialReference:I}),pixelType:y.pixelType.toLowerCase(),statistics:$,attributeTable:P,colormap:z,histograms:Z,keyProperties:D,noDataValue:E,multidimensionalInfo:J,storageInfo:k})}function c(e,t,i){return p(e,{sourceJSON:t},i)}function d(e,t,i){return p(e,{rasterFunction:t},i)}function f(e,t){e.attributeTable||(t.hasRasterAttributeTable=!1),e.histograms||(t.hasHistograms=!1),e.colormap||(t.hasColormap=!1),e.multidimensionalInfo||(t.hasMultidimensions=!1)}},2272(e,t,i){i.d(t,{Dl:()=>u,gf:()=>p,jV:()=>o,lF:()=>h});var r=i(92602),s=i(70333),l=i(4718),n=i(84952),a=i(926);function o(e,t){return t?{...t,query:{...e,...t.query}}:{query:e}}function u(e){return"string"==typeof e?(0,n.An)(e):(0,l.o8)(e)}function h(e,t,i){let r={};for(let s in e){if("declaredClass"===s)continue;let l=e[s];if(null!=l&&"function"!=typeof l)if(Array.isArray(l))r[s]=l.map(e=>h(e));else if("object"==typeof l)if(l.toJSON){let e=l.toJSON(i?.[s]);r[s]=t?e:JSON.stringify(e)}else r[s]=t?l:JSON.stringify(l);else r[s]=l}return r}async function p(e,t,l){return function(e,t){return e?t&&(0,a.Qc)(e)?t:(0,a.getApiKey)(e)??s.id?.findCredential(e)?.token:null}(e,t)||(!s.id&&r.A.request.useIdentity&&await Promise.all([i.e(6361),i.e(7644),i.e(3713)]).then(()=>i(50148)),(await s.id.getCredential(e,l))?.token)}},24212(e,t,i){i.d(t,{$7:()=>o,B:()=>a,M7:()=>p,XF:()=>h,tW:()=>u,w7:()=>n});var r=i(56512),s=i(86211),l=i(16271);function n(e,t){return function(e,t){return t?.mode?t.mode:function(e){return e?c:d}(e).mode}(null==e||(e.hasZ??!1),t)}function a(e,t,i){return i&&i.mode!==t?`${e} only support ${t} elevation mode`:null}function o(e,t,i){return i?.mode===t?`${e} do not support ${t} elevation mode`:null}function u(e,t){return null!=t?.featureExpressionInfo&&"0"!==t.featureExpressionInfo.expression?`${e} do not support featureExpressionInfo`:null}function h(e,t){t&&e.warn(".elevationInfo=",t)}function p(e){return(e?.offset??0)*(0,l.Ao)(e?.unit)}(0,r.B)((e,t,i)=>{if(!e||"decimal-degrees"===t)return 0;let r="unknown"!==t&&t?t:"meters",l=(0,s.mq)(i);return l?(0,s.oU)(e,r,l):0});const c={mode:"absolute-height",offset:0},d={mode:"on-the-ground",offset:null}}}]);
@@ -602,7 +602,7 @@ vec3 rawNormal = textureLookup(normalTexture, uv).rgb * 2.0 - 1.0;`),g&&r.code.a
602
602
  normalTextureTransformMatrix[1][0]/scale[0], normalTextureTransformMatrix[1][1]/scale[1], 0.0,
603
603
  0.0, 0.0, 0.0 );
604
604
  rawNormal.xy = (normalRotation * vec3(rawNormal.x, rawNormal.y, 1.0)).xy;`),r.code.add(l.H`return tangentSpace * rawNormal;
605
- }`))}(e,t)}},68785(e,t,r){r.d(t,{n:()=>zt});var i=r(31821),n=r(12791),o=r(32198),a=r(34727),s=r(97768),l=r(36708),c=r(78659),u=r(91429),d=r(37585),h=r(69540);let f=class extends h.Pw{constructor(e){super(e),this.row=0,this.column=0,this.rows=1,this.columns=1}equals(e){return null!=e&&this.row===e.row&&this.rows===e.rows&&this.column===e.column&&this.columns===e.columns}};(0,o.Cg)([(0,u.MZ)({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],f.prototype,"row",void 0),(0,o.Cg)([(0,u.MZ)({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],f.prototype,"column",void 0),(0,o.Cg)([(0,u.MZ)({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],f.prototype,"rows",void 0),(0,o.Cg)([(0,u.MZ)({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],f.prototype,"columns",void 0),f=(0,o.Cg)([(0,u.$K)("esri.CameraLayout")],f);const m=f;var p=r(69052),v=r(25482),g=r(78888),x=r(86738),_=r(43937),b=r(36005);let y=class extends((0,h.OU)(v.o)){constructor(...e){super(...e),this.position=new x.A([0,0,0]),this.heading=0,this.tilt=0,this.fov=55,this.layout=new m}normalizeCtorArgs(e,t,r,i){if(e&&"object"==typeof e&&("x"in e||Array.isArray(e))){let n={position:e};return null!=t&&(n.heading=t),null!=r&&(n.tilt=r),null!=i&&(n.fov=i),n}return e}writePosition(e,t,r,i){let n=e.clone();n.x=(0,g.GB)(e.x||0),n.y=(0,g.GB)(e.y||0),n.z=e.hasZ?(0,g.GB)(e.z||0):e.z,t[r]=n.write({},i)}readPosition(e,t){let r=new x.A;return r.read(e,t),r.x=(0,g.GB)(r.x||0),r.y=(0,g.GB)(r.y||0),r.z=r.hasZ?(0,g.GB)(r.z||0):r.z,r}equals(e){return null!=e&&this.tilt===e.tilt&&this.heading===e.heading&&this.fov===e.fov&&this.position.equals(e.position)&&this.layout.equals(e.layout)}};(0,o.Cg)([(0,u.MZ)({type:x.A,json:{write:{isRequired:!0}}})],y.prototype,"position",void 0),(0,o.Cg)([(0,_.K)("position")],y.prototype,"writePosition",null),(0,o.Cg)([(0,b.w)("position")],y.prototype,"readPosition",null),(0,o.Cg)([(0,u.MZ)({type:Number,nonNullable:!0,json:{write:{isRequired:!0}}}),(0,u.wg)(e=>p.ie.normalize((0,g.GB)(e)))],y.prototype,"heading",void 0),(0,o.Cg)([(0,u.MZ)({type:Number,nonNullable:!0,json:{write:{isRequired:!0}}}),(0,u.wg)(e=>(0,a.qE)((0,g.GB)(e),-180,180))],y.prototype,"tilt",void 0),(0,o.Cg)([(0,u.MZ)({type:Number,nonNullable:!0,json:{default:55,write:!0}}),(0,u.wg)(e=>(0,a.qE)((0,g.GB)(e,55),1,170))],y.prototype,"fov",void 0),(0,o.Cg)([(0,u.MZ)({type:m,nonNullable:!0,json:{read:!1,write:!1}})],y.prototype,"layout",void 0),y=(0,o.Cg)([(0,u.$K)("esri.Camera")],y);var w=r(9093),M=r(35522),T=r(51850),S=r(16930),C=(r(48353),r(9762),r(65806)),A=r(27993),E=r(73941),O=(r(19419),r(58083)),I=r(65720),P=r(71351),D=r(69622),R=r(53966),F=r(90629),B=r(48163),N=r(78955),z=r(91829),L=r(44280);function H(e,t,r){e.worldUpAtPosition(t,V),(0,M.Re)(U,r,t);let i=(0,M.Bw)(U);return 0===i?0:(0,a.XM)((0,M.Om)(U,V)/i)}const V=(0,T.vt)(),U=(0,T.vt)();var j;let k=j=class extends D.A{constructor(e){super(e),this._ray=(0,P.vt)(),this._viewport=(0,z.fA)(0,0,1,1),this._padding=(0,z.fA)(0,0,0,0),this._fov=55/180*Math.PI,this._nearFar=(0,B.fA)(1,1e3),this._viewDirty=!0,this._viewMatrix=(0,w.vt)(),this._viewProjectionDirty=!0,this._viewProjectionMatrix=(0,w.vt)(),this._viewInverseTransposeMatrixDirty=!0,this._viewInverseTransposeMatrix=(0,w.vt)(),this._frustumDirty=!0,this._frustum=(0,I.vt)(),this._fullViewport=(0,z.vt)(),this._fullViewportDirty=!0,this._pixelRatio=1,this.pixelScale=1,this.row=0,this.column=0,this._rows=1,this._columns=1,this._center=(0,T.vt)(),this._up=(0,T.vt)(),this.relativeElevation=0}get pixelRatio(){return this._pixelRatio}set pixelRatio(e){this._pixelRatio=e>0?e:1}get rows(){return this._rows}set rows(e){this._rows=Math.max(1,e)}get columns(){return this._columns}set columns(e){this._columns=Math.max(1,e)}get eye(){return this._ray.origin}set eye(e){this._compareAndSetView(e,this._ray.origin,"eye")}get center(){return this._center}set center(e){this._compareAndSetView(e,this._center,"_center")}get ray(){return(0,M.Re)(this._ray.direction,this.center,this.eye),this._ray}get up(){return this._up}set up(e){this._compareAndSetView(e,this._up,"_up")}get viewMatrix(){return this._ensureViewClean(),this._viewMatrix}set viewMatrix(e){(0,O.C)(this._viewMatrix,e),this.notifyChange("_viewMatrix"),this._viewDirty=!1,this._viewInverseTransposeMatrixDirty=!0,this._viewProjectionDirty=!0,this._frustumDirty=!0}get inverseViewMatrix(){return(0,O.Qw)((0,w.vt)(),this.viewMatrix)||this._get("inverseViewMatrix")||(0,w.vt)()}get viewForward(){return this._ensureViewClean(),(0,M.hZ)((0,T.vt)(),-this._viewMatrix[2],-this._viewMatrix[6],-this._viewMatrix[10])}get viewUp(){return this._ensureViewClean(),(0,M.hZ)((0,T.vt)(),this._viewMatrix[1],this._viewMatrix[5],this._viewMatrix[9])}get viewRight(){return this._ensureViewClean(),(0,M.hZ)((0,T.vt)(),this._viewMatrix[0],this._viewMatrix[4],this._viewMatrix[8])}get nearFar(){return this._nearFar}get near(){return this._nearFar[0]}set near(e){this._nearFar[0]!==e&&(this._nearFar[0]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_nearFar"))}get far(){return this._nearFar[1]}set far(e){this._nearFar[1]!==e&&(this._nearFar[1]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_nearFar"))}get viewport(){return this._viewport}set viewport(e){this.x=e[0],this.y=e[1],this.width=e[2],this.height=e[3]}get screenViewport(){if(1===this.pixelRatio)return this._viewport;let e=(0,N.hs)((0,z.vt)(),this._viewport,1/this.pixelRatio),t=this._get("screenViewport");return t&&(0,N.aI)(e,t)?t:e}get screenPadding(){if(1===this.pixelRatio)return this._padding;let e=(0,N.hs)((0,z.vt)(),this._padding,1/this.pixelRatio),t=this._get("screenPadding");return t&&(0,N.aI)(e,t)?t:e}get x(){return this._viewport[0]}set x(e){e+=this._padding[3],this._viewport[0]!==e&&(this._viewport[0]=e,this._fullViewportDirty=!0,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get y(){return this._viewport[1]}set y(e){e+=this._padding[2],this._viewport[1]!==e&&(this._viewport[1]=e,this._fullViewportDirty=!0,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get width(){return this._viewport[2]}set width(e){this._viewport[2]!==e&&(this._viewport[2]=e,this._fullViewportDirty=!0,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get height(){return this._viewport[3]}set height(e){this._viewport[3]!==e&&(this._viewport[3]=e,this._fullViewportDirty=!0,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get fullWidth(){return this._viewport[2]+this._padding[1]+this._padding[3]}set fullWidth(e){this.width=e-(this._padding[1]+this._padding[3])}get fullHeight(){return this._viewport[3]+this._padding[0]+this._padding[2]}set fullHeight(e){this.height=e-(this._padding[0]+this._padding[2])}get fullViewport(){return this._fullViewportDirty&&=(this._fullViewport[0]=this._viewport[0]-this._padding[3],this._fullViewport[1]=this._viewport[1]-this._padding[2],this._fullViewport[2]=this._viewport[2]+this._padding[1]+this._padding[3],this._fullViewport[3]=this._viewport[3]+this._padding[0]+this._padding[2],!1),this._fullViewport}get _aspect(){return this.width/this.height}get padding(){return this._padding}set padding(e){(0,N.t2)(this._padding,e)||(this._viewport[0]+=e[3]-this._padding[3],this._viewport[1]+=e[2]-this._padding[2],this._viewport[2]-=e[1]+e[3]-(this._padding[1]+this._padding[3]),this._viewport[3]-=e[0]+e[2]-(this._padding[0]+this._padding[2]),(0,N.C)(this._padding,e),this._fullViewportDirty=!0,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_padding"),this.notifyChange("_viewport"))}get viewProjectionMatrix(){return this._viewProjectionDirty&&=((0,O.lw)(this._viewProjectionMatrix,this.projectionMatrix,this.viewMatrix),!1),this._viewProjectionMatrix}get projectionMatrix(){return this._projectionMatrixInternal}get inverseProjectionMatrix(){return(0,O.B8)((0,w.vt)(),this.projectionMatrix)||this._get("inverseProjectionMatrix")||(0,w.vt)()}get fov(){return this._fov}set fov(e){this._fov=e,this._viewProjectionDirty=!0,this._frustumDirty=!0}get fovX(){return e=this._fov,t=this.width,r=this.height,2*Math.atan(t*Math.tan(.5*e)/Math.sqrt(t*t+r*r));var e,t,r}set fovX(e){this._fov=function(e,t,r){return 2*Math.atan(Math.sqrt(t*t+r*r)*Math.tan(.5*e)/t)}(e,this.width,this.height),this._viewProjectionDirty=!0,this._frustumDirty=!0}get fovY(){return e=this._fov,t=this.width,r=this.height,2*Math.atan(r*Math.tan(.5*e)/Math.sqrt(t*t+r*r));var e,t,r}set fovY(e){this._fov=function(e,t,r){return 2*Math.atan(Math.sqrt(t*t+r*r)*Math.tan(.5*e)/r)}(e,this.width,this.height),this._viewProjectionDirty=!0,this._frustumDirty=!0}get distance(){return(0,M.Io)(this.center,this.eye)}get frustum(){return this._recomputeFrustum(),this._frustum}get viewInverseTransposeMatrix(){return(this._viewInverseTransposeMatrixDirty||this._viewDirty)&&((0,O.B8)(this._viewInverseTransposeMatrix,this.viewMatrix),(0,O.mg)(this._viewInverseTransposeMatrix,this._viewInverseTransposeMatrix),this._viewInverseTransposeMatrixDirty=!1),this._viewInverseTransposeMatrix}depthNDCToWorld(e){let{near:t,far:r}=this;return 2*t*r/(r+t-e*(r-t))}get renderPixelSizePerDistance(){return Math.tan(this.fovX/2)/(this.width/2)}get screenPixelSizePerDistance(){return this.renderPixelSizePerDistance*this.pixelRatio}get aboveGround(){return null!=this.relativeElevation&&this.relativeElevation>=0}get _projectionMatrixInternal(){let e=this.width,t=this.height,r=this.near*Math.tan(this.fovY/2)*2,i=r*this._aspect,n=r/this.rows,o=i/this.columns,a=-i/2+this.column*o,s=a+o,l=-r/2+this.row*n,c=l+n,u=(0,O.$h)((0,w.vt)(),a*(1+2*this._padding[3]/e),s*(1+2*this._padding[1]/e),l*(1+2*this._padding[2]/t),c*(1+2*this._padding[0]/t),this.near,this.far),d=this._get("projectionMatrix");return d&&(0,O.t2)(d,u)?d:u}copyFrom(e){(0,M.C)(this._ray.origin,e.eye),this.center=e.center,this.up=e.up,(0,N.C)(this._viewport,e.viewport),this.notifyChange("_viewport"),(0,N.C)(this._padding,e.padding),this.notifyChange("_padding"),this._fullViewportDirty=!0,(0,d.C)(this._nearFar,e.nearFar),this.notifyChange("_nearFar"),this._fov=e.fov,this.row=e.row,this.column=e.column,this.rows=e.rows,this.columns=e.columns,this.relativeElevation=e.relativeElevation;let t=e;return this._viewDirty=t._viewDirty,this._viewDirty||((0,O.C)(this._viewMatrix,e.viewMatrix),this.notifyChange("_viewMatrix")),this._viewProjectionDirty=!0,this._frustumDirty=t._frustumDirty,this._frustumDirty||=((0,I.C)(this._frustum,e.frustum),!1),t._viewInverseTransposeMatrixDirty?this._viewInverseTransposeMatrixDirty=!0:((0,O.C)(this._viewInverseTransposeMatrix,e.viewInverseTransposeMatrix),this._viewInverseTransposeMatrixDirty=!1),this.pixelRatio=e.pixelRatio,this.pixelScale=e.pixelScale,this}copyViewFrom(e){this.eye=e.eye,this.center=e.center,this.up=e.up,this.fov=e.fov}clone(){return(new j).copyFrom(this)}equals(e){return(0,M.t2)(this.eye,e.eye)&&(0,M.t2)(this.center,e.center)&&(0,M.t2)(this.up,e.up)&&(0,N.t2)(this._viewport,e.viewport)&&(0,N.t2)(this._padding,e.padding)&&(0,d.t2)(this.nearFar,e.nearFar)&&this._fov===e.fov&&this.pixelRatio===e.pixelRatio&&this.relativeElevation===e.relativeElevation&&this.row===e.row&&this.column===e.column&&this.rows===e.rows&&this.columns===e.columns}equalsView(e){return(0,M.t2)(this.eye,e.eye)&&(0,M.t2)(this.center,e.center)&&(0,M.t2)(this.up,e.up)&&this._fov===e.fov}almostEquals(e){let t=Math.max(1,1/this.pixelRatio,1/e.pixelRatio);if(Math.abs(e.fov-this._fov)>=.001||(0,N.hG)(e.screenPadding,this.screenPadding)>=t||(0,N.hG)(this.screenViewport,e.screenViewport)>=t||this.row!==e.row||this.column!==e.column||this.rows!==e.rows||this.columns!==e.columns)return!1;(0,M.jb)($,e.eye,e.center),(0,M.jb)(Z,this.eye,this.center);let r=(0,M.Om)($,Z),i=(0,M.uE)($),n=(0,M.uE)(Z),o=5e-4;return r*r>=.9999999999*i*n&&(0,M.lo)(e.eye,this.eye)<Math.max(i,n)*o*o}computeRenderPixelSizeAt(e){return this.computeRenderPixelSizeAtDistance(this._viewDirectionDistance(e))}computeRenderPixelSizeAtDistance(e){return e*this.renderPixelSizePerDistance}computeScreenPixelSizeAt(e){return this.computeScreenPixelSizeAtDistance(this._viewDirectionDistance(e))}_viewDirectionDistance(e){return Math.abs((0,L.gr)(this.viewForward,(0,M.Re)($,e,this.eye)))}computeScreenPixelSizeAtDistance(e){return e*this.screenPixelSizePerDistance}computeDistanceFromRadius(e,t){return e/Math.tan(Math.min(this.fovX,this.fovY)/(2*(t||1)))}getScreenCenter(e=(0,F.gs)()){return e[0]=(this.padding[3]+this.width/2)/this.pixelRatio,e[1]=(this.padding[0]+this.height/2)/this.pixelRatio,e}getRenderCenter(e,t=.5,r=.5){return e[0]=this.padding[3]+this.width*t,e[1]=this.padding[2]+this.height*r,e[2]=.5,e}setGLViewport(e){let t=this.viewport,r=this.padding;e.setViewport(t[0]-r[3],t[1]-r[2],t[2]+r[1]+r[3],t[3]+r[0]+r[2])}applyProjection(e,t){e!==G&&(0,M.C)(G,e),G[3]=1,(0,N.Z0)(G,G,this.projectionMatrix);let r=Math.abs(G[3]);(0,M.hs)(G,G,1/r);let i=this.fullViewport;t[0]=(0,a.Cc)(0,i[0]+i[2],.5+.5*G[0]),t[1]=(0,a.Cc)(0,i[1]+i[3],.5+.5*G[1]),t[2]=.5*(G[2]+1),t[3]=r}unapplyProjection(e,t){let r=this.fullViewport;G[0]=(e[0]/(r[0]+r[2])*2-1)*e[3],G[1]=(e[1]/(r[1]+r[3])*2-1)*e[3],G[2]=(2*e[2]-1)*e[3],G[3]=e[3],null!=this.inverseProjectionMatrix&&((0,N.Z0)(G,G,this.inverseProjectionMatrix),t[0]=G[0],t[1]=G[1],t[2]=G[2])}projectToScreen(e,t){return null==this.projectToRenderScreen(e,q)?null:(this.renderToScreen(q,t),t)}projectToRenderScreen(e,t){if(G[0]=e[0],G[1]=e[1],G[2]=e[2],G[3]=1,(0,N.Z0)(G,G,this.viewProjectionMatrix),0===G[3])return null;let r=G;(0,M.hs)(r,r,1/Math.abs(G[3]));let i=this.fullViewport,n=(0,a.Cc)(0,i[0]+i[2],.5+.5*r[0]),o=(0,a.Cc)(0,i[1]+i[3],.5+.5*r[1]);return"x"in t?(t.x=n,t.y=o):(t[0]=n,t[1]=o,t.length>2&&(t[2]=.5*(r[2]+1))),t}unprojectFromScreen(e,t){return this.unprojectFromRenderScreen(this.screenToRender(e,q),t)}unprojectFromRenderScreen(e,t){if((0,O.lw)(W,this.projectionMatrix,this.viewMatrix),!(0,O.B8)(W,W))return null;let r=this.fullViewport;return G[0]=2*(e[0]-r[0])/r[2]-1,G[1]=2*(e[1]-r[1])/r[3]-1,G[2]=2*e[2]-1,G[3]=1,(0,N.Z0)(G,G,W),0===G[3]?null:(t[0]=G[0]/G[3],t[1]=G[1]/G[3],t[2]=G[2]/G[3],t)}constrainWindowSize(e,t,r,i){let n=e*this.pixelRatio,o=t*this.pixelRatio,a=Math.max(n-r/2,0),s=Math.max(this.fullHeight-o-i/2,0),l=-Math.min(n-r/2,0),c=-Math.min(this.fullHeight-o-i/2,0),u=r-l- -Math.min(this.fullWidth-n-r/2,0),d=i-c- -Math.min(o-i/2,0);return[Math.round(a),Math.round(s),Math.round(u),Math.round(d)]}computeUp(e){1===e?this._computeUpGlobal():this._computeUpLocal()}screenToRender(e,t){let r=e[0]*this.pixelRatio,i=this.fullHeight-e[1]*this.pixelRatio;return t[0]=r,t[1]=i,t}renderToScreen(e,t){let r=e[0]/this.pixelRatio,i=(this.fullHeight-e[1])/this.pixelRatio;t[0]=r,t[1]=i}sphereFrustumCoverage(e,t){let{center:r,eye:i,distance:n,fovY:o}=this,a=Math.abs(Math.PI/2-H(t,r,i));return e.frustumCoverage(a,n,o)}_computeUpGlobal(){(0,M.Re)($,this.center,this.eye);let e=(0,M.Bw)(this.center);e<1?(0,M.t2)(this._up,T.Cb)&&((0,M.C)(this._up,T.Cb),this._markViewDirty(),this.notifyChange("_up")):Math.abs((0,M.Om)($,this.center))>.9999*(0,M.Bw)($)*e||((0,M.$A)(Z,$,this.center),(0,M.$A)(Z,Z,$),(0,M.S8)(Z,Z),(0,M.t2)(this._up,Z)||((0,M.C)(this._up,Z),this.notifyChange("_up"),this._markViewDirty()))}_computeUpLocal(){(0,M.oW)($,this.eye,this.center),Math.abs($[2])<=.9999&&((0,M.hs)($,$,$[2]),(0,M.hZ)($,-$[0],-$[1],1-$[2]),(0,M.S8)($,$),(0,M.t2)(this._up,$)||((0,M.C)(this._up,$),this.notifyChange("_up"),this._markViewDirty()))}_compareAndSetView(e,t,r){"number"==typeof e[0]&&isFinite(e[0])&&"number"==typeof e[1]&&isFinite(e[1])&&"number"==typeof e[2]&&isFinite(e[2])?(0,M.t2)(e,t)||((0,M.C)(t,e),this._markViewDirty(),this.notifyChange(r)):R.A.getLogger("esri.views.3d.webgl-engine.lib.RenderCamera").warn("RenderCamera vector contains invalid number, ignoring value")}_markViewDirty(){this._viewDirty=!0,this._frustumDirty=!0,this._viewProjectionDirty=!0}_recomputeFrustum(){this._frustumDirty&&=((0,I.ui)(this.viewMatrix,this.projectionMatrix,this._frustum),!1)}_ensureViewClean(){this._viewDirty&&((0,O.t5)(this._viewMatrix,this.eye,this.center,this.up),this.notifyChange("_viewMatrix"),this._viewDirty=!1,this._viewInverseTransposeMatrixDirty=!0)}};(0,o.Cg)([(0,u.MZ)()],k.prototype,"_viewport",void 0),(0,o.Cg)([(0,u.MZ)()],k.prototype,"_padding",void 0),(0,o.Cg)([(0,u.MZ)()],k.prototype,"_fov",void 0),(0,o.Cg)([(0,u.MZ)()],k.prototype,"_nearFar",void 0),(0,o.Cg)([(0,u.MZ)()],k.prototype,"_viewDirty",void 0),(0,o.Cg)([(0,u.MZ)()],k.prototype,"_viewMatrix",void 0),(0,o.Cg)([(0,u.MZ)()],k.prototype,"pixelRatio",null),(0,o.Cg)([(0,u.MZ)()],k.prototype,"_pixelRatio",void 0),(0,o.Cg)([(0,u.MZ)()],k.prototype,"pixelScale",void 0),(0,o.Cg)([(0,u.MZ)()],k.prototype,"row",void 0),(0,o.Cg)([(0,u.MZ)()],k.prototype,"column",void 0),(0,o.Cg)([(0,u.MZ)()],k.prototype,"_rows",void 0),(0,o.Cg)([(0,u.MZ)()],k.prototype,"rows",null),(0,o.Cg)([(0,u.MZ)()],k.prototype,"_columns",void 0),(0,o.Cg)([(0,u.MZ)()],k.prototype,"columns",null),(0,o.Cg)([(0,u.MZ)()],k.prototype,"eye",null),(0,o.Cg)([(0,u.MZ)()],k.prototype,"center",null),(0,o.Cg)([(0,u.MZ)()],k.prototype,"_center",void 0),(0,o.Cg)([(0,u.MZ)()],k.prototype,"up",null),(0,o.Cg)([(0,u.MZ)()],k.prototype,"_up",void 0),(0,o.Cg)([(0,u.MZ)()],k.prototype,"viewMatrix",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],k.prototype,"inverseViewMatrix",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],k.prototype,"viewForward",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],k.prototype,"viewUp",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],k.prototype,"viewRight",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],k.prototype,"nearFar",null),(0,o.Cg)([(0,u.MZ)()],k.prototype,"near",null),(0,o.Cg)([(0,u.MZ)()],k.prototype,"far",null),(0,o.Cg)([(0,u.MZ)()],k.prototype,"viewport",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],k.prototype,"screenViewport",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],k.prototype,"screenPadding",null),(0,o.Cg)([(0,u.MZ)()],k.prototype,"x",null),(0,o.Cg)([(0,u.MZ)()],k.prototype,"y",null),(0,o.Cg)([(0,u.MZ)()],k.prototype,"width",null),(0,o.Cg)([(0,u.MZ)()],k.prototype,"height",null),(0,o.Cg)([(0,u.MZ)()],k.prototype,"fullWidth",null),(0,o.Cg)([(0,u.MZ)()],k.prototype,"fullHeight",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],k.prototype,"_aspect",null),(0,o.Cg)([(0,u.MZ)()],k.prototype,"padding",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],k.prototype,"projectionMatrix",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],k.prototype,"inverseProjectionMatrix",null),(0,o.Cg)([(0,u.MZ)()],k.prototype,"fov",null),(0,o.Cg)([(0,u.MZ)()],k.prototype,"fovX",null),(0,o.Cg)([(0,u.MZ)()],k.prototype,"fovY",null),(0,o.Cg)([(0,u.MZ)()],k.prototype,"viewInverseTransposeMatrix",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],k.prototype,"_projectionMatrixInternal",null),(0,o.Cg)([(0,u.MZ)()],k.prototype,"relativeElevation",void 0),k=j=(0,o.Cg)([(0,u.$K)("esri.views.3d.webgl.RenderCamera")],k);const G=(0,z.vt)(),W=(0,w.vt)(),$=(0,T.vt)(),Z=(0,T.vt)(),q=(0,F.r_)();r(49718),r(6867),r(16396),(0,w.vt)(),(0,T.vt)(),(0,T.vt)(),(0,T.vt)();var Y=r(5443),X=r(39829),K=r(95108);function J(e,t,r,i){let n=function(e,t){let r=0===t||2===t?0:1,i=e[t],n=0===t||1===t?1:-1,o=+(0===r);return(e,t,a)=>{if(t[r]<i&&a[r]<i)return 1===n?0:1;if(t[r]>i&&a[r]>i)return+(1===n);let s=(a[o]-t[o])/(a[r]-t[r]),l=t[o]+s*(i-t[r]);return e[r]=i,e[o]=l,(t[r]<i?1:-1)*n>0?2:3}}(r,i);if(e.length=0,t.length){1===n(ee,t[0],t[0])&&Q(e,t[0]);for(let r=0;r<t.length;r++){let i=t[r===t.length-1?0:r+1];switch(n(ee,t[r],i)){case 1:Q(e,i);break;case 3:Q(e,(0,B.o8)(ee));break;case 2:Q(e,(0,B.o8)(ee)),Q(e,i)}}}}function Q(e,t){(0===e.length||!(0,d.aI)(e.at(-1),t))&&e.push(t)}const ee=(0,B.vt)();var te=r(11964),re=r(27921);const ie=(0,T.vt)(),ne=(0,T.vt)();function oe(){return{direction:(0,T.vt)(),up:(0,T.vt)()}}function ae(e,t,r,i,n){let o=(0,M.S8)(ie,e),s=(0,M.Om)(o,i),l=s>0;s=Math.abs(s),s>.99&&(s=Math.abs((0,M.Om)(t,i)),s<.99?((0,M.C)(o,t),l&&(0,M.hs)(o,o,-1)):o=null);let c=0;if(o){(0,M.hs)(ne,i,(0,M.Om)(i,o)),(0,M.Re)(o,o,ne);let e=(0,M.Om)(o,n)/((0,M.Bw)(o)*(0,M.Bw)(n));(0,M.$A)(ne,o,n),c=((0,M.Om)(ne,i)>0?1:-1)*(0,a.KJ)((0,a.XM)(e))}let u=(0,a.KJ)((0,a.XM)(-(0,M.Om)(i,e)/(0,M.Bw)(e)));return r?(r.heading=c,r.tilt=u,r):{heading:c,tilt:u}}function se(e,t,r,i){(0,M.Re)(le,r,t),!(0,re.T7)(i,(0,te.LV)(t,le),e)&&e!==r&&(0,M.C)(e,r)}const le=(0,T.vt)(),ce=(0,T.fA)(0,1,0),ue=(0,T.fA)(0,0,1),de=(0,w.vt)(),he=(0,T.vt)(),fe=(0,T.vt)();function me(e,t,r,i=oe()){let{direction:n,up:o}=i;return(0,O.N9)(de,-(0,a.kU)(t)),(0,O.eL)(de,de,(0,a.kU)(r)),(0,M.Z0)(n,ue,de),(0,M.hs)(n,n,-1),(0,M.Z0)(o,ce,de),i}function pe(e,t,r,i,n){let o=t.lines[11].direction,a=(n-r.getAltitude(i))/o[2];(0,M.Ln)(e,i,o,a)}const ve=(0,T.vt)();Object.freeze(Object.defineProperty({__proto__:null,directionToHeadingTilt:function(e,t,r,i){return ae(t,r,i,ue,ce)},eyeForCenterWithHeadingTilt:function(e,t,r,i){let n=me(0,r,i),o=(0,T.vt)();return(0,M.hs)(o,n.direction,-t),(0,M.WQ)(o,o,e),{up:n.up,eye:o,heading:r,tilt:i}},eyeTiltToLookAtTilt:function(e){return(0,a.kU)(e)},headingTiltToDirectionUp:me,lookAtTiltToEyeTilt:function(e){return(0,a.KJ)(e)},toArea:function(e,t){let r=e.frustum,{renderCoordsHelper:i}=e,n=i.getAltitude(t),o=e.spatialReference,a=e.state.camera.eye,s=[],l=r.planes[5];for(let e=0;e<4;e++){let t=r.lines[e];i.intersectInfiniteManifold((0,P.LV)(t.origin,t.direction),n,ve)||pe(ve,r,i,t.endpoint,n),se(ve,a,ve,l),s.push((0,B.fA)(ve[0],ve[1]))}return function(e,t,r){let i=e.map(e=>((0,M.hZ)(ve,e[0],e[1],0),t.fromRenderCoords(ve,ve,r),[ve[0],ve[1]]));return i.length<=2?new X.A({spatialReference:r}):(i.push(i[0].slice()),(0,K.$3)(i)||i.reverse(),new X.A({rings:[i],spatialReference:r}))}(function(e,t){let r=[],i=[];return J(r,e,t,0),J(i,r,t,1),J(r,i,t,2),J(i,r,t,3),i}(s,i.extent),i,o)},toExtent:function(e,t,r,i,n){let o=e.renderSpatialReference,a=e.spatialReference??t.spatialReference;return(0,C.g)(t,he,o),(0,C.g)(t,fe,o),he[0]-=r/2,fe[0]+=r/2,he[1]-=i/2,fe[1]+=i/2,(0,A.F)(he,o,he,a),(0,A.F)(fe,o,fe,a),n?(n.xmin=he[0],n.ymin=he[1],n.xmax=fe[0],n.ymax=fe[1],n.spatialReference=a):n=new Y.A(he[0],he[1],fe[0],fe[1],a),n}},Symbol.toStringTag,{value:"Module"}));var ge=r(34304),xe=r(52039),_e=r(94008),be=r(28735);class ye{get planes(){return this.frustum}get points(){return this._points}get direction(){return this._direction}get origin(){return this._origin}get boundingSphere(){return this._boundingSphereDirty&&this._updateBoundingSphere(),this._boundingSphere}constructor(e){this.renderCoordsHelper=e,this.frustum=(0,I.vt)(),this._points=(0,I.Qy)(),this.lines=Array(12),this._origin=(0,T.vt)(),this._direction=(0,T.vt)(),this._boundingSphere=new _e.iy,this._altitude=null,this._boundingSphereDirty=!0;for(let e=0;e<12;e++)this.lines[e]={origin:null,direction:(0,T.vt)(),endpoint:null}}update(e){(0,I.ui)(e.viewMatrix,e.projectionMatrix,this.frustum,this._points),(0,M.C)(this._origin,e.eye),(0,M.C)(this._direction,e.viewForward),this._altitude=this.renderCoordsHelper.getAltitude(this._origin),this._updateLines(),this._boundingSphereDirty=!0}get altitude(){return this._altitude}intersectsSphere(e){return(0,I.m7)(this.frustum,e)}isConvexHullOutsideViewPyramid(e,t){return(0,I.Pi)(this.frustum,e,t)}intersectsRay(e){return(0,I.pw)(this.frustum,e)}intersectsLineSegment(e,t){return(0,I.ST)(this.frustum,e,t)}lineSegmentIntersectsViewPyramid(e,t){return(0,I.LJ)(this.frustum,e,t)}intersectsPoint(e){return(0,I.bU)(this.frustum,e)}_updateLines(){let e=this._points;for(let t=0;t<4;t++){let r=t+4;we(this.lines[t],e[t],e[r]),we(this.lines[t+4],e[t],3===t?e[0]:e[t+1]),we(this.lines[t+8],e[r],3===t?e[4]:e[r+1])}}_updateBoundingSphere(){let{origin:e}=this,t=Te;(0,M.S8)(t,this.direction);let r=Me;(0,M.jb)(r,this.points[4],e);let i=.5*(0,M.Om)(r,r)/(0,M.Om)(t,r),n=this._boundingSphere;n.center=(0,M.Ln)(Se,e,t,i),n.radius=i}static{this.planePointIndices=I.c8}static{this.nearFarLineIndices=[[0,4],[1,5],[2,6],[3,7]]}}function we(e,t,r){e.origin=t,e.endpoint=r,(0,M.oW)(e.direction,t,r)}const Me=(0,T.vt)(),Te=(0,T.vt)(),Se=(0,T.vt)();r(86211);const Ce=(0,T.fA)(5802e-9,13558e-9,331e-7),Ae=(0,T.fA)(195e-8,5643e-9,255e-9);(0,T.fA)(Ce[0]+Ae[0],Ce[1]+Ae[1],Ce[2]+Ae[2]);class Ee{constructor(e=1/0,t=-1/0){this.near=e,this.far=t}set(e,t){this.near=e,this.far=t}union(e){return null!=e&&(this.near=Math.min(this.near,e.near),this.far=Math.max(this.far,e.far)),this}within(e){return this.near<=e&&e<=this.far}equals(e){return this.near===e.near&&this.far===e.far}static{this.Zero=new Ee(0,0)}static{this.Infinite=new Ee}}(0,T.vt)(),(0,T.vt)(),new _e.iy,(0,P.vt)(),new Y.A({xmin:0,ymin:0,zmin:0,xmax:0,ymax:0,zmax:0});var Oe=r(32728);const Ie=(0,T.fA)(0,0,1),Pe=(0,M.S8)((0,T.vt)(),(0,T.fA)(1,1,1)),De=(0,w.vt)(),Re=(0,T.vt)(),Fe=(0,T.vt)();function Be(e,t,r,i=oe()){(0,M.$A)(Re,e,Ie),0===(0,M.Om)(Re,Re)&&(0,M.$A)(Re,e,Pe),(0,O.$0)(De,-(0,a.kU)(t),e),(0,O.e$)(De,De,-(0,a.kU)(r),Re);let{up:n,direction:o}=i;return(0,M.$A)(n,Re,e),(0,M.S8)(n,n),(0,M.Z0)(n,n,De),(0,M.S8)(o,e),(0,M.ze)(o,o),(0,M.Z0)(o,o,De),i}function Ne(e){let t=e[1];e[1]=-e[2],e[2]=t}function ze(e,t){return e.up=Be(t,e.heading,e.tilt).up,e}function Le(e,t){let{renderCoordsHelper:r,state:i}=e;if(1!==i.viewingMode)return 1;let n=r.getAltitude(t),o=r.referenceEllipsoid.radius,s=1+(0,M.Io)(i.camera.eye,t)/(o+n),l=Math.sqrt(s*s-1),{minCurvature:c,maxCurvature:u,minSamples:d,maxSamples:h}=Ve,f=(0,a.qE)((l-c)/(u-c),0,1);return Math.round((0,a.Cc)(d,h,f))}function He(e,t){let r=[],i=[],n=(0,ge.FD)();for(let o=0;o<e.length;o++){let a=e[o],s=o===e.length-1?e[0]:e[o+1],l=(0,te.Cr)(a,s,Ze),c=(0,re.vE)(t,l.origin,l.vector,0,We);switch(c){case 2:r.push(a);break;case 3:i.push(a);break;case 0:case 1:{let[e,o,s]=0===c?[1,r,i]:[-1,i,r],l=(0,re.Qj)(t),u=(0,M.Ln)((0,T.vt)(),We,l,e*n),d=(0,M.Ln)((0,T.vt)(),We,l,e*-n);o.push(a),o.push(u),s.push(d)}}}let o=[];return r.length&&o.push(r),i.length&&o.push(i),o}const Ve={minCurvature:(0,a.kU)(5),maxCurvature:(0,a.kU)(50),minSamples:1,maxSamples:6},Ue=(0,T.fA)(1,0,0),je=(0,T.fA)(0,1,0),ke=(0,T.vt)(),Ge=(0,T.vt)(),We=(0,T.vt)(),$e=new _e.iy,Ze=(0,te.vt)(),qe=(0,z.vt)();Object.freeze(Object.defineProperty({__proto__:null,directionToHeadingTilt:function(e,t,r,i){let n=Re,o=Fe;return(0,M.S8)(n,e),(0,M.$A)(Fe,n,Ie),0===(0,M.Om)(Fe,Fe)&&(0,M.$A)(Fe,n,Pe),(0,M.$A)(o,Fe,n),ae(t,r,i,n,o)},eyeForCenterWithHeadingTilt:function(e,t,r,i){let n={eye:(0,T.vt)(),up:null,tilt:i,heading:r},o=Re;o[0]=e[0],o[1]=e[2],o[2]=-e[1];let s,l=t,c=(0,a.kU)(r),u=(0,a.kU)(i),d=Math.sin(c),h=Math.cos(c),f=Math.sin(u),m=Math.cos(u),p=(0,M.Bw)(o);if(Math.abs(u)<1e-8)s=l+p;else{let e=p/f,t=(0,a.YN)(l/e),r=Math.PI-u-t;s=e*Math.sin(r)}let v=m*l,g=l*l*(f*f),x=h*h*g,_=s-v,b=_*_,y=x*(x+b-o[1]*o[1]);if(y<0)return(0,M.hs)(n.eye,o,s/p),n.tilt=0,ze(n,e);let w,S=Math.sqrt(y),C=o[1]*_,A=x+b;if(w=h>0?-S+C:S+C,Math.abs(A)<1e-8)return p<1e-8?(n.eye[0]=0,n.eye[1]=0,n.eye[2]=l):(0,M.hs)(n.eye,o,s/p),n.tilt=0,Ne(n.eye),ze(n,e);n.eye[1]=w/A;let E=d*d*g,O=f*l,I=h*O*n.eye[1],P=n.eye[1]*n.eye[1],D=1-P,R=Math.sqrt(D),F=x*P+E-2*I*R*_+D*b;return Math.abs(F)<1e-8?((0,M.hs)(n.eye,o,s/p),n.tilt=0,Ne(n.eye),ze(n,e)):(n.eye[0]=(D*(s*o[0]-v*o[0])-O*R*(o[0]*n.eye[1]*h+o[2]*d))/F,n.eye[2]=(D*(s*o[2]-v*o[2])-O*R*(o[2]*n.eye[1]*h-o[0]*d))/F,(0,M.hs)(n.eye,n.eye,s),Ne(n.eye),ze(n,e))},eyeTiltToLookAtTilt:function(e,t,r){let i=(0,a.kU)(e),n=(0,M.Bw)(t);return(0,a.YN)(r/(n/Math.sin(i)))+i},getCurvatureSamples:Le,headingTiltToDirectionUp:Be,lookAtTiltToEyeTilt:function(e,t,r){let i=(0,M.Bw)(t),n=Math.sqrt(r*r+i*i-2*r*i*Math.cos(Math.PI-e)),o=(0,a.YN)(r/(n/Math.sin(e)));return(0,a.KJ)(e-o)},toArea:function(e,t){let{renderCoordsHelper:r}=e,i=e.state.camera.clone(),n=new ye(r);i.near=2,n.update(i);let o=r.getAltitude(t),s=e.spatialReference,l=i.eye,c=function(e){let{renderCoordsHelper:t,state:r}=e,i=Math.abs(t.getAltitude(r.camera.center));return $e.radius=t.referenceEllipsoid.radius+i,r.camera.sphereFrustumCoverage($e,t)}(e),u=Le(e,t),d=i.aboveGround,h=n.planes[5],f=[],m=(0,re.O_)(T.uY,Ue,(0,re.vt)()),p=(0,re.O_)(T.uY,je,(0,re.vt)());(0,N.hZ)(qe,0,0,0,0);for(let e=0;e<4;e++){let t=1===e&&!d||3===e&&d?1-c:0,i=1===e&&d||3===e&&!d?c:1,s=n.lines[e],v=n.lines[3===e?0:e+1];for(let n=0;n<u;n++){let c=n/u,d=1===e?1-(1-c)**2:3===e?c**2:c,g=0===n?0:(0,a.Cc)(t,i,d),x=(0,M.Cc)(Ge,s.origin,v.origin,g),_=(0,Oe.nu)(s.direction,v.direction,g,ke);r.intersectManifoldClosestSilhouette((0,P.LV)(x,_),o,We),se(We,l,We,h),f.push((0,T.o8)(We)),0!==f.length&&(0,M.lo)(f.at(-1),We);let b=+!!(0,re.BX)(m,We)|((0,re.BX)(p,We)?2:0);qe[b]=1}}f.length>2&&(0,M.lo)(f[0],f.at(-1));let v=function(e,t,r){let i=2*(0,ge.FD)();return e.map(e=>{let n=[],o=!1;for(let a of e)t.fromRenderCoords(a,We,r),Math.abs(a[0])<i&&Math.abs(a[1])<i?(n.push([null,We[1]]),n.push([null,We[1]]),o=!0):n.push([We[0],We[1]]);if(o)for(let e=0;e<n.length;e++){let t=n[e];if(null!=t[0])continue;let r=n[e+1];t[0]=n.at(0===e?-1:e-1)[0],e++,r[0]=n.at(e===n.length-1?0:e+1)[0]}return n.push(n[0]),(0,K.$3)(n)||n.reverse(),n})}((0,N.m3)(qe)>1?function(e,t){let r=[];for(let i of e)r.push(...He(i,t));return r}(He(f,m),p):[f],r,s);return new X.A({rings:v,spatialReference:s})},toExtent:function(e,t,r,i,n){let o,s,l,c,u=t.latitude,d=(0,E.tO)(e.spatialReference).radius,h=t.longitude,f=function(e,t,r){let i=t/r,n=(0,a.kU)(e),o=Math.sin(i/2),s=Math.cos(n),l=2*(0,a.YN)(Math.sqrt(o*o/(s*s)));return(0,a.KJ)(l)}(u,r,d)/2;o=h-f,s=h+f;let m=(0,a.kU)(u),v=(1+Math.sin(m))/(1-Math.sin(m)),g=(v+1)*Math.tan(i/d/2),x=g*g;function _(e){let t=Math.PI/2;return(e=p.uC.normalize(e,-t))>t&&(e=Math.PI-e),e}if(l=1.5*Math.PI-2*Math.atan(.5*(g+Math.sqrt(4*v+x))),c=l+i/d,l=_(l),c=_(c),c<l){let e=c;c=l,l=e}if(l=Math.max((0,a.KJ)(l),-90),c=Math.min((0,a.KJ)(c),90),s=xe.Y_.monotonic(o,s),s-o>180){let e=(s-o-180)/2;o+=e,s-=e}let b=e.spatialReference&&e.spatialReference.isGeographic?e.spatialReference:S.A.WGS84;return n?(n.xmin=o,n.ymin=l,n.xmax=s,n.ymax=c,n.spatialReference=b):n=new Y.A(o,l,s,c,b),e.spatialReference&&e.spatialReference.isWebMercator&&(0,be.Gh)(n,!1,n),n}},Symbol.toStringTag,{value:"Module"}));const Ye="composite-color",Xe=["final-color",Ye,"opaque-color","transparent-color"],Ke={ANTIALIASING:"antialiasing",CUTFILL:"cutfill",CUTFILL_COMPUTATION:"cutfill-computation",FOCUSAREA:"focusarea",FOCUSAREA_MASK:"focusarea-mask",GAUSSIAN_SPLAT:"gaussian",GAUSSIAN_SPLAT_DEPTH:"gaussian-depth",GROUND_DEPTH:"ground-depth",HIGHLIGHT:"highlight",LASERLINES:"laserlines",TRANSPARENT_NO_DEPTH:"transparent-no-depth",MAGNIFIER:"magnifier",OCCLUDED:"occluded",OPAQUE_OCCLUSION_QUERY:"opaque-occlusion-query",OPAQUE_ENVIRONMENT:"opaque-environment",TRANSPARENT_ENVIRONMENT:"transparent-environment",AMBIENT_ILLUMINATION:"ambient-illumination",SHADOW_ACCUMULATION:"shadow-accumulation",SHADOWMAP:"shadowmap",SHADOW_HIGHLIGHT:"shadow-highlight",VOXEL:"voxel",VIEWSHED:"viewshed",OBJECT_AND_LAYER_ID_COLOR:"olid"};Array.from(Object.values(Ke)).concat(Xe),(0,T.vt)();var Je=r(49186),Qe=r(10107),et=r(64108),tt=r(44208),rt=(r(17676),r(94656)),it=r(63907);r(93637),r(4576),"layout.centroid.smooth.case.mat2x2.mat2x3.mat2x4.mat3x2.mat3x3.mat3x4.mat4x2.mat4x3.mat4x4.uint.uvec2.uvec3.uvec4.samplerCubeShadow.sampler2DArray.sampler2DArrayShadow.isampler2D.isampler3D.isamplerCube.isampler2DArray.usampler2D.usampler3D.usamplerCube.usampler2DArray.coherent.restrict.readonly.writeonly.resource.atomic_uint.noperspective.patch.sample.subroutine.common.partition.active.filter.image1D.image2D.image3D.imageCube.iimage1D.iimage2D.iimage3D.iimageCube.uimage1D.uimage2D.uimage3D.uimageCube.image1DArray.image2DArray.iimage1DArray.iimage2DArray.uimage1DArray.uimage2DArray.image1DShadow.image2DShadow.image1DArrayShadow.image2DArrayShadow.imageBuffer.iimageBuffer.uimageBuffer.sampler1DArray.sampler1DArrayShadow.isampler1D.isampler1DArray.usampler1D.usampler1DArray.isampler2DRect.usampler2DRect.samplerBuffer.isamplerBuffer.usamplerBuffer.sampler2DMS.isampler2DMS.usampler2DMS.sampler2DMSArray.isampler2DMSArray.usampler2DMSArray.trunc.round.roundEven.isnan.isinf.floatBitsToInt.floatBitsToUint.intBitsToFloat.uintBitsToFloat.packSnorm2x16.unpackSnorm2x16.packUnorm2x16.unpackUnorm2x16.packHalf2x16.unpackHalf2x16.outerProduct.transpose.determinant.inverse.texture.textureSize.textureProj.textureLod.textureOffset.texelFetch.texelFetchOffset.textureProjOffset.textureLodOffset.textureProjLod.textureProjLodOffset.textureGrad.textureGradOffset.textureProjGrad.textureProjGradOffset".split("."),"precision.highp.mediump.lowp.attribute.const.uniform.varying.break.continue.do.for.while.if.else.in.out.inout.float.int.void.bool.true.false.discard.return.mat2.mat3.mat4.vec2.vec3.vec4.ivec2.ivec3.ivec4.uvec2.uvec3.uvec4.bvec2.bvec3.bvec4.sampler1D.sampler2D.sampler3D.usampler1D.usampler2D.usampler3D.samplerCube.sampler1DShadow.sampler2DShadow.struct.asm.class.union.enum.typedef.template.this.packed.goto.switch.default.inline.noinline.volatile.public.static.extern.external.interface.long.short.double.half.fixed.unsigned.input.output.hvec2.hvec3.hvec4.dvec2.dvec3.dvec4.fvec2.fvec3.fvec4.sampler2DRect.sampler3DRect.sampler2DRectShadow.sizeof.cast.namespace.using".split("."),"<<= >>= ++ -- << >> <= >= == != && || += -= *= /= %= &= ^^ ^= |= ( ) [ ] . ! ~ * / % + - < > & ^ | ? : = , ; { }".split(" "),"abs.acos.all.any.asin.atan.ceil.clamp.cos.cross.dFdx.dFdy.degrees.distance.dot.equal.exp.exp2.faceforward.floor.fract.gl_BackColor.gl_BackLightModelProduct.gl_BackLightProduct.gl_BackMaterial.gl_BackSecondaryColor.gl_ClipPlane.gl_ClipVertex.gl_Color.gl_DepthRange.gl_DepthRangeParameters.gl_EyePlaneQ.gl_EyePlaneR.gl_EyePlaneS.gl_EyePlaneT.gl_Fog.gl_FogCoord.gl_FogFragCoord.gl_FogParameters.gl_FragColor.gl_FragCoord.gl_FragData.gl_FragDepth.gl_FragDepthEXT.gl_FrontColor.gl_FrontFacing.gl_FrontLightModelProduct.gl_FrontLightProduct.gl_FrontMaterial.gl_FrontSecondaryColor.gl_LightModel.gl_LightModelParameters.gl_LightModelProducts.gl_LightProducts.gl_LightSource.gl_LightSourceParameters.gl_MaterialParameters.gl_MaxClipPlanes.gl_MaxCombinedTextureImageUnits.gl_MaxDrawBuffers.gl_MaxFragmentUniformComponents.gl_MaxLights.gl_MaxTextureCoords.gl_MaxTextureImageUnits.gl_MaxTextureUnits.gl_MaxVaryingFloats.gl_MaxVertexAttribs.gl_MaxVertexTextureImageUnits.gl_MaxVertexUniformComponents.gl_ModelViewMatrix.gl_ModelViewMatrixInverse.gl_ModelViewMatrixInverseTranspose.gl_ModelViewMatrixTranspose.gl_ModelViewProjectionMatrix.gl_ModelViewProjectionMatrixInverse.gl_ModelViewProjectionMatrixInverseTranspose.gl_ModelViewProjectionMatrixTranspose.gl_MultiTexCoord0.gl_MultiTexCoord1.gl_MultiTexCoord2.gl_MultiTexCoord3.gl_MultiTexCoord4.gl_MultiTexCoord5.gl_MultiTexCoord6.gl_MultiTexCoord7.gl_Normal.gl_NormalMatrix.gl_NormalScale.gl_ObjectPlaneQ.gl_ObjectPlaneR.gl_ObjectPlaneS.gl_ObjectPlaneT.gl_Point.gl_PointCoord.gl_PointParameters.gl_PointSize.gl_Position.gl_ProjectionMatrix.gl_ProjectionMatrixInverse.gl_ProjectionMatrixInverseTranspose.gl_ProjectionMatrixTranspose.gl_SecondaryColor.gl_TexCoord.gl_TextureEnvColor.gl_TextureMatrix.gl_TextureMatrixInverse.gl_TextureMatrixInverseTranspose.gl_TextureMatrixTranspose.gl_Vertex.greaterThan.greaterThanEqual.inversesqrt.length.lessThan.lessThanEqual.log.log2.matrixCompMult.max.min.mix.mod.normalize.not.notEqual.pow.radians.reflect.refract.sign.sin.smoothstep.sqrt.step.tan.texture2D.texture2DLod.texture2DProj.texture2DProjLod.textureCube.textureCubeLod.texture2DLodEXT.texture2DProjLodEXT.textureCubeLodEXT.texture2DGradEXT.texture2DProjGradEXT.textureCubeGradEXT.textureSize.texelFetch".split("."),new Set(["GL_OES_standard_derivatives","GL_EXT_frag_depth","GL_EXT_draw_buffers","GL_EXT_shader_texture_lod"]),new Map,(0,tt.A)("esri-tests-disable-gpu-memory-measurements"),(0,rt.en)();(0,rt.en)();var nt=r(90644),ot=r(21231),at=r(48852),st=r(42293);const lt=!!(0,tt.A)("esri-tests-disable-gpu-memory-measurements");class ct{constructor(e,t){this._context=e,this._descriptor=t,this.type=2,this._context.instanceCounter.increment(it.vt.Renderbuffer,this);let r=this._context.gl;this.glName=r.createRenderbuffer(),this._context.bindRenderbuffer(this);let{width:i,height:n,internalFormat:o,multisampled:a}=t;a?r.renderbufferStorageMultisample(r.RENDERBUFFER,this.samples,o,i,n):r.renderbufferStorage(r.RENDERBUFFER,o,i,n),this._context.bindRenderbuffer(null)}get descriptor(){return this._descriptor}get samples(){let e=this._descriptor.samples,t=this._context.parameters.maxSamples;return e?Math.min(e,t):t}get usedMemory(){return lt?0:(e=this._descriptor).width<=0||e.height<=0||null==e.internalFormat?0:e.width*e.height*(0,st.MW)(e.internalFormat);var e}resize(e,t){let r=this._descriptor;if(r.width===e&&r.height===t)return;r.width=e,r.height=t;let i=this._context.gl;this._context.bindRenderbuffer(this),r.multisampled?i.renderbufferStorageMultisample(i.RENDERBUFFER,this.samples,r.internalFormat,r.width,r.height):i.renderbufferStorage(i.RENDERBUFFER,r.internalFormat,r.width,r.height),this._context.bindRenderbuffer(null)}dispose(){this._context&&=(this._context.gl.deleteRenderbuffer(this.glName),this._context.instanceCounter.decrement(it.vt.Renderbuffer,this),null)}}class ut{constructor(e,t,r){if(this._context=e,this._level=0,this._glName=null,this._colorAttachments=new Map,this._depthStencilBuffer=null,this._depthStencilTexture=null,e.instanceCounter.increment(it.vt.FramebufferObject,this),null!=t){let r=function(e,t){return dt(t)||ht(t)?t:ft(t)?new ot.A(e,t):function(e){return 3===mt(e)||null!=e&&"samples"in e}(t)?new ct(e,t):null}(e,t);null!=r&&(this._colorAttachments.set(36064,r),dt(r)?this._validateTextureDescriptor(r.descriptor):this._validateRenderbufferDescriptor(r.descriptor)),this._validateColorAttachmentPoint(36064)}if(null!=r)if(function(e){return dt(e)||ft(e)}(r))this._depthStencilTexture=dt(r)?r:new ot.A(e,r),this._validateTextureDescriptor(this._depthStencilTexture.descriptor);else{let t=ht(r)?r:new ct(e,r);this._depthStencilBuffer=t,this._validateRenderbufferDescriptor(t.descriptor)}}get glName(){return this._glName}get colorTexture(){let e=this._colorAttachments.get(36064);return dt(e)?e:null}get depthStencil(){return this._depthStencilTexture||this._depthStencilBuffer}get depthStencilTexture(){return this._depthStencilTexture}get width(){return(this._colorAttachments.get(36064)??this._depthStencilTexture??this._depthStencilBuffer)?.descriptor?.width??0}get height(){return(this._colorAttachments.get(36064)??this._depthStencilTexture??this._depthStencilBuffer)?.descriptor?.height??0}get usedMemory(){return this._colorAttachments.values().reduce((e,t)=>e+t.usedMemory,this.depthStencil?.usedMemory??0)}get level(){return this._level}set level(e){this._level!==e&&(this._level=e,this._glName&&this._context.temporaryBindFramebuffer(this,()=>this._initializeAttachments()))}static{this._MAX_COLOR_ATTACHMENTS=-1}getColorTexture(e){let t=this._colorAttachments.get(e);return t&&dt(t)?t:null}get colorAttachments(){return Array.from(this._colorAttachments.keys())}attachColorTexture(e,t=36064){if(!e)return;this._validateColorAttachmentPoint(t);let{descriptor:r}=e;this._validateTextureDescriptor(r),this.detachColorTexture(t)?.dispose(),this._colorAttachments.set(t,e),this._glName&&(this._context.bindFramebuffer(this),this._framebufferTexture2D(e.glName,t))}detachColorTexture(e=36064){let t=this._colorAttachments.get(e);if(!t)return;let r=dt(t);return this._glName&&this._context.temporaryBindFramebuffer(this,()=>{if(r)this._framebufferTexture2D(null,e);else{let t=this._context.gl;t.framebufferRenderbuffer(t.FRAMEBUFFER,e,t.RENDERBUFFER,null)}}),this._colorAttachments.delete(e),r?t:void 0}detachColorTextures(...e){if(0!==e.length){if(this._glName){let t=this._context.gl;this._context.temporaryBindFramebuffer(this,()=>{e.forEach(e=>{dt(this._colorAttachments.get(e))?this._framebufferTexture2D(null,e):t.framebufferRenderbuffer(t.FRAMEBUFFER,e,t.RENDERBUFFER,null)})})}e.forEach(e=>this._colorAttachments.delete(e))}}setColorTextureTarget(e,t=36064,r=0){let i=this._colorAttachments.get(t);i&&(35866===e?this._framebufferTextureLayer(i.glName,t,36160,r):this._framebufferTexture2D(i.glName,t,e,36160))}attachDepthStencil(e){if(e)switch(e.type){case 1:return this._attachDepthStencilTexture(e);case 2:return this._attachDepthStencilBuffer(e)}}_attachDepthStencilTexture(e){if(null==e)return;let{descriptor:t}=e,{pixelFormat:r,dataType:i}=t;34041!==r&&6402!==r?console.error("Depth/Stencil texture must have a pixel type of DEPTH_STENCIL!"):34041===r&&i!==it.ld.UNSIGNED_INT_24_8?console.error("Depth/Stencil texture must have data type of UNSIGNED_INT_24_8!"):6402===r&&i!==it.ld.UNSIGNED_INT&&i!==it.ld.UNSIGNED_SHORT?console.error("Depth texture must have data type of UNSIGNED_INT or UNSIGNED_SHORT!"):(this._validateTextureDescriptor(t),this._disposeDepthStencilAttachments(),this._glName&&(this._context.bindFramebuffer(this),this._framebufferTexture2D(e.glName,gt(r))),this._depthStencilTexture?.dispose(),this._depthStencilTexture=e)}detachDepthStencilTexture(){let e=this._depthStencilTexture;return e&&this._glName&&this._context.temporaryBindFramebuffer(this,()=>{this._framebufferTexture2D(null,gt(e.descriptor.pixelFormat))}),this._depthStencilTexture=null,e}_attachDepthStencilBuffer(e){if(null==e)return;let t=e.descriptor;if(this._validateRenderbufferDescriptor(t),this._disposeDepthStencilAttachments(),this._glName){this._context.bindFramebuffer(this);let{gl:r}=this._context,i=this._getGLAttachmentPoint(t);r.framebufferRenderbuffer(36160,i,r.RENDERBUFFER,e.glName)}this._depthStencilBuffer=e}detachDepthStencilBuffer(){let e=this._depthStencilBuffer;if(e&&this._glName){let{_context:t}=this,r=t.boundFramebuffer;t.bindFramebuffer(this);let{gl:i}=t,n=this._getGLAttachmentPoint(e.descriptor);i.framebufferRenderbuffer(36160,n,i.RENDERBUFFER,null),t.bindFramebuffer(r)}return this._depthStencilBuffer=null,e}invalidateAttachments(e){let{_context:t}=this;t.temporaryBindFramebuffer(this,()=>t.gl.invalidateFramebuffer(36160,e),!0)}copyToTexture(e,t,r,i,n,o,a){(e<0||t<0||n<0||o<0)&&console.error("Offsets cannot be negative!"),(r<=0||i<=0)&&console.error("Copy width and height must be greater than zero!");let s=a.descriptor;3553!==a.descriptor.target&&console.error("Texture target must be TEXTURE_2D!"),(null==s?.width||null==s?.height||e+r>this.width||t+i>this.height||n+r>s.width||o+i>s.height)&&console.error("Bad dimensions, the current input values will attempt to read or copy out of bounds!");let l=this._context,c=l.bindTexture(a,ot.A.TEXTURE_UNIT_FOR_UPDATES);l.setActiveTexture(ot.A.TEXTURE_UNIT_FOR_UPDATES),l.bindFramebuffer(this),l.gl.copyTexSubImage2D(3553,0,n,o,e,t,r,i),l.bindTexture(c,ot.A.TEXTURE_UNIT_FOR_UPDATES)}readPixels(e,t,r,i,n,o,a){(r<=0||i<=0)&&console.error("Copy width and height must be greater than zero!"),a||console.error("Target memory is not initialized!"),this._context.bindFramebuffer(this),this._context.gl.readPixels(e,t,r,i,n,o,a)}async readPixelsAsync(e,t,r,i,n,o,a,s){let{gl:l}=this._context,c=at.g.createPixelPack(this._context,35041,a.byteLength);this._context.bindBuffer(c);let u=this._context.boundFramebuffer;this._context.bindFramebuffer(this),l.readPixels(e,t,r,i,n,o,0),this._context.unbindBuffer(35051),this._context.bindFramebuffer(u);try{await c.getSubDataAsync(a,void 0,void 0,void 0,s)}finally{c.dispose()}}resize(e,t){if(this.width===e&&this.height===t)return;let r={width:e,height:t};if(pt(r,this._context.parameters.maxTextureSize),this._colorAttachments.forEach(e=>e.resize(r.width,r.height)),this._depthStencilTexture?.resize(r.width,r.height),this._glName&&(pt(r,this._context.parameters.maxRenderbufferSize),this._depthStencilBuffer?.resize(r.width,r.height),(0,rt.en)())){let{gl:e}=this._context;e.checkFramebufferStatus(36160)!==e.FRAMEBUFFER_COMPLETE&&console.error("Framebuffer is incomplete!")}}initializeAndBind(e=36160){let{gl:t}=this._context;this._glName?t.bindFramebuffer(e,this._glName):(this._glName&&t.deleteFramebuffer(this._glName),this._glName=t.createFramebuffer(),t.bindFramebuffer(e,this._glName),this._initializeAttachments(e))}_initializeAttachments(e=36160){let{gl:t}=this._context;if(this._colorAttachments.forEach((t,r)=>{if(dt(t)){let i=vt(t);35866===i?this._framebufferTextureLayer(t.glName,r,e):this._framebufferTexture2D(t.glName,r,i,e)}else if(ht(t)){let i=this._context.gl;i.framebufferRenderbuffer(e,r,i.RENDERBUFFER,t.glName)}}),this._depthStencilBuffer){let r=this._getGLAttachmentPoint(this._depthStencilBuffer.descriptor);t.framebufferRenderbuffer(e,r,t.RENDERBUFFER,this._depthStencilBuffer.glName)}else if(this._depthStencilTexture){let t=gt(this._depthStencilTexture.descriptor.pixelFormat);this._framebufferTexture2D(this._depthStencilTexture.glName,t,vt(this._depthStencilTexture),e)}(0,rt.en)()&&t.checkFramebufferStatus(e)!==t.FRAMEBUFFER_COMPLETE&&console.error("Framebuffer is incomplete!")}_framebufferTexture2D(e,t=36064,r=3553,i=36160){this._context.gl.framebufferTexture2D(i,t,r,e,this._level)}_framebufferTextureLayer(e,t=36064,r=36160,i=0){this._context.gl.framebufferTextureLayer(r,t,e,this._level,i)}_disposeDepthStencilAttachments(){let e=this._context.gl;if(this._depthStencilBuffer){if(this._glName){this._context.bindFramebuffer(this);let t=this._getGLAttachmentPoint(this._depthStencilBuffer.descriptor);e.framebufferRenderbuffer(36160,t,e.RENDERBUFFER,null)}this._depthStencilBuffer=(0,s.WD)(this._depthStencilBuffer)}this._depthStencilTexture&&=(this._glName&&(this._context.bindFramebuffer(this),this._framebufferTexture2D(null,gt(this._depthStencilTexture.descriptor.pixelFormat))),(0,s.WD)(this._depthStencilTexture))}_validateTextureDescriptor(e){3553!==e.target&&34067!==e.target&&35866!==e.target&&console.error("Texture type must be TEXTURE_2D, TEXTURE_2D_ARRAY or TEXTURE_CUBE_MAP!"),pt(e,this._context.parameters.maxTextureSize),this._validateBufferDimensions(e)}_validateRenderbufferDescriptor(e){pt(e,this._context.parameters.maxRenderbufferSize),this._validateBufferDimensions(e)}_validateBufferDimensions(e){e.width<=0&&(e.width=this.width),e.height<=0&&(e.height=this.height),this.width>0&&this.height>0&&(this.width!==e.width||this.height!==e.height)&&console.error("Attachment size must match framebuffer size!")}_getGLAttachmentPoint(e){switch(e.internalFormat){case it.SB.DEPTH_COMPONENT16:case it.SB.DEPTH_COMPONENT24:case it.SB.DEPTH_COMPONENT32F:return 36096;case it.iE.DEPTH24_STENCIL8:case it.iE.DEPTH32F_STENCIL8:return 33306;case 36168:return 36128;default:return 36064}}_validateColorAttachmentPoint(e){if(-1===ut._MAX_COLOR_ATTACHMENTS){let{gl:e}=this._context;ut._MAX_COLOR_ATTACHMENTS=e.getParameter(e.MAX_COLOR_ATTACHMENTS)}let t=e-36064;t+1>ut._MAX_COLOR_ATTACHMENTS&&R.A.getLogger("esri.views.webgl.FrameBufferObject").error("esri.FrameBufferObject",`illegal attachment point for color attachment: ${t+1}. Implementation supports up to ${ut._MAX_COLOR_ATTACHMENTS} color attachments`)}}function dt(e){return 1===mt(e)}function ht(e){return 2===mt(e)}function ft(e){return 0===mt(e)}function mt(e){return null!=e&&"type"in e?e.type:null}function pt(e,t){let r=Math.max(e.width,e.height);if(r>t){R.A.getLogger("esri.views.webgl.FramebufferObject").warnOnce(`Resizing FBO attachment size ${e.width}x${e.height} to device limit ${t}`);let i=t/r;return e.width=Math.round(e.width*i),e.height=Math.round(e.height*i),!1}return!0}function vt(e){return 34067===e.descriptor.target?34069:35866===e.descriptor.target?35866:3553}function gt(e){return 6402===e?36096:33306}var xt=r(67171),_t=(r(21818),r(85079));const bt=[new(r(74038)._)("position",2,it.pe.UNSIGNED_SHORT,0,4)];(0,_t.Xk)(bt),r(66289);const yt=new Image;yt.src="data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='5' height='5' version='1.1' viewBox='0 0 5 5' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='5' height='5' fill='%23f00' fill-opacity='.5'/%3E%3C/svg%3E%0A",yt.width=5,yt.height=5,yt.decode();let wt=class extends D.A{constructor(e){super(e),this.view=null,this.consumes={required:[]},this.produces=Ye,this._dirty=!0}initialize(){this.addHandles([(0,l.wB)(()=>this.view.ready,e=>{e&&this.view.stage?.renderer.addRenderNode(this)},l.Vh)])}destroy(){this.view.stage?.renderer?.removeRenderNode(this)}precompile(){}render(){throw new Je.A("RenderNode:render-function-not-implemented","render() is not implemented.")}get camera(){return this.view.state.camera.clone()}get sunLight(){return this.bindParameters.lighting.legacy}get gl(){return this.view.stage.renderView.renderingContext.gl}get techniques(){return this.view.stage.renderView.techniques}acquireOutputFramebuffer(){let e=this._frameBuffer?.getTexture()?.descriptor,t=this.view.stage.renderer.fboCache.acquire(e?.width??640,e?.height??480,this.produces);return this._bind(t),t}bindRenderTarget(){return this._bind(this._frameBuffer),this._frameBuffer}_bind({fbo:e}){e.initializeAndBind(),this.gl.drawBuffers(function(e){return e?e.colorAttachments.length>0?e.colorAttachments:[0]:[1029]}(e))}requestRender(e){switch(e){case 2:this.view.state.fading=!0;case 1:this.view.stage?.renderView.requestRender(e);case 0:case void 0:this._dirty=!0}}resetWebGLState(){this.renderingContext.resetState(),this.renderingContext.bindFramebuffer(this._frameBuffer?.fbo)}get fboCache(){return this.view.stage.renderer.fboCache}get bindParameters(){return this.renderContext.bind}get renderingContext(){return this.view.stage.renderView.renderingContext}get renderContext(){return this.view.stage?.renderer.renderContext}updateAnimation(e){return!!this._dirty&&(this._dirty=!1,!0)}doRender(e){this._frameBuffer=e.find(({name:e})=>e===this.produces);try{return this.render(e)}finally{this._frameBuffer=null}}get requireGeometryDepth(){return!1}queryDepthRange(e){return null}get input(){return this._frameBuffer}};(0,o.Cg)([(0,Qe.MZ)({constructOnly:!0})],wt.prototype,"view",void 0),(0,o.Cg)([(0,Qe.MZ)({constructOnly:!0})],wt.prototype,"consumes",void 0),(0,o.Cg)([(0,Qe.MZ)()],wt.prototype,"produces",void 0),(0,o.Cg)([(0,Qe.MZ)({readOnly:!0})],wt.prototype,"techniques",null),wt=(0,o.Cg)([(0,et.$)("esri.views.3d.webgl.RenderNode")],wt);let Mt=class extends wt{constructor(){super(...arguments),this.consumes={required:["normals"]},this.produces="disabled"}get enabled(){return!this.destroying&&!this.destroyed&&this.produces===Ke.AMBIENT_ILLUMINATION}get _belowMaxElevation(){return(this.view.state.camera.relativeElevation??1/0)<5e5}get _useGlobalIllumination(){return this._belowMaxElevation&&this.view.stage.renderer.isFeatureEnabled(11)}get _useSSAO(){return this._belowMaxElevation&&this.view.stage.renderer.isFeatureEnabled(3)}_enable(){this.produces=Ke.AMBIENT_ILLUMINATION,this.requestRender(1)}_disable(){this.produces="disabled",this.requestRender(1)}};(0,o.Cg)([(0,u.MZ)()],Mt.prototype,"consumes",void 0),(0,o.Cg)([(0,u.MZ)()],Mt.prototype,"produces",void 0),Mt=(0,o.Cg)([(0,u.$K)("esri.views.3d.webgl-engine.effects.AmbientIllumination")],Mt);var Tt=r(15581),St=r(13840),Ct=r(42958),At=r(95774);let Et=class extends Ct.w{constructor(){super(...arguments),this.shader=new St.r(At.S,()=>r.e(1285).then(()=>r(91285)))}initializePipeline(){return(0,nt.Ey)({colorWrite:nt.kn})}};Et=(0,o.Cg)([(0,u.$K)("esri.views.3d.webgl-engine.effects.ssao.SSAOBlurTechnique")],Et);var Ot=r(65786);class It extends Ot.Y{constructor(){super(...arguments),this.projScale=1}}class Pt extends It{constructor(){super(...arguments),this.intensity=1}}class Dt extends Ot.Y{}class Rt extends Dt{constructor(){super(...arguments),this.blurSize=(0,B.vt)()}}let Ft=class extends Ct.w{constructor(){super(...arguments),this.shader=new St.r(Tt.S,()=>r.e(6122).then(()=>r(86122)))}initializePipeline(){return(0,nt.Ey)({colorWrite:nt.kn})}};Ft=(0,o.Cg)([(0,u.$K)("esri.views.3d.webgl-engine.effects.ssao.SSAOTechnique")],Ft);let Bt=class extends Mt{constructor(e){super(e),this._enableTime=(0,c.l5)(0),this._passParameters=new Pt,this._drawParameters=new Rt}initialize(){let e=Uint8Array.from(atob("eXKEvZaUc66cjIKElE1jlJ6MjJ6Ufkl+jn2fcXp5jBx7c6KEflSGiXuXeW6OWs+tfqZ2Yot2Y7Zzfo2BhniEj3xoiXuXj4eGZpqEaHKDWjSMe7palFlzc3BziYOGlFVzg6Zzg7CUY5JrjFF7eYJ4jIKEcyyEonSXe7qUfqZ7j3xofqZ2c4R5lFZ5Y0WUbppoe1l2cIh2ezyUho+BcHN2cG6DbpqJhqp2e1GcezhrdldzjFGUcyxjc3aRjDyEc1h7Sl17c6aMjH92pb6Mjpd4dnqBjMOEhqZleIOBYzB7gYx+fnqGjJuEkWlwnCx7fGl+c4hjfGyRe5qMlNOMfnqGhIWHc6OMi4GDc6aMfqZuc6aMzqJzlKZ+lJ6Me3qRfoFue0WUhoR5UraEa6qMkXiPjMOMlJOGe7JrUqKMjK6MeYRzdod+Sl17boiPc6qEeYBlcIh2c1WEe7GDiWCDa0WMjEmMdod+Y0WcdntzhmN8WjyMjKJjiXtzgYxYaGd+a89zlEV7e2GJfnd+lF1rcK5zc4p5cHuBhL6EcXp5eYB7fnh8iX6HjIKEeaxuiYOGc66RfG2Ja5hzjlGMjEmMe9OEgXuPfHyGhPeEdl6JY02McGuMfnqGhFiMa3WJfnx2l4hwcG1uhmN8c0WMc39og1GBbrCEjE2EZY+JcIh2cIuGhIWHe0mEhIVrc09+gY5+eYBlnCyMhGCDl3drfmmMgX15aGd+gYx+fnuRfnhzY1SMsluJfnd+hm98WtNrcIuGh4SEj0qPdkqOjFF7jNNjdnqBgaqUjMt7boeBhnZ4jDR7c5pze4GGjEFrhLqMjHyMc0mUhKZze4WEa117kWlwbpqJjHZ2eX2Bc09zeId+e0V7WlF7jHJ2l72BfId8l3eBgXyBe897jGl7c66cgW+Xc76EjKNbgaSEjGx4fId8jFFjgZB8cG6DhlFziZhrcIh2fH6HgUqBgXiPY8dahGFzjEmMhEFre2dxhoBzc5SGfleGe6alc7aUeYBlhKqUdlp+cH5za4OEczxza0Gcc4J2jHZ5iXuXjH2Jh5yRjH2JcFx+hImBjH+MpddCl3dreZeJjIt8ZW18bm1zjoSEeIOBlF9oh3N7hlqBY4+UeYFwhLJjeYFwaGd+gUqBYxiEYot2fqZ2ondzhL6EYyiEY02Ea0VjgZB8doaGjHxoc66cjEGEiXuXiXWMiZhreHx8frGMe75rY02Ec5pzfnhzlEp4a3VzjM+EhFFza3mUY7Zza1V5e2iMfGyRcziEhDyEkXZ2Y4OBnCx7g5t2eyBjgV6EhEFrcIh2dod+c4Z+nJ5zjm15jEmUeYxijJp7nL6clIpjhoR5WrZraGd+fnuRa6pzlIiMg6ZzfHx5foh+eX1ufnB5eX1ufnB5aJt7UqKMjIh+e3aBfm5lbYSBhGFze6J4c39oc0mUc4Z+e0V7fKFVe0WEdoaGY02Ec4Z+Y02EZYWBfH6HgU1+gY5+hIWUgW+XjJ57ebWRhFVScHuBfJ6PhBx7WqJzlM+Ujpd4gHZziX6HjHmEgZN+lJt5boiPe2GJgX+GjIGJgHZzeaxufnB5hF2JtdN7jJ57hp57hK6ElFVzg6ZzbmiEbndzhIWHe3uJfoFue3qRhJd2j3xoc65zlE1jc3p8lE1jhniEgXJ7e657vZaUc3qBh52BhIF4aHKDa9drgY5+c52GWqZzbpqJe8tjnM+UhIeMfo2BfGl+hG1zSmmMjKJjZVaGgX15c1lze0mEp4OHa3mUhIWHhDyclJ6MeYOJkXiPc0VzhFiMlKaEboSJa5Jze41re3qRhn+HZYWBe0mEc4p5fnORbox5lEp4hGFjhGGEjJuEc1WEhLZjeHeGa7KlfHx2hLaMeX1ugY5+hIWHhKGPjMN7c1WEho1zhoBzZYx7fnhzlJt5exyUhFFziXtzfmmMa6qMYyiEiXxweV12kZSMeWqXSl17fnhzxmmMrVGEe1mcc4p5eHeGjK6MgY5+doaGa6pzlGV7g1qBh4KHkXiPeW6OaKqafqZ2eXZ5e1V7jGd7boSJc3BzhJd2e0mcYot2h1RoY8dahK6EQmWEWjx7e1l2lL6UgXyBdnR4eU9zc0VreX1umqaBhld7fo2Bc6KEc5Z+hDyEcIeBWtNrfHyGe5qMhMuMe5qMhEGEbVVupcNzg3aHhIF4boeBe0mEdlptc39ofFl5Y8uUlJOGiYt2UmGEcyxjjGx4jFF7a657ZYWBnElzhp57iXtrgZN+tfOEhIOBjE2HgU1+e8tjjKNbiWCDhE15gUqBgYN7fnqGc66ce9d7iYSBj0qPcG6DnGGcT3eGa6qMZY+JlIiMl4hwc3aRdnqBlGV7eHJ2hLZjfnuRhDyEeX6MSk17g6Z+c6aUjHmEhIF4gXyBc76EZW18fGl+fkl+jCxrhoVwhDyUhIqGlL2DlI6EhJd2tdN7eYORhEGMa2Faa6pzc3Bzc4R5lIRznM+UY9eMhDycc5Z+c4p5c4iGY117pb6MgXuPrbJafnx2eYOJeXZ5e657hDyEcziElKZjfoB5eHeGj4WRhGGEe6KGeX1utTStc76EhFGJnCyMa5hzfH6HnNeceYB7hmN8gYuMhIVrczSMgYF8h3N7c5pza5hzjJqEYIRdgYuMlL2DeYRzhGGEeX1uhLaEc4iGeZ1zdl6JhrVteX6Me2iMfm5lWqJzSpqEa6pzdnmchHx2c6OMhNdrhoR5g3aHczxzeW52gV6Ejm15frGMc0Vzc4Z+l3drfniJe+9rWq5rlF1rhGGEhoVwe9OEfoh+e7pac09+c3qBY0lrhDycdnp2lJ6MiYOGhGCDc3aRlL2DlJt5doaGdnp2gYF8gWeOjF2Uc4R5c5Z+jEmMe7KEc4mEeYJ4dmyBe0mcgXiPbqJ7eYB7fmGGiYSJjICGlF1reZ2PnElzbpqJfH6Hc39oe4WEc5eJhK6EhqyJc3qBgZB8c09+hEmEaHKDhFGJc5SGiXWMUpaEa89zc6OMnCyMiXtrho+Be5qMc7KEjJ57dmN+hKGPjICGbmiEe7prdod+hGCDdnmchBx7eX6MkXZ2hGGEa657hm98jFFjY5JreYOJgY2EjHZ2a295Y3FajJ6Mc1J+YzB7e4WBjF2Uc4R5eV12gYxzg1qBeId+c9OUc5pzjFFjgY5+hFiMlIaPhoR5lIpjjIKBlNdSe7KEeX2BfrGMhIqGc65zjE2UhK6EklZ+QmWEeziMWqZza3VzdnR4foh+gYF8n3iJiZhrnKp7gYF8eId+lJ6Me1lrcIuGjKJjhmN8c66MjFF7a6prjJ6UnJ5zezyUfruRWlF7nI5zfHyGe657h4SEe8tjhBx7jFFjc09+c39ojICMeZeJeXt+YzRzjHZ2c0WEcIeBeXZ5onSXkVR+gYJ+eYFwdldzgYF7eX2BjJ6UiXuXlE1jh4SEe1mchLJjc4Z+hqZ7eXZ5bm1zlL6Ue5p7iWeGhKqUY5pzjKJjcIeBe8t7gXyBYIRdlEp4a3mGnK6EfmmMZpqEfFl5gYxzjKZuhGFjhoKGhHx2fnx2eXuMe3aBiWeGvbKMe6KGa5hzYzB7gZOBlGV7hmN8hqZlYot2Y117a6pzc6KEfId8foB5rctrfneJfJ6PcHN2hFiMc5pzjH92c0VzgY2EcElzdmCBlFVzg1GBc65zY4OBboeBcHiBeYJ4ewxzfHx5lIRzlEmEnLKEbk1zfJ6PhmN8eYBljBiEnMOEiXxwezyUcIeBe76EdsKEeX2BdnR4jGWUrXWMjGd7fkl+j4WRlEGMa5Jzho+BhDyEfnqMeXt+g3aHlE1jczClhNN7ZW18eHx8hGFjZW18iXWMjKJjhH57gYuMcIuGWjyMe4ZtjJuExmmMj4WRdntzi4GDhFFzYIRdnGGcjJp7Y0F7e4WEkbCGiX57fnSHa657a6prhBCMe3Z+SmmMjH92eHJ2hK6EY1FzexhrvbKMnI5za4OEfnd+eXuMhImBe897hLaMjN+EfG+BeIOBhF1+eZeJi4GDkXZ2eXKEgZ6Ejpd4c2GHa1V5e5KUfqZuhCx7jKp7lLZrg11+hHx2hFWUoot2nI5zgbh5mo9zvZaUe3qRbqKMfqZ2kbCGhFiM"),e=>e.charCodeAt(0)),t=new xt.R(32);t.wrapMode=33071,t.pixelFormat=6407,t.wrapMode=10497,t.hasMipmap=!0,this._passParameters.noiseTexture=new ot.A(this.renderingContext,t,e),this.addHandles((0,l.wB)(()=>this._useSSAO,e=>{this._enableTime=(0,c.l5)(0),e?this._enable():this._disable()},l.pc))}destroy(){this._passParameters.noiseTexture=(0,s.WD)(this._passParameters.noiseTexture)}render(e){let t=e.find(({name:e})=>"normals"===e),r=t?.getTexture(),i=t?.getTexture(33306);if(!r||!i)return;let n=this.techniques.getCompiled(Ft),o=this.techniques.getCompiled(Et);if(!n||!o)return this._enableTime=(0,c.l5)(performance.now()),void this.requestRender(1);0===this._enableTime&&(this._enableTime=(0,c.l5)(performance.now()));let s=this.renderingContext,l=this.view.qualitySettings.fadeDuration,u=this.bindParameters,h=u.camera,f=h.relativeElevation,m=(0,a.qE)((5e5-f)/2e5,0,1),p=l>0?Math.min(l,performance.now()-this._enableTime)/l:1,v=p*m;this._passParameters.normalTexture=r,this._passParameters.depthTexture=i,this._passParameters.projScale=1/h.computeScreenPixelSizeAtDistance(1),this._passParameters.intensity=4*Nt/(0,Tt.g)(h)**6*v;let g=h.fullViewport[2],x=h.fullViewport[3],_=this.fboCache.acquire(g,x,"ssao input",2);s.bindFramebuffer(_.fbo),s.setViewport(0,0,g,x),s.bindTechnique(n,u,this._passParameters,this._drawParameters),s.screen.draw();let b=Math.round(g/2),y=Math.round(x/2),w=this.fboCache.acquire(b,y,"ssao blur",0);s.bindFramebuffer(w.fbo),this._drawParameters.colorTexture=_.getTexture(),(0,d.hZ)(this._drawParameters.blurSize,0,2/x),s.bindTechnique(o,u,this._passParameters,this._drawParameters),s.setViewport(0,0,b,y),s.screen.draw(),_.release();let M=this.fboCache.acquire(b,y,Ke.AMBIENT_ILLUMINATION,0);return s.bindFramebuffer(M.fbo),s.setViewport(0,0,g,x),s.setClearColor(1,1,1,0),s.clear(16384),this._drawParameters.colorTexture=w.getTexture(),(0,d.hZ)(this._drawParameters.blurSize,2/g,0),s.bindTechnique(o,u,this._passParameters,this._drawParameters),s.setViewport(0,0,b,y),s.screen.draw(),s.setViewport4fv(h.fullViewport),w.release(),p<1&&this.requestRender(2),M}};Bt=(0,o.Cg)([(0,u.$K)("esri.views.3d.webgl-engine.effects.ssao.SSAO")],Bt);const Nt=.5;function zt(e,t){t.receiveAmbientOcclusion?(e.uniforms.add(new n.x("ssaoTex",e=>e.ssao?.getTexture())),e.constants.add("blurSizePixelsInverse","float",.5),e.code.add(i.H`float evaluateAmbientOcclusionInverse() {
605
+ }`))}(e,t)}},68785(e,t,r){r.d(t,{n:()=>zt});var i=r(31821),n=r(12791),o=r(32198),a=r(34727),s=r(97768),l=r(36708),c=r(78659),u=r(91429),d=r(37585),h=r(69540);let f=class extends h.Pw{constructor(e){super(e),this.row=0,this.column=0,this.rows=1,this.columns=1}equals(e){return null!=e&&this.row===e.row&&this.rows===e.rows&&this.column===e.column&&this.columns===e.columns}};(0,o.Cg)([(0,u.MZ)({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],f.prototype,"row",void 0),(0,o.Cg)([(0,u.MZ)({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],f.prototype,"column",void 0),(0,o.Cg)([(0,u.MZ)({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],f.prototype,"rows",void 0),(0,o.Cg)([(0,u.MZ)({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],f.prototype,"columns",void 0),f=(0,o.Cg)([(0,u.$K)("esri.CameraLayout")],f);const m=f;var p=r(69052),v=r(25482),g=r(78888),x=r(86738),_=r(43937),b=r(36005);let y=class extends((0,h.OU)(v.o)){constructor(...e){super(...e),this.position=new x.A([0,0,0]),this.heading=0,this.tilt=0,this.fov=55,this.layout=new m}normalizeCtorArgs(e,t,r,i){if(e&&"object"==typeof e&&("x"in e||Array.isArray(e))){let n={position:e};return null!=t&&(n.heading=t),null!=r&&(n.tilt=r),null!=i&&(n.fov=i),n}return e}writePosition(e,t,r,i){let n=e.clone();n.x=(0,g.GB)(e.x||0),n.y=(0,g.GB)(e.y||0),n.z=e.hasZ?(0,g.GB)(e.z||0):e.z,t[r]=n.write({},i)}readPosition(e,t){let r=new x.A;return r.read(e,t),r.x=(0,g.GB)(r.x||0),r.y=(0,g.GB)(r.y||0),r.z=r.hasZ?(0,g.GB)(r.z||0):r.z,r}equals(e){return null!=e&&this.tilt===e.tilt&&this.heading===e.heading&&this.fov===e.fov&&this.position.equals(e.position)&&this.layout.equals(e.layout)}};(0,o.Cg)([(0,u.MZ)({type:x.A,json:{write:{isRequired:!0}}})],y.prototype,"position",void 0),(0,o.Cg)([(0,_.K)("position")],y.prototype,"writePosition",null),(0,o.Cg)([(0,b.w)("position")],y.prototype,"readPosition",null),(0,o.Cg)([(0,u.MZ)({type:Number,nonNullable:!0,json:{write:{isRequired:!0}}}),(0,u.wg)(e=>p.ie.normalize((0,g.GB)(e)))],y.prototype,"heading",void 0),(0,o.Cg)([(0,u.MZ)({type:Number,nonNullable:!0,json:{write:{isRequired:!0}}}),(0,u.wg)(e=>(0,a.qE)((0,g.GB)(e),-180,180))],y.prototype,"tilt",void 0),(0,o.Cg)([(0,u.MZ)({type:Number,nonNullable:!0,json:{default:55,write:!0}}),(0,u.wg)(e=>(0,a.qE)((0,g.GB)(e,55),1,170))],y.prototype,"fov",void 0),(0,o.Cg)([(0,u.MZ)({type:m,nonNullable:!0,json:{read:!1,write:!1}})],y.prototype,"layout",void 0),y=(0,o.Cg)([(0,u.$K)("esri.Camera")],y);var w=r(9093),M=r(35522),T=r(51850),S=r(16930),C=(r(48353),r(9762),r(65806)),A=r(27993),E=r(73941),O=(r(19419),r(58083)),I=r(65720),P=r(71351),D=r(69622),R=r(53966),F=r(90629),B=r(48163),N=r(78955),z=r(91829),L=r(44280);function H(e,t,r){e.worldUpAtPosition(t,V),(0,M.Re)(U,r,t);let i=(0,M.Bw)(U);return 0===i?0:(0,a.XM)((0,M.Om)(U,V)/i)}const V=(0,T.vt)(),U=(0,T.vt)();var j;let k=j=class extends D.A{constructor(e){super(e),this._ray=(0,P.vt)(),this._viewport=(0,z.fA)(0,0,1,1),this._padding=(0,z.fA)(0,0,0,0),this._fov=55/180*Math.PI,this._nearFar=(0,B.fA)(1,1e3),this._viewDirty=!0,this._viewMatrix=(0,w.vt)(),this._viewProjectionDirty=!0,this._viewProjectionMatrix=(0,w.vt)(),this._viewInverseTransposeMatrixDirty=!0,this._viewInverseTransposeMatrix=(0,w.vt)(),this._frustumDirty=!0,this._frustum=(0,I.vt)(),this._fullViewport=(0,z.vt)(),this._fullViewportDirty=!0,this._pixelRatio=1,this.pixelScale=1,this.row=0,this.column=0,this._rows=1,this._columns=1,this._center=(0,T.vt)(),this._up=(0,T.vt)(),this.relativeElevation=0}get pixelRatio(){return this._pixelRatio}set pixelRatio(e){this._pixelRatio=e>0?e:1}get rows(){return this._rows}set rows(e){this._rows=Math.max(1,e)}get columns(){return this._columns}set columns(e){this._columns=Math.max(1,e)}get eye(){return this._ray.origin}set eye(e){this._compareAndSetView(e,this._ray.origin,"eye")}get center(){return this._center}set center(e){this._compareAndSetView(e,this._center,"_center")}get ray(){return(0,M.Re)(this._ray.direction,this.center,this.eye),this._ray}get up(){return this._up}set up(e){this._compareAndSetView(e,this._up,"_up")}get viewMatrix(){return this._ensureViewClean(),this._viewMatrix}set viewMatrix(e){(0,O.C)(this._viewMatrix,e),this.notifyChange("_viewMatrix"),this._viewDirty=!1,this._viewInverseTransposeMatrixDirty=!0,this._viewProjectionDirty=!0,this._frustumDirty=!0}get inverseViewMatrix(){return(0,O.Qw)((0,w.vt)(),this.viewMatrix)||this._get("inverseViewMatrix")||(0,w.vt)()}get viewForward(){return this._ensureViewClean(),(0,M.hZ)((0,T.vt)(),-this._viewMatrix[2],-this._viewMatrix[6],-this._viewMatrix[10])}get viewUp(){return this._ensureViewClean(),(0,M.hZ)((0,T.vt)(),this._viewMatrix[1],this._viewMatrix[5],this._viewMatrix[9])}get viewRight(){return this._ensureViewClean(),(0,M.hZ)((0,T.vt)(),this._viewMatrix[0],this._viewMatrix[4],this._viewMatrix[8])}get nearFar(){return this._nearFar}get near(){return this._nearFar[0]}set near(e){this._nearFar[0]!==e&&(this._nearFar[0]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_nearFar"))}get far(){return this._nearFar[1]}set far(e){this._nearFar[1]!==e&&(this._nearFar[1]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_nearFar"))}get viewport(){return this._viewport}set viewport(e){this.x=e[0],this.y=e[1],this.width=e[2],this.height=e[3]}get screenViewport(){if(1===this.pixelRatio)return this._viewport;let e=(0,N.hs)((0,z.vt)(),this._viewport,1/this.pixelRatio),t=this._get("screenViewport");return t&&(0,N.aI)(e,t)?t:e}get screenPadding(){if(1===this.pixelRatio)return this._padding;let e=(0,N.hs)((0,z.vt)(),this._padding,1/this.pixelRatio),t=this._get("screenPadding");return t&&(0,N.aI)(e,t)?t:e}get x(){return this._viewport[0]}set x(e){e+=this._padding[3],this._viewport[0]!==e&&(this._viewport[0]=e,this._fullViewportDirty=!0,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get y(){return this._viewport[1]}set y(e){e+=this._padding[2],this._viewport[1]!==e&&(this._viewport[1]=e,this._fullViewportDirty=!0,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get width(){return this._viewport[2]}set width(e){this._viewport[2]!==e&&(this._viewport[2]=e,this._fullViewportDirty=!0,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get height(){return this._viewport[3]}set height(e){this._viewport[3]!==e&&(this._viewport[3]=e,this._fullViewportDirty=!0,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get fullWidth(){return this._viewport[2]+this._padding[1]+this._padding[3]}set fullWidth(e){this.width=e-(this._padding[1]+this._padding[3])}get fullHeight(){return this._viewport[3]+this._padding[0]+this._padding[2]}set fullHeight(e){this.height=e-(this._padding[0]+this._padding[2])}get fullViewport(){return this._fullViewportDirty&&=(this._fullViewport[0]=this._viewport[0]-this._padding[3],this._fullViewport[1]=this._viewport[1]-this._padding[2],this._fullViewport[2]=this._viewport[2]+this._padding[1]+this._padding[3],this._fullViewport[3]=this._viewport[3]+this._padding[0]+this._padding[2],!1),this._fullViewport}get _aspect(){return this.width/this.height}get padding(){return this._padding}set padding(e){(0,N.t2)(this._padding,e)||(this._viewport[0]+=e[3]-this._padding[3],this._viewport[1]+=e[2]-this._padding[2],this._viewport[2]-=e[1]+e[3]-(this._padding[1]+this._padding[3]),this._viewport[3]-=e[0]+e[2]-(this._padding[0]+this._padding[2]),(0,N.C)(this._padding,e),this._fullViewportDirty=!0,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_padding"),this.notifyChange("_viewport"))}get viewProjectionMatrix(){return this._viewProjectionDirty&&=((0,O.lw)(this._viewProjectionMatrix,this.projectionMatrix,this.viewMatrix),!1),this._viewProjectionMatrix}get projectionMatrix(){return this._projectionMatrixInternal}get inverseProjectionMatrix(){return(0,O.B8)((0,w.vt)(),this.projectionMatrix)||this._get("inverseProjectionMatrix")||(0,w.vt)()}get fov(){return this._fov}set fov(e){this._fov=e,this._viewProjectionDirty=!0,this._frustumDirty=!0}get fovX(){return e=this._fov,t=this.width,r=this.height,2*Math.atan(t*Math.tan(.5*e)/Math.sqrt(t*t+r*r));var e,t,r}set fovX(e){this._fov=function(e,t,r){return 2*Math.atan(Math.sqrt(t*t+r*r)*Math.tan(.5*e)/t)}(e,this.width,this.height),this._viewProjectionDirty=!0,this._frustumDirty=!0}get fovY(){return e=this._fov,t=this.width,r=this.height,2*Math.atan(r*Math.tan(.5*e)/Math.sqrt(t*t+r*r));var e,t,r}set fovY(e){this._fov=function(e,t,r){return 2*Math.atan(Math.sqrt(t*t+r*r)*Math.tan(.5*e)/r)}(e,this.width,this.height),this._viewProjectionDirty=!0,this._frustumDirty=!0}get distance(){return(0,M.Io)(this.center,this.eye)}get frustum(){return this._recomputeFrustum(),this._frustum}get viewInverseTransposeMatrix(){return(this._viewInverseTransposeMatrixDirty||this._viewDirty)&&((0,O.B8)(this._viewInverseTransposeMatrix,this.viewMatrix),(0,O.mg)(this._viewInverseTransposeMatrix,this._viewInverseTransposeMatrix),this._viewInverseTransposeMatrixDirty=!1),this._viewInverseTransposeMatrix}depthNDCToWorld(e){let{near:t,far:r}=this;return 2*t*r/(r+t-e*(r-t))}get renderPixelSizePerDistance(){return Math.tan(this.fovX/2)/(this.width/2)}get screenPixelSizePerDistance(){return this.renderPixelSizePerDistance*this.pixelRatio}get aboveGround(){return null!=this.relativeElevation&&this.relativeElevation>=0}get _projectionMatrixInternal(){let e=this.width,t=this.height,r=this.near*Math.tan(this.fovY/2)*2,i=r*this._aspect,n=r/this.rows,o=i/this.columns,a=-i/2+this.column*o,s=a+o,l=-r/2+this.row*n,c=l+n,u=(0,O.$h)((0,w.vt)(),a*(1+2*this._padding[3]/e),s*(1+2*this._padding[1]/e),l*(1+2*this._padding[2]/t),c*(1+2*this._padding[0]/t),this.near,this.far),d=this._get("projectionMatrix");return d&&(0,O.t2)(d,u)?d:u}copyFrom(e){(0,M.C)(this._ray.origin,e.eye),this.center=e.center,this.up=e.up,(0,N.C)(this._viewport,e.viewport),this.notifyChange("_viewport"),(0,N.C)(this._padding,e.padding),this.notifyChange("_padding"),this._fullViewportDirty=!0,(0,d.C)(this._nearFar,e.nearFar),this.notifyChange("_nearFar"),this._fov=e.fov,this.row=e.row,this.column=e.column,this.rows=e.rows,this.columns=e.columns,this.relativeElevation=e.relativeElevation;let t=e;return this._viewDirty=t._viewDirty,this._viewDirty||((0,O.C)(this._viewMatrix,e.viewMatrix),this.notifyChange("_viewMatrix")),this._viewProjectionDirty=!0,this._frustumDirty=t._frustumDirty,this._frustumDirty||=((0,I.C)(this._frustum,e.frustum),!1),t._viewInverseTransposeMatrixDirty?this._viewInverseTransposeMatrixDirty=!0:((0,O.C)(this._viewInverseTransposeMatrix,e.viewInverseTransposeMatrix),this._viewInverseTransposeMatrixDirty=!1),this.pixelRatio=e.pixelRatio,this.pixelScale=e.pixelScale,this}copyViewFrom(e){this.eye=e.eye,this.center=e.center,this.up=e.up,this.fov=e.fov}clone(){return(new j).copyFrom(this)}equals(e){return(0,M.t2)(this.eye,e.eye)&&(0,M.t2)(this.center,e.center)&&(0,M.t2)(this.up,e.up)&&(0,N.t2)(this._viewport,e.viewport)&&(0,N.t2)(this._padding,e.padding)&&(0,d.t2)(this.nearFar,e.nearFar)&&this._fov===e.fov&&this.pixelRatio===e.pixelRatio&&this.relativeElevation===e.relativeElevation&&this.row===e.row&&this.column===e.column&&this.rows===e.rows&&this.columns===e.columns}equalsView(e){return(0,M.t2)(this.eye,e.eye)&&(0,M.t2)(this.center,e.center)&&(0,M.t2)(this.up,e.up)&&this._fov===e.fov}almostEquals(e){let t=Math.max(1,1/this.pixelRatio,1/e.pixelRatio);if(Math.abs(e.fov-this._fov)>=.001||(0,N.hG)(e.screenPadding,this.screenPadding)>=t||(0,N.hG)(this.screenViewport,e.screenViewport)>=t||this.row!==e.row||this.column!==e.column||this.rows!==e.rows||this.columns!==e.columns)return!1;(0,M.jb)($,e.eye,e.center),(0,M.jb)(Z,this.eye,this.center);let r=(0,M.Om)($,Z),i=(0,M.uE)($),n=(0,M.uE)(Z),o=5e-4;return r*r>=.9999999999*i*n&&(0,M.lo)(e.eye,this.eye)<Math.max(i,n)*o*o}computeRenderPixelSizeAt(e){return this.computeRenderPixelSizeAtDistance(this._viewDirectionDistance(e))}computeRenderPixelSizeAtDistance(e){return e*this.renderPixelSizePerDistance}computeScreenPixelSizeAt(e){return this.computeScreenPixelSizeAtDistance(this._viewDirectionDistance(e))}_viewDirectionDistance(e){return Math.abs((0,L.gr)(this.viewForward,(0,M.Re)($,e,this.eye)))}computeScreenPixelSizeAtDistance(e){return e*this.screenPixelSizePerDistance}computeDistanceFromRadius(e,t){return e/Math.tan(Math.min(this.fovX,this.fovY)/(2*(t||1)))}getScreenCenter(e=(0,F.gs)()){return e[0]=(this.padding[3]+this.width/2)/this.pixelRatio,e[1]=(this.padding[0]+this.height/2)/this.pixelRatio,e}getRenderCenter(e,t=.5,r=.5){return e[0]=this.padding[3]+this.width*t,e[1]=this.padding[2]+this.height*r,e[2]=.5,e}setGLViewport(e){let t=this.viewport,r=this.padding;e.setViewport(t[0]-r[3],t[1]-r[2],t[2]+r[1]+r[3],t[3]+r[0]+r[2])}applyProjection(e,t){e!==G&&(0,M.C)(G,e),G[3]=1,(0,N.Z0)(G,G,this.projectionMatrix);let r=Math.abs(G[3]);(0,M.hs)(G,G,1/r);let i=this.fullViewport;t[0]=(0,a.Cc)(0,i[0]+i[2],.5+.5*G[0]),t[1]=(0,a.Cc)(0,i[1]+i[3],.5+.5*G[1]),t[2]=.5*(G[2]+1),t[3]=r}unapplyProjection(e,t){let r=this.fullViewport;G[0]=(e[0]/(r[0]+r[2])*2-1)*e[3],G[1]=(e[1]/(r[1]+r[3])*2-1)*e[3],G[2]=(2*e[2]-1)*e[3],G[3]=e[3],null!=this.inverseProjectionMatrix&&((0,N.Z0)(G,G,this.inverseProjectionMatrix),t[0]=G[0],t[1]=G[1],t[2]=G[2])}projectToScreen(e,t){return null==this.projectToRenderScreen(e,q)?null:(this.renderToScreen(q,t),t)}projectToRenderScreen(e,t){if(G[0]=e[0],G[1]=e[1],G[2]=e[2],G[3]=1,(0,N.Z0)(G,G,this.viewProjectionMatrix),0===G[3])return null;let r=G;(0,M.hs)(r,r,1/Math.abs(G[3]));let i=this.fullViewport,n=(0,a.Cc)(0,i[0]+i[2],.5+.5*r[0]),o=(0,a.Cc)(0,i[1]+i[3],.5+.5*r[1]);return"x"in t?(t.x=n,t.y=o):(t[0]=n,t[1]=o,t.length>2&&(t[2]=.5*(r[2]+1))),t}unprojectFromScreen(e,t){return this.unprojectFromRenderScreen(this.screenToRender(e,q),t)}unprojectFromRenderScreen(e,t){if((0,O.lw)(W,this.projectionMatrix,this.viewMatrix),!(0,O.B8)(W,W))return null;let r=this.fullViewport;return G[0]=2*(e[0]-r[0])/r[2]-1,G[1]=2*(e[1]-r[1])/r[3]-1,G[2]=2*e[2]-1,G[3]=1,(0,N.Z0)(G,G,W),0===G[3]?null:(t[0]=G[0]/G[3],t[1]=G[1]/G[3],t[2]=G[2]/G[3],t)}constrainWindowSize(e,t,r,i){let n=e*this.pixelRatio,o=t*this.pixelRatio,a=Math.max(n-r/2,0),s=Math.max(this.fullHeight-o-i/2,0),l=-Math.min(n-r/2,0),c=-Math.min(this.fullHeight-o-i/2,0),u=r-l- -Math.min(this.fullWidth-n-r/2,0),d=i-c- -Math.min(o-i/2,0);return[Math.round(a),Math.round(s),Math.round(u),Math.round(d)]}computeUp(e){1===e?this._computeUpGlobal():this._computeUpLocal()}screenToRender(e,t){let r=e[0]*this.pixelRatio,i=this.fullHeight-e[1]*this.pixelRatio;return t[0]=r,t[1]=i,t}renderToScreen(e,t){let r=e[0]/this.pixelRatio,i=(this.fullHeight-e[1])/this.pixelRatio;t[0]=r,t[1]=i}sphereFrustumCoverage(e,t){let{center:r,eye:i,distance:n,fovY:o}=this,a=Math.abs(Math.PI/2-H(t,r,i));return e.frustumCoverage(a,n,o)}_computeUpGlobal(){(0,M.Re)($,this.center,this.eye);let e=(0,M.Bw)(this.center);e<1?(0,M.t2)(this._up,T.Cb)&&((0,M.C)(this._up,T.Cb),this._markViewDirty(),this.notifyChange("_up")):Math.abs((0,M.Om)($,this.center))>.9999*(0,M.Bw)($)*e||((0,M.$A)(Z,$,this.center),(0,M.$A)(Z,Z,$),(0,M.S8)(Z,Z),(0,M.t2)(this._up,Z)||((0,M.C)(this._up,Z),this.notifyChange("_up"),this._markViewDirty()))}_computeUpLocal(){(0,M.oW)($,this.eye,this.center),Math.abs($[2])<=.9999&&((0,M.hs)($,$,$[2]),(0,M.hZ)($,-$[0],-$[1],1-$[2]),(0,M.S8)($,$),(0,M.t2)(this._up,$)||((0,M.C)(this._up,$),this.notifyChange("_up"),this._markViewDirty()))}_compareAndSetView(e,t,r){"number"==typeof e[0]&&isFinite(e[0])&&"number"==typeof e[1]&&isFinite(e[1])&&"number"==typeof e[2]&&isFinite(e[2])?(0,M.t2)(e,t)||((0,M.C)(t,e),this._markViewDirty(),this.notifyChange(r)):R.A.getLogger("esri.views.3d.webgl-engine.lib.RenderCamera").warn("RenderCamera vector contains invalid number, ignoring value")}_markViewDirty(){this._viewDirty=!0,this._frustumDirty=!0,this._viewProjectionDirty=!0}_recomputeFrustum(){this._frustumDirty&&=((0,I.ui)(this.viewMatrix,this.projectionMatrix,this._frustum),!1)}_ensureViewClean(){this._viewDirty&&((0,O.t5)(this._viewMatrix,this.eye,this.center,this.up),this.notifyChange("_viewMatrix"),this._viewDirty=!1,this._viewInverseTransposeMatrixDirty=!0)}};(0,o.Cg)([(0,u.MZ)()],k.prototype,"_viewport",void 0),(0,o.Cg)([(0,u.MZ)()],k.prototype,"_padding",void 0),(0,o.Cg)([(0,u.MZ)()],k.prototype,"_fov",void 0),(0,o.Cg)([(0,u.MZ)()],k.prototype,"_nearFar",void 0),(0,o.Cg)([(0,u.MZ)()],k.prototype,"_viewDirty",void 0),(0,o.Cg)([(0,u.MZ)()],k.prototype,"_viewMatrix",void 0),(0,o.Cg)([(0,u.MZ)()],k.prototype,"pixelRatio",null),(0,o.Cg)([(0,u.MZ)()],k.prototype,"_pixelRatio",void 0),(0,o.Cg)([(0,u.MZ)()],k.prototype,"pixelScale",void 0),(0,o.Cg)([(0,u.MZ)()],k.prototype,"row",void 0),(0,o.Cg)([(0,u.MZ)()],k.prototype,"column",void 0),(0,o.Cg)([(0,u.MZ)()],k.prototype,"_rows",void 0),(0,o.Cg)([(0,u.MZ)()],k.prototype,"rows",null),(0,o.Cg)([(0,u.MZ)()],k.prototype,"_columns",void 0),(0,o.Cg)([(0,u.MZ)()],k.prototype,"columns",null),(0,o.Cg)([(0,u.MZ)()],k.prototype,"eye",null),(0,o.Cg)([(0,u.MZ)()],k.prototype,"center",null),(0,o.Cg)([(0,u.MZ)()],k.prototype,"_center",void 0),(0,o.Cg)([(0,u.MZ)()],k.prototype,"up",null),(0,o.Cg)([(0,u.MZ)()],k.prototype,"_up",void 0),(0,o.Cg)([(0,u.MZ)()],k.prototype,"viewMatrix",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],k.prototype,"inverseViewMatrix",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],k.prototype,"viewForward",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],k.prototype,"viewUp",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],k.prototype,"viewRight",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],k.prototype,"nearFar",null),(0,o.Cg)([(0,u.MZ)()],k.prototype,"near",null),(0,o.Cg)([(0,u.MZ)()],k.prototype,"far",null),(0,o.Cg)([(0,u.MZ)()],k.prototype,"viewport",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],k.prototype,"screenViewport",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],k.prototype,"screenPadding",null),(0,o.Cg)([(0,u.MZ)()],k.prototype,"x",null),(0,o.Cg)([(0,u.MZ)()],k.prototype,"y",null),(0,o.Cg)([(0,u.MZ)()],k.prototype,"width",null),(0,o.Cg)([(0,u.MZ)()],k.prototype,"height",null),(0,o.Cg)([(0,u.MZ)()],k.prototype,"fullWidth",null),(0,o.Cg)([(0,u.MZ)()],k.prototype,"fullHeight",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],k.prototype,"_aspect",null),(0,o.Cg)([(0,u.MZ)()],k.prototype,"padding",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],k.prototype,"projectionMatrix",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],k.prototype,"inverseProjectionMatrix",null),(0,o.Cg)([(0,u.MZ)()],k.prototype,"fov",null),(0,o.Cg)([(0,u.MZ)()],k.prototype,"fovX",null),(0,o.Cg)([(0,u.MZ)()],k.prototype,"fovY",null),(0,o.Cg)([(0,u.MZ)()],k.prototype,"viewInverseTransposeMatrix",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],k.prototype,"_projectionMatrixInternal",null),(0,o.Cg)([(0,u.MZ)()],k.prototype,"relativeElevation",void 0),k=j=(0,o.Cg)([(0,u.$K)("esri.views.3d.webgl.RenderCamera")],k);const G=(0,z.vt)(),W=(0,w.vt)(),$=(0,T.vt)(),Z=(0,T.vt)(),q=(0,F.r_)();r(49718),r(6867),r(16396),(0,w.vt)(),(0,T.vt)(),(0,T.vt)(),(0,T.vt)();var Y=r(5443),X=r(39829),K=r(95108);function J(e,t,r,i){let n=function(e,t){let r=0===t||2===t?0:1,i=e[t],n=0===t||1===t?1:-1,o=+(0===r);return(e,t,a)=>{if(t[r]<i&&a[r]<i)return 1===n?0:1;if(t[r]>i&&a[r]>i)return+(1===n);let s=(a[o]-t[o])/(a[r]-t[r]),l=t[o]+s*(i-t[r]);return e[r]=i,e[o]=l,(t[r]<i?1:-1)*n>0?2:3}}(r,i);if(e.length=0,t.length){1===n(ee,t[0],t[0])&&Q(e,t[0]);for(let r=0;r<t.length;r++){let i=t[r===t.length-1?0:r+1];switch(n(ee,t[r],i)){case 1:Q(e,i);break;case 3:Q(e,(0,B.o8)(ee));break;case 2:Q(e,(0,B.o8)(ee)),Q(e,i)}}}}function Q(e,t){0!==e.length&&(0,d.aI)(e.at(-1),t)||e.push(t)}const ee=(0,B.vt)();var te=r(11964),re=r(27921);const ie=(0,T.vt)(),ne=(0,T.vt)();function oe(){return{direction:(0,T.vt)(),up:(0,T.vt)()}}function ae(e,t,r,i,n){let o=(0,M.S8)(ie,e),s=(0,M.Om)(o,i),l=s>0;s=Math.abs(s),s>.99&&(s=Math.abs((0,M.Om)(t,i)),s<.99?((0,M.C)(o,t),l&&(0,M.hs)(o,o,-1)):o=null);let c=0;if(o){(0,M.hs)(ne,i,(0,M.Om)(i,o)),(0,M.Re)(o,o,ne);let e=(0,M.Om)(o,n)/((0,M.Bw)(o)*(0,M.Bw)(n));(0,M.$A)(ne,o,n),c=((0,M.Om)(ne,i)>0?1:-1)*(0,a.KJ)((0,a.XM)(e))}let u=(0,a.KJ)((0,a.XM)(-(0,M.Om)(i,e)/(0,M.Bw)(e)));return r?(r.heading=c,r.tilt=u,r):{heading:c,tilt:u}}function se(e,t,r,i){(0,M.Re)(le,r,t),!(0,re.T7)(i,(0,te.LV)(t,le),e)&&e!==r&&(0,M.C)(e,r)}const le=(0,T.vt)(),ce=(0,T.fA)(0,1,0),ue=(0,T.fA)(0,0,1),de=(0,w.vt)(),he=(0,T.vt)(),fe=(0,T.vt)();function me(e,t,r,i=oe()){let{direction:n,up:o}=i;return(0,O.N9)(de,-(0,a.kU)(t)),(0,O.eL)(de,de,(0,a.kU)(r)),(0,M.Z0)(n,ue,de),(0,M.hs)(n,n,-1),(0,M.Z0)(o,ce,de),i}function pe(e,t,r,i,n){let o=t.lines[11].direction,a=(n-r.getAltitude(i))/o[2];(0,M.Ln)(e,i,o,a)}const ve=(0,T.vt)();Object.freeze(Object.defineProperty({__proto__:null,directionToHeadingTilt:function(e,t,r,i){return ae(t,r,i,ue,ce)},eyeForCenterWithHeadingTilt:function(e,t,r,i){let n=me(0,r,i),o=(0,T.vt)();return(0,M.hs)(o,n.direction,-t),(0,M.WQ)(o,o,e),{up:n.up,eye:o,heading:r,tilt:i}},eyeTiltToLookAtTilt:function(e){return(0,a.kU)(e)},headingTiltToDirectionUp:me,lookAtTiltToEyeTilt:function(e){return(0,a.KJ)(e)},toArea:function(e,t){let r=e.frustum,{renderCoordsHelper:i}=e,n=i.getAltitude(t),o=e.spatialReference,a=e.state.camera.eye,s=[],l=r.planes[5];for(let e=0;e<4;e++){let t=r.lines[e];i.intersectInfiniteManifold((0,P.LV)(t.origin,t.direction),n,ve)||pe(ve,r,i,t.endpoint,n),se(ve,a,ve,l),s.push((0,B.fA)(ve[0],ve[1]))}return function(e,t,r){let i=e.map(e=>((0,M.hZ)(ve,e[0],e[1],0),t.fromRenderCoords(ve,ve,r),[ve[0],ve[1]]));return i.length<=2?new X.A({spatialReference:r}):(i.push(i[0].slice()),(0,K.$3)(i)||i.reverse(),new X.A({rings:[i],spatialReference:r}))}(function(e,t){let r=[],i=[];return J(r,e,t,0),J(i,r,t,1),J(r,i,t,2),J(i,r,t,3),i}(s,i.extent),i,o)},toExtent:function(e,t,r,i,n){let o=e.renderSpatialReference,a=e.spatialReference??t.spatialReference;return(0,C.g)(t,he,o),(0,C.g)(t,fe,o),he[0]-=r/2,fe[0]+=r/2,he[1]-=i/2,fe[1]+=i/2,(0,A.F)(he,o,he,a),(0,A.F)(fe,o,fe,a),n?(n.xmin=he[0],n.ymin=he[1],n.xmax=fe[0],n.ymax=fe[1],n.spatialReference=a):n=new Y.A(he[0],he[1],fe[0],fe[1],a),n}},Symbol.toStringTag,{value:"Module"}));var ge=r(34304),xe=r(52039),_e=r(94008),be=r(28735);class ye{get planes(){return this.frustum}get points(){return this._points}get direction(){return this._direction}get origin(){return this._origin}get boundingSphere(){return this._boundingSphereDirty&&this._updateBoundingSphere(),this._boundingSphere}constructor(e){this.renderCoordsHelper=e,this.frustum=(0,I.vt)(),this._points=(0,I.Qy)(),this.lines=Array(12),this._origin=(0,T.vt)(),this._direction=(0,T.vt)(),this._boundingSphere=new _e.iy,this._altitude=null,this._boundingSphereDirty=!0;for(let e=0;e<12;e++)this.lines[e]={origin:null,direction:(0,T.vt)(),endpoint:null}}update(e){(0,I.ui)(e.viewMatrix,e.projectionMatrix,this.frustum,this._points),(0,M.C)(this._origin,e.eye),(0,M.C)(this._direction,e.viewForward),this._altitude=this.renderCoordsHelper.getAltitude(this._origin),this._updateLines(),this._boundingSphereDirty=!0}get altitude(){return this._altitude}intersectsSphere(e){return(0,I.m7)(this.frustum,e)}isConvexHullOutsideViewPyramid(e,t){return(0,I.Pi)(this.frustum,e,t)}intersectsRay(e){return(0,I.pw)(this.frustum,e)}intersectsLineSegment(e,t){return(0,I.ST)(this.frustum,e,t)}lineSegmentIntersectsViewPyramid(e,t){return(0,I.LJ)(this.frustum,e,t)}intersectsPoint(e){return(0,I.bU)(this.frustum,e)}_updateLines(){let e=this._points;for(let t=0;t<4;t++){let r=t+4;we(this.lines[t],e[t],e[r]),we(this.lines[t+4],e[t],3===t?e[0]:e[t+1]),we(this.lines[t+8],e[r],3===t?e[4]:e[r+1])}}_updateBoundingSphere(){let{origin:e}=this,t=Te;(0,M.S8)(t,this.direction);let r=Me;(0,M.jb)(r,this.points[4],e);let i=.5*(0,M.Om)(r,r)/(0,M.Om)(t,r),n=this._boundingSphere;n.center=(0,M.Ln)(Se,e,t,i),n.radius=i}static{this.planePointIndices=I.c8}static{this.nearFarLineIndices=[[0,4],[1,5],[2,6],[3,7]]}}function we(e,t,r){e.origin=t,e.endpoint=r,(0,M.oW)(e.direction,t,r)}const Me=(0,T.vt)(),Te=(0,T.vt)(),Se=(0,T.vt)();r(86211);const Ce=(0,T.fA)(5802e-9,13558e-9,331e-7),Ae=(0,T.fA)(195e-8,5643e-9,255e-9);(0,T.fA)(Ce[0]+Ae[0],Ce[1]+Ae[1],Ce[2]+Ae[2]);class Ee{constructor(e=1/0,t=-1/0){this.near=e,this.far=t}set(e,t){this.near=e,this.far=t}union(e){return null!=e&&(this.near=Math.min(this.near,e.near),this.far=Math.max(this.far,e.far)),this}within(e){return this.near<=e&&e<=this.far}equals(e){return this.near===e.near&&this.far===e.far}static{this.Zero=new Ee(0,0)}static{this.Infinite=new Ee}}(0,T.vt)(),(0,T.vt)(),new _e.iy,(0,P.vt)(),new Y.A({xmin:0,ymin:0,zmin:0,xmax:0,ymax:0,zmax:0});var Oe=r(32728);const Ie=(0,T.fA)(0,0,1),Pe=(0,M.S8)((0,T.vt)(),(0,T.fA)(1,1,1)),De=(0,w.vt)(),Re=(0,T.vt)(),Fe=(0,T.vt)();function Be(e,t,r,i=oe()){(0,M.$A)(Re,e,Ie),0===(0,M.Om)(Re,Re)&&(0,M.$A)(Re,e,Pe),(0,O.$0)(De,-(0,a.kU)(t),e),(0,O.e$)(De,De,-(0,a.kU)(r),Re);let{up:n,direction:o}=i;return(0,M.$A)(n,Re,e),(0,M.S8)(n,n),(0,M.Z0)(n,n,De),(0,M.S8)(o,e),(0,M.ze)(o,o),(0,M.Z0)(o,o,De),i}function Ne(e){let t=e[1];e[1]=-e[2],e[2]=t}function ze(e,t){return e.up=Be(t,e.heading,e.tilt).up,e}function Le(e,t){let{renderCoordsHelper:r,state:i}=e;if(1!==i.viewingMode)return 1;let n=r.getAltitude(t),o=r.referenceEllipsoid.radius,s=1+(0,M.Io)(i.camera.eye,t)/(o+n),l=Math.sqrt(s*s-1),{minCurvature:c,maxCurvature:u,minSamples:d,maxSamples:h}=Ve,f=(0,a.qE)((l-c)/(u-c),0,1);return Math.round((0,a.Cc)(d,h,f))}function He(e,t){let r=[],i=[],n=(0,ge.FD)();for(let o=0;o<e.length;o++){let a=e[o],s=o===e.length-1?e[0]:e[o+1],l=(0,te.Cr)(a,s,Ze),c=(0,re.vE)(t,l.origin,l.vector,0,We);switch(c){case 2:r.push(a);break;case 3:i.push(a);break;case 0:case 1:{let[e,o,s]=0===c?[1,r,i]:[-1,i,r],l=(0,re.Qj)(t),u=(0,M.Ln)((0,T.vt)(),We,l,e*n),d=(0,M.Ln)((0,T.vt)(),We,l,e*-n);o.push(a),o.push(u),s.push(d)}}}let o=[];return r.length&&o.push(r),i.length&&o.push(i),o}const Ve={minCurvature:(0,a.kU)(5),maxCurvature:(0,a.kU)(50),minSamples:1,maxSamples:6},Ue=(0,T.fA)(1,0,0),je=(0,T.fA)(0,1,0),ke=(0,T.vt)(),Ge=(0,T.vt)(),We=(0,T.vt)(),$e=new _e.iy,Ze=(0,te.vt)(),qe=(0,z.vt)();Object.freeze(Object.defineProperty({__proto__:null,directionToHeadingTilt:function(e,t,r,i){let n=Re,o=Fe;return(0,M.S8)(n,e),(0,M.$A)(Fe,n,Ie),0===(0,M.Om)(Fe,Fe)&&(0,M.$A)(Fe,n,Pe),(0,M.$A)(o,Fe,n),ae(t,r,i,n,o)},eyeForCenterWithHeadingTilt:function(e,t,r,i){let n={eye:(0,T.vt)(),up:null,tilt:i,heading:r},o=Re;o[0]=e[0],o[1]=e[2],o[2]=-e[1];let s,l=t,c=(0,a.kU)(r),u=(0,a.kU)(i),d=Math.sin(c),h=Math.cos(c),f=Math.sin(u),m=Math.cos(u),p=(0,M.Bw)(o);if(Math.abs(u)<1e-8)s=l+p;else{let e=p/f,t=(0,a.YN)(l/e),r=Math.PI-u-t;s=e*Math.sin(r)}let v=m*l,g=l*l*(f*f),x=h*h*g,_=s-v,b=_*_,y=x*(x+b-o[1]*o[1]);if(y<0)return(0,M.hs)(n.eye,o,s/p),n.tilt=0,ze(n,e);let w,S=Math.sqrt(y),C=o[1]*_,A=x+b;if(w=h>0?-S+C:S+C,Math.abs(A)<1e-8)return p<1e-8?(n.eye[0]=0,n.eye[1]=0,n.eye[2]=l):(0,M.hs)(n.eye,o,s/p),n.tilt=0,Ne(n.eye),ze(n,e);n.eye[1]=w/A;let E=d*d*g,O=f*l,I=h*O*n.eye[1],P=n.eye[1]*n.eye[1],D=1-P,R=Math.sqrt(D),F=x*P+E-2*I*R*_+D*b;return Math.abs(F)<1e-8?((0,M.hs)(n.eye,o,s/p),n.tilt=0,Ne(n.eye),ze(n,e)):(n.eye[0]=(D*(s*o[0]-v*o[0])-O*R*(o[0]*n.eye[1]*h+o[2]*d))/F,n.eye[2]=(D*(s*o[2]-v*o[2])-O*R*(o[2]*n.eye[1]*h-o[0]*d))/F,(0,M.hs)(n.eye,n.eye,s),Ne(n.eye),ze(n,e))},eyeTiltToLookAtTilt:function(e,t,r){let i=(0,a.kU)(e),n=(0,M.Bw)(t);return(0,a.YN)(r/(n/Math.sin(i)))+i},getCurvatureSamples:Le,headingTiltToDirectionUp:Be,lookAtTiltToEyeTilt:function(e,t,r){let i=(0,M.Bw)(t),n=Math.sqrt(r*r+i*i-2*r*i*Math.cos(Math.PI-e)),o=(0,a.YN)(r/(n/Math.sin(e)));return(0,a.KJ)(e-o)},toArea:function(e,t){let{renderCoordsHelper:r}=e,i=e.state.camera.clone(),n=new ye(r);i.near=2,n.update(i);let o=r.getAltitude(t),s=e.spatialReference,l=i.eye,c=function(e){let{renderCoordsHelper:t,state:r}=e,i=Math.abs(t.getAltitude(r.camera.center));return $e.radius=t.referenceEllipsoid.radius+i,r.camera.sphereFrustumCoverage($e,t)}(e),u=Le(e,t),d=i.aboveGround,h=n.planes[5],f=[],m=(0,re.O_)(T.uY,Ue,(0,re.vt)()),p=(0,re.O_)(T.uY,je,(0,re.vt)());(0,N.hZ)(qe,0,0,0,0);for(let e=0;e<4;e++){let t=1===e&&!d||3===e&&d?1-c:0,i=1===e&&d||3===e&&!d?c:1,s=n.lines[e],v=n.lines[3===e?0:e+1];for(let n=0;n<u;n++){let c=n/u,d=1===e?1-(1-c)**2:3===e?c**2:c,g=0===n?0:(0,a.Cc)(t,i,d),x=(0,M.Cc)(Ge,s.origin,v.origin,g),_=(0,Oe.nu)(s.direction,v.direction,g,ke);r.intersectManifoldClosestSilhouette((0,P.LV)(x,_),o,We),se(We,l,We,h),f.push((0,T.o8)(We)),0!==f.length&&(0,M.lo)(f.at(-1),We);let b=+!!(0,re.BX)(m,We)|((0,re.BX)(p,We)?2:0);qe[b]=1}}f.length>2&&(0,M.lo)(f[0],f.at(-1));let v=function(e,t,r){let i=2*(0,ge.FD)();return e.map(e=>{let n=[],o=!1;for(let a of e)t.fromRenderCoords(a,We,r),Math.abs(a[0])<i&&Math.abs(a[1])<i?(n.push([null,We[1]]),n.push([null,We[1]]),o=!0):n.push([We[0],We[1]]);if(o)for(let e=0;e<n.length;e++){let t=n[e];if(null!=t[0])continue;let r=n[e+1];t[0]=n.at(0===e?-1:e-1)[0],e++,r[0]=n.at(e===n.length-1?0:e+1)[0]}return n.push(n[0]),(0,K.$3)(n)||n.reverse(),n})}((0,N.m3)(qe)>1?function(e,t){let r=[];for(let i of e)r.push(...He(i,t));return r}(He(f,m),p):[f],r,s);return new X.A({rings:v,spatialReference:s})},toExtent:function(e,t,r,i,n){let o,s,l,c,u=t.latitude,d=(0,E.tO)(e.spatialReference).radius,h=t.longitude,f=function(e,t,r){let i=t/r,n=(0,a.kU)(e),o=Math.sin(i/2),s=Math.cos(n),l=2*(0,a.YN)(Math.sqrt(o*o/(s*s)));return(0,a.KJ)(l)}(u,r,d)/2;o=h-f,s=h+f;let m=(0,a.kU)(u),v=(1+Math.sin(m))/(1-Math.sin(m)),g=(v+1)*Math.tan(i/d/2),x=g*g;function _(e){let t=Math.PI/2;return(e=p.uC.normalize(e,-t))>t&&(e=Math.PI-e),e}if(l=1.5*Math.PI-2*Math.atan(.5*(g+Math.sqrt(4*v+x))),c=l+i/d,l=_(l),c=_(c),c<l){let e=c;c=l,l=e}if(l=Math.max((0,a.KJ)(l),-90),c=Math.min((0,a.KJ)(c),90),s=xe.Y_.monotonic(o,s),s-o>180){let e=(s-o-180)/2;o+=e,s-=e}let b=e.spatialReference&&e.spatialReference.isGeographic?e.spatialReference:S.A.WGS84;return n?(n.xmin=o,n.ymin=l,n.xmax=s,n.ymax=c,n.spatialReference=b):n=new Y.A(o,l,s,c,b),e.spatialReference&&e.spatialReference.isWebMercator&&(0,be.Gh)(n,!1,n),n}},Symbol.toStringTag,{value:"Module"}));const Ye="composite-color",Xe=["final-color",Ye,"opaque-color","transparent-color"],Ke={ANTIALIASING:"antialiasing",CUTFILL:"cutfill",CUTFILL_COMPUTATION:"cutfill-computation",FOCUSAREA:"focusarea",FOCUSAREA_MASK:"focusarea-mask",GAUSSIAN_SPLAT:"gaussian",GAUSSIAN_SPLAT_DEPTH:"gaussian-depth",GROUND_DEPTH:"ground-depth",HIGHLIGHT:"highlight",LASERLINES:"laserlines",TRANSPARENT_NO_DEPTH:"transparent-no-depth",MAGNIFIER:"magnifier",OCCLUDED:"occluded",OPAQUE_OCCLUSION_QUERY:"opaque-occlusion-query",OPAQUE_ENVIRONMENT:"opaque-environment",TRANSPARENT_ENVIRONMENT:"transparent-environment",AMBIENT_ILLUMINATION:"ambient-illumination",SHADOW_ACCUMULATION:"shadow-accumulation",SHADOWMAP:"shadowmap",SHADOW_HIGHLIGHT:"shadow-highlight",VOXEL:"voxel",VIEWSHED:"viewshed",OBJECT_AND_LAYER_ID_COLOR:"olid"};Array.from(Object.values(Ke)).concat(Xe),(0,T.vt)();var Je=r(49186),Qe=r(10107),et=r(64108),tt=r(44208),rt=(r(17676),r(94656)),it=r(63907);r(93637),r(4576),"layout.centroid.smooth.case.mat2x2.mat2x3.mat2x4.mat3x2.mat3x3.mat3x4.mat4x2.mat4x3.mat4x4.uint.uvec2.uvec3.uvec4.samplerCubeShadow.sampler2DArray.sampler2DArrayShadow.isampler2D.isampler3D.isamplerCube.isampler2DArray.usampler2D.usampler3D.usamplerCube.usampler2DArray.coherent.restrict.readonly.writeonly.resource.atomic_uint.noperspective.patch.sample.subroutine.common.partition.active.filter.image1D.image2D.image3D.imageCube.iimage1D.iimage2D.iimage3D.iimageCube.uimage1D.uimage2D.uimage3D.uimageCube.image1DArray.image2DArray.iimage1DArray.iimage2DArray.uimage1DArray.uimage2DArray.image1DShadow.image2DShadow.image1DArrayShadow.image2DArrayShadow.imageBuffer.iimageBuffer.uimageBuffer.sampler1DArray.sampler1DArrayShadow.isampler1D.isampler1DArray.usampler1D.usampler1DArray.isampler2DRect.usampler2DRect.samplerBuffer.isamplerBuffer.usamplerBuffer.sampler2DMS.isampler2DMS.usampler2DMS.sampler2DMSArray.isampler2DMSArray.usampler2DMSArray.trunc.round.roundEven.isnan.isinf.floatBitsToInt.floatBitsToUint.intBitsToFloat.uintBitsToFloat.packSnorm2x16.unpackSnorm2x16.packUnorm2x16.unpackUnorm2x16.packHalf2x16.unpackHalf2x16.outerProduct.transpose.determinant.inverse.texture.textureSize.textureProj.textureLod.textureOffset.texelFetch.texelFetchOffset.textureProjOffset.textureLodOffset.textureProjLod.textureProjLodOffset.textureGrad.textureGradOffset.textureProjGrad.textureProjGradOffset".split("."),"precision.highp.mediump.lowp.attribute.const.uniform.varying.break.continue.do.for.while.if.else.in.out.inout.float.int.void.bool.true.false.discard.return.mat2.mat3.mat4.vec2.vec3.vec4.ivec2.ivec3.ivec4.uvec2.uvec3.uvec4.bvec2.bvec3.bvec4.sampler1D.sampler2D.sampler3D.usampler1D.usampler2D.usampler3D.samplerCube.sampler1DShadow.sampler2DShadow.struct.asm.class.union.enum.typedef.template.this.packed.goto.switch.default.inline.noinline.volatile.public.static.extern.external.interface.long.short.double.half.fixed.unsigned.input.output.hvec2.hvec3.hvec4.dvec2.dvec3.dvec4.fvec2.fvec3.fvec4.sampler2DRect.sampler3DRect.sampler2DRectShadow.sizeof.cast.namespace.using".split("."),"<<= >>= ++ -- << >> <= >= == != && || += -= *= /= %= &= ^^ ^= |= ( ) [ ] . ! ~ * / % + - < > & ^ | ? : = , ; { }".split(" "),"abs.acos.all.any.asin.atan.ceil.clamp.cos.cross.dFdx.dFdy.degrees.distance.dot.equal.exp.exp2.faceforward.floor.fract.gl_BackColor.gl_BackLightModelProduct.gl_BackLightProduct.gl_BackMaterial.gl_BackSecondaryColor.gl_ClipPlane.gl_ClipVertex.gl_Color.gl_DepthRange.gl_DepthRangeParameters.gl_EyePlaneQ.gl_EyePlaneR.gl_EyePlaneS.gl_EyePlaneT.gl_Fog.gl_FogCoord.gl_FogFragCoord.gl_FogParameters.gl_FragColor.gl_FragCoord.gl_FragData.gl_FragDepth.gl_FragDepthEXT.gl_FrontColor.gl_FrontFacing.gl_FrontLightModelProduct.gl_FrontLightProduct.gl_FrontMaterial.gl_FrontSecondaryColor.gl_LightModel.gl_LightModelParameters.gl_LightModelProducts.gl_LightProducts.gl_LightSource.gl_LightSourceParameters.gl_MaterialParameters.gl_MaxClipPlanes.gl_MaxCombinedTextureImageUnits.gl_MaxDrawBuffers.gl_MaxFragmentUniformComponents.gl_MaxLights.gl_MaxTextureCoords.gl_MaxTextureImageUnits.gl_MaxTextureUnits.gl_MaxVaryingFloats.gl_MaxVertexAttribs.gl_MaxVertexTextureImageUnits.gl_MaxVertexUniformComponents.gl_ModelViewMatrix.gl_ModelViewMatrixInverse.gl_ModelViewMatrixInverseTranspose.gl_ModelViewMatrixTranspose.gl_ModelViewProjectionMatrix.gl_ModelViewProjectionMatrixInverse.gl_ModelViewProjectionMatrixInverseTranspose.gl_ModelViewProjectionMatrixTranspose.gl_MultiTexCoord0.gl_MultiTexCoord1.gl_MultiTexCoord2.gl_MultiTexCoord3.gl_MultiTexCoord4.gl_MultiTexCoord5.gl_MultiTexCoord6.gl_MultiTexCoord7.gl_Normal.gl_NormalMatrix.gl_NormalScale.gl_ObjectPlaneQ.gl_ObjectPlaneR.gl_ObjectPlaneS.gl_ObjectPlaneT.gl_Point.gl_PointCoord.gl_PointParameters.gl_PointSize.gl_Position.gl_ProjectionMatrix.gl_ProjectionMatrixInverse.gl_ProjectionMatrixInverseTranspose.gl_ProjectionMatrixTranspose.gl_SecondaryColor.gl_TexCoord.gl_TextureEnvColor.gl_TextureMatrix.gl_TextureMatrixInverse.gl_TextureMatrixInverseTranspose.gl_TextureMatrixTranspose.gl_Vertex.greaterThan.greaterThanEqual.inversesqrt.length.lessThan.lessThanEqual.log.log2.matrixCompMult.max.min.mix.mod.normalize.not.notEqual.pow.radians.reflect.refract.sign.sin.smoothstep.sqrt.step.tan.texture2D.texture2DLod.texture2DProj.texture2DProjLod.textureCube.textureCubeLod.texture2DLodEXT.texture2DProjLodEXT.textureCubeLodEXT.texture2DGradEXT.texture2DProjGradEXT.textureCubeGradEXT.textureSize.texelFetch".split("."),new Set(["GL_OES_standard_derivatives","GL_EXT_frag_depth","GL_EXT_draw_buffers","GL_EXT_shader_texture_lod"]),new Map,(0,tt.A)("esri-tests-disable-gpu-memory-measurements"),(0,rt.en)();(0,rt.en)();var nt=r(90644),ot=r(21231),at=r(48852),st=r(42293);const lt=!!(0,tt.A)("esri-tests-disable-gpu-memory-measurements");class ct{constructor(e,t){this._context=e,this._descriptor=t,this.type=2,this._context.instanceCounter.increment(it.vt.Renderbuffer,this);let r=this._context.gl;this.glName=r.createRenderbuffer(),this._context.bindRenderbuffer(this);let{width:i,height:n,internalFormat:o,multisampled:a}=t;a?r.renderbufferStorageMultisample(r.RENDERBUFFER,this.samples,o,i,n):r.renderbufferStorage(r.RENDERBUFFER,o,i,n),this._context.bindRenderbuffer(null)}get descriptor(){return this._descriptor}get samples(){let e=this._descriptor.samples,t=this._context.parameters.maxSamples;return e?Math.min(e,t):t}get usedMemory(){return lt?0:(e=this._descriptor).width<=0||e.height<=0||null==e.internalFormat?0:e.width*e.height*(0,st.MW)(e.internalFormat);var e}resize(e,t){let r=this._descriptor;if(r.width===e&&r.height===t)return;r.width=e,r.height=t;let i=this._context.gl;this._context.bindRenderbuffer(this),r.multisampled?i.renderbufferStorageMultisample(i.RENDERBUFFER,this.samples,r.internalFormat,r.width,r.height):i.renderbufferStorage(i.RENDERBUFFER,r.internalFormat,r.width,r.height),this._context.bindRenderbuffer(null)}dispose(){this._context&&=(this._context.gl.deleteRenderbuffer(this.glName),this._context.instanceCounter.decrement(it.vt.Renderbuffer,this),null)}}class ut{constructor(e,t,r){if(this._context=e,this._level=0,this._glName=null,this._colorAttachments=new Map,this._depthStencilBuffer=null,this._depthStencilTexture=null,e.instanceCounter.increment(it.vt.FramebufferObject,this),null!=t){let r=function(e,t){return dt(t)||ht(t)?t:ft(t)?new ot.A(e,t):function(e){return 3===mt(e)||null!=e&&"samples"in e}(t)?new ct(e,t):null}(e,t);null!=r&&(this._colorAttachments.set(36064,r),dt(r)?this._validateTextureDescriptor(r.descriptor):this._validateRenderbufferDescriptor(r.descriptor)),this._validateColorAttachmentPoint(36064)}if(null!=r)if(function(e){return dt(e)||ft(e)}(r))this._depthStencilTexture=dt(r)?r:new ot.A(e,r),this._validateTextureDescriptor(this._depthStencilTexture.descriptor);else{let t=ht(r)?r:new ct(e,r);this._depthStencilBuffer=t,this._validateRenderbufferDescriptor(t.descriptor)}}get glName(){return this._glName}get colorTexture(){let e=this._colorAttachments.get(36064);return dt(e)?e:null}get depthStencil(){return this._depthStencilTexture||this._depthStencilBuffer}get depthStencilTexture(){return this._depthStencilTexture}get width(){return(this._colorAttachments.get(36064)??this._depthStencilTexture??this._depthStencilBuffer)?.descriptor?.width??0}get height(){return(this._colorAttachments.get(36064)??this._depthStencilTexture??this._depthStencilBuffer)?.descriptor?.height??0}get usedMemory(){return this._colorAttachments.values().reduce((e,t)=>e+t.usedMemory,this.depthStencil?.usedMemory??0)}get level(){return this._level}set level(e){this._level!==e&&(this._level=e,this._glName&&this._context.temporaryBindFramebuffer(this,()=>this._initializeAttachments()))}static{this._MAX_COLOR_ATTACHMENTS=-1}getColorTexture(e){let t=this._colorAttachments.get(e);return t&&dt(t)?t:null}get colorAttachments(){return Array.from(this._colorAttachments.keys())}attachColorTexture(e,t=36064){if(!e)return;this._validateColorAttachmentPoint(t);let{descriptor:r}=e;this._validateTextureDescriptor(r),this.detachColorTexture(t)?.dispose(),this._colorAttachments.set(t,e),this._glName&&(this._context.bindFramebuffer(this),this._framebufferTexture2D(e.glName,t))}detachColorTexture(e=36064){let t=this._colorAttachments.get(e);if(!t)return;let r=dt(t);return this._glName&&this._context.temporaryBindFramebuffer(this,()=>{if(r)this._framebufferTexture2D(null,e);else{let t=this._context.gl;t.framebufferRenderbuffer(t.FRAMEBUFFER,e,t.RENDERBUFFER,null)}}),this._colorAttachments.delete(e),r?t:void 0}detachColorTextures(...e){if(0!==e.length){if(this._glName){let t=this._context.gl;this._context.temporaryBindFramebuffer(this,()=>{e.forEach(e=>{dt(this._colorAttachments.get(e))?this._framebufferTexture2D(null,e):t.framebufferRenderbuffer(t.FRAMEBUFFER,e,t.RENDERBUFFER,null)})})}e.forEach(e=>this._colorAttachments.delete(e))}}setColorTextureTarget(e,t=36064,r=0){let i=this._colorAttachments.get(t);i&&(35866===e?this._framebufferTextureLayer(i.glName,t,36160,r):this._framebufferTexture2D(i.glName,t,e,36160))}attachDepthStencil(e){if(e)switch(e.type){case 1:return this._attachDepthStencilTexture(e);case 2:return this._attachDepthStencilBuffer(e)}}_attachDepthStencilTexture(e){if(null==e)return;let{descriptor:t}=e,{pixelFormat:r,dataType:i}=t;34041!==r&&6402!==r?console.error("Depth/Stencil texture must have a pixel type of DEPTH_STENCIL!"):34041===r&&i!==it.ld.UNSIGNED_INT_24_8?console.error("Depth/Stencil texture must have data type of UNSIGNED_INT_24_8!"):6402===r&&i!==it.ld.UNSIGNED_INT&&i!==it.ld.UNSIGNED_SHORT?console.error("Depth texture must have data type of UNSIGNED_INT or UNSIGNED_SHORT!"):(this._validateTextureDescriptor(t),this._disposeDepthStencilAttachments(),this._glName&&(this._context.bindFramebuffer(this),this._framebufferTexture2D(e.glName,gt(r))),this._depthStencilTexture?.dispose(),this._depthStencilTexture=e)}detachDepthStencilTexture(){let e=this._depthStencilTexture;return e&&this._glName&&this._context.temporaryBindFramebuffer(this,()=>{this._framebufferTexture2D(null,gt(e.descriptor.pixelFormat))}),this._depthStencilTexture=null,e}_attachDepthStencilBuffer(e){if(null==e)return;let t=e.descriptor;if(this._validateRenderbufferDescriptor(t),this._disposeDepthStencilAttachments(),this._glName){this._context.bindFramebuffer(this);let{gl:r}=this._context,i=this._getGLAttachmentPoint(t);r.framebufferRenderbuffer(36160,i,r.RENDERBUFFER,e.glName)}this._depthStencilBuffer=e}detachDepthStencilBuffer(){let e=this._depthStencilBuffer;if(e&&this._glName){let{_context:t}=this,r=t.boundFramebuffer;t.bindFramebuffer(this);let{gl:i}=t,n=this._getGLAttachmentPoint(e.descriptor);i.framebufferRenderbuffer(36160,n,i.RENDERBUFFER,null),t.bindFramebuffer(r)}return this._depthStencilBuffer=null,e}invalidateAttachments(e){let{_context:t}=this;t.temporaryBindFramebuffer(this,()=>t.gl.invalidateFramebuffer(36160,e),!0)}copyToTexture(e,t,r,i,n,o,a){(e<0||t<0||n<0||o<0)&&console.error("Offsets cannot be negative!"),(r<=0||i<=0)&&console.error("Copy width and height must be greater than zero!");let s=a.descriptor;3553!==a.descriptor.target&&console.error("Texture target must be TEXTURE_2D!"),(null==s?.width||null==s?.height||e+r>this.width||t+i>this.height||n+r>s.width||o+i>s.height)&&console.error("Bad dimensions, the current input values will attempt to read or copy out of bounds!");let l=this._context,c=l.bindTexture(a,ot.A.TEXTURE_UNIT_FOR_UPDATES);l.setActiveTexture(ot.A.TEXTURE_UNIT_FOR_UPDATES),l.bindFramebuffer(this),l.gl.copyTexSubImage2D(3553,0,n,o,e,t,r,i),l.bindTexture(c,ot.A.TEXTURE_UNIT_FOR_UPDATES)}readPixels(e,t,r,i,n,o,a){(r<=0||i<=0)&&console.error("Copy width and height must be greater than zero!"),a||console.error("Target memory is not initialized!"),this._context.bindFramebuffer(this),this._context.gl.readPixels(e,t,r,i,n,o,a)}async readPixelsAsync(e,t,r,i,n,o,a,s){let{gl:l}=this._context,c=at.g.createPixelPack(this._context,35041,a.byteLength);this._context.bindBuffer(c);let u=this._context.boundFramebuffer;this._context.bindFramebuffer(this),l.readPixels(e,t,r,i,n,o,0),this._context.unbindBuffer(35051),this._context.bindFramebuffer(u);try{await c.getSubDataAsync(a,void 0,void 0,void 0,s)}finally{c.dispose()}}resize(e,t){if(this.width===e&&this.height===t)return;let r={width:e,height:t};if(pt(r,this._context.parameters.maxTextureSize),this._colorAttachments.forEach(e=>e.resize(r.width,r.height)),this._depthStencilTexture?.resize(r.width,r.height),this._glName&&(pt(r,this._context.parameters.maxRenderbufferSize),this._depthStencilBuffer?.resize(r.width,r.height),(0,rt.en)())){let{gl:e}=this._context;e.checkFramebufferStatus(36160)!==e.FRAMEBUFFER_COMPLETE&&console.error("Framebuffer is incomplete!")}}initializeAndBind(e=36160){let{gl:t}=this._context;this._glName?t.bindFramebuffer(e,this._glName):(this._glName&&t.deleteFramebuffer(this._glName),this._glName=t.createFramebuffer(),t.bindFramebuffer(e,this._glName),this._initializeAttachments(e))}_initializeAttachments(e=36160){let{gl:t}=this._context;if(this._colorAttachments.forEach((t,r)=>{if(dt(t)){let i=vt(t);35866===i?this._framebufferTextureLayer(t.glName,r,e):this._framebufferTexture2D(t.glName,r,i,e)}else if(ht(t)){let i=this._context.gl;i.framebufferRenderbuffer(e,r,i.RENDERBUFFER,t.glName)}}),this._depthStencilBuffer){let r=this._getGLAttachmentPoint(this._depthStencilBuffer.descriptor);t.framebufferRenderbuffer(e,r,t.RENDERBUFFER,this._depthStencilBuffer.glName)}else if(this._depthStencilTexture){let t=gt(this._depthStencilTexture.descriptor.pixelFormat);this._framebufferTexture2D(this._depthStencilTexture.glName,t,vt(this._depthStencilTexture),e)}(0,rt.en)()&&t.checkFramebufferStatus(e)!==t.FRAMEBUFFER_COMPLETE&&console.error("Framebuffer is incomplete!")}_framebufferTexture2D(e,t=36064,r=3553,i=36160){this._context.gl.framebufferTexture2D(i,t,r,e,this._level)}_framebufferTextureLayer(e,t=36064,r=36160,i=0){this._context.gl.framebufferTextureLayer(r,t,e,this._level,i)}_disposeDepthStencilAttachments(){let e=this._context.gl;if(this._depthStencilBuffer){if(this._glName){this._context.bindFramebuffer(this);let t=this._getGLAttachmentPoint(this._depthStencilBuffer.descriptor);e.framebufferRenderbuffer(36160,t,e.RENDERBUFFER,null)}this._depthStencilBuffer=(0,s.WD)(this._depthStencilBuffer)}this._depthStencilTexture&&=(this._glName&&(this._context.bindFramebuffer(this),this._framebufferTexture2D(null,gt(this._depthStencilTexture.descriptor.pixelFormat))),(0,s.WD)(this._depthStencilTexture))}_validateTextureDescriptor(e){3553!==e.target&&34067!==e.target&&35866!==e.target&&console.error("Texture type must be TEXTURE_2D, TEXTURE_2D_ARRAY or TEXTURE_CUBE_MAP!"),pt(e,this._context.parameters.maxTextureSize),this._validateBufferDimensions(e)}_validateRenderbufferDescriptor(e){pt(e,this._context.parameters.maxRenderbufferSize),this._validateBufferDimensions(e)}_validateBufferDimensions(e){e.width<=0&&(e.width=this.width),e.height<=0&&(e.height=this.height),this.width>0&&this.height>0&&(this.width!==e.width||this.height!==e.height)&&console.error("Attachment size must match framebuffer size!")}_getGLAttachmentPoint(e){switch(e.internalFormat){case it.SB.DEPTH_COMPONENT16:case it.SB.DEPTH_COMPONENT24:case it.SB.DEPTH_COMPONENT32F:return 36096;case it.iE.DEPTH24_STENCIL8:case it.iE.DEPTH32F_STENCIL8:return 33306;case 36168:return 36128;default:return 36064}}_validateColorAttachmentPoint(e){if(-1===ut._MAX_COLOR_ATTACHMENTS){let{gl:e}=this._context;ut._MAX_COLOR_ATTACHMENTS=e.getParameter(e.MAX_COLOR_ATTACHMENTS)}let t=e-36064;t+1>ut._MAX_COLOR_ATTACHMENTS&&R.A.getLogger("esri.views.webgl.FrameBufferObject").error("esri.FrameBufferObject",`illegal attachment point for color attachment: ${t+1}. Implementation supports up to ${ut._MAX_COLOR_ATTACHMENTS} color attachments`)}}function dt(e){return 1===mt(e)}function ht(e){return 2===mt(e)}function ft(e){return 0===mt(e)}function mt(e){return null!=e&&"type"in e?e.type:null}function pt(e,t){let r=Math.max(e.width,e.height);if(r>t){R.A.getLogger("esri.views.webgl.FramebufferObject").warnOnce(`Resizing FBO attachment size ${e.width}x${e.height} to device limit ${t}`);let i=t/r;return e.width=Math.round(e.width*i),e.height=Math.round(e.height*i),!1}return!0}function vt(e){return 34067===e.descriptor.target?34069:35866===e.descriptor.target?35866:3553}function gt(e){return 6402===e?36096:33306}var xt=r(67171),_t=(r(21818),r(85079));const bt=[new(r(74038)._)("position",2,it.pe.UNSIGNED_SHORT,0,4)];(0,_t.Xk)(bt),r(66289);const yt=new Image;yt.src="data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='5' height='5' version='1.1' viewBox='0 0 5 5' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='5' height='5' fill='%23f00' fill-opacity='.5'/%3E%3C/svg%3E%0A",yt.width=5,yt.height=5,yt.decode();let wt=class extends D.A{constructor(e){super(e),this.view=null,this.consumes={required:[]},this.produces=Ye,this._dirty=!0}initialize(){this.addHandles([(0,l.wB)(()=>this.view.ready,e=>{e&&this.view.stage?.renderer.addRenderNode(this)},l.Vh)])}destroy(){this.view.stage?.renderer?.removeRenderNode(this)}precompile(){}render(){throw new Je.A("RenderNode:render-function-not-implemented","render() is not implemented.")}get camera(){return this.view.state.camera.clone()}get sunLight(){return this.bindParameters.lighting.legacy}get gl(){return this.view.stage.renderView.renderingContext.gl}get techniques(){return this.view.stage.renderView.techniques}acquireOutputFramebuffer(){let e=this._frameBuffer?.getTexture()?.descriptor,t=this.view.stage.renderer.fboCache.acquire(e?.width??640,e?.height??480,this.produces);return this._bind(t),t}bindRenderTarget(){return this._bind(this._frameBuffer),this._frameBuffer}_bind({fbo:e}){e.initializeAndBind(),this.gl.drawBuffers(function(e){return e?e.colorAttachments.length>0?e.colorAttachments:[0]:[1029]}(e))}requestRender(e){switch(e){case 2:this.view.state.fading=!0;case 1:this.view.stage?.renderView.requestRender(e);case 0:case void 0:this._dirty=!0}}resetWebGLState(){this.renderingContext.resetState(),this.renderingContext.bindFramebuffer(this._frameBuffer?.fbo)}get fboCache(){return this.view.stage.renderer.fboCache}get bindParameters(){return this.renderContext.bind}get renderingContext(){return this.view.stage.renderView.renderingContext}get renderContext(){return this.view.stage?.renderer.renderContext}updateAnimation(e){return!!this._dirty&&(this._dirty=!1,!0)}doRender(e){this._frameBuffer=e.find(({name:e})=>e===this.produces);try{return this.render(e)}finally{this._frameBuffer=null}}get requireGeometryDepth(){return!1}queryDepthRange(e){return null}get input(){return this._frameBuffer}};(0,o.Cg)([(0,Qe.MZ)({constructOnly:!0})],wt.prototype,"view",void 0),(0,o.Cg)([(0,Qe.MZ)({constructOnly:!0})],wt.prototype,"consumes",void 0),(0,o.Cg)([(0,Qe.MZ)()],wt.prototype,"produces",void 0),(0,o.Cg)([(0,Qe.MZ)({readOnly:!0})],wt.prototype,"techniques",null),wt=(0,o.Cg)([(0,et.$)("esri.views.3d.webgl.RenderNode")],wt);let Mt=class extends wt{constructor(){super(...arguments),this.consumes={required:["normals"]},this.produces="disabled"}get enabled(){return!this.destroying&&!this.destroyed&&this.produces===Ke.AMBIENT_ILLUMINATION}get _belowMaxElevation(){return(this.view.state.camera.relativeElevation??1/0)<5e5}get _useGlobalIllumination(){return this._belowMaxElevation&&this.view.stage.renderer.isFeatureEnabled(11)}get _useSSAO(){return this._belowMaxElevation&&this.view.stage.renderer.isFeatureEnabled(3)}_enable(){this.produces=Ke.AMBIENT_ILLUMINATION,this.requestRender(1)}_disable(){this.produces="disabled",this.requestRender(1)}};(0,o.Cg)([(0,u.MZ)()],Mt.prototype,"consumes",void 0),(0,o.Cg)([(0,u.MZ)()],Mt.prototype,"produces",void 0),Mt=(0,o.Cg)([(0,u.$K)("esri.views.3d.webgl-engine.effects.AmbientIllumination")],Mt);var Tt=r(15581),St=r(13840),Ct=r(42958),At=r(95774);let Et=class extends Ct.w{constructor(){super(...arguments),this.shader=new St.r(At.S,()=>r.e(1285).then(()=>r(91285)))}initializePipeline(){return(0,nt.Ey)({colorWrite:nt.kn})}};Et=(0,o.Cg)([(0,u.$K)("esri.views.3d.webgl-engine.effects.ssao.SSAOBlurTechnique")],Et);var Ot=r(65786);class It extends Ot.Y{constructor(){super(...arguments),this.projScale=1}}class Pt extends It{constructor(){super(...arguments),this.intensity=1}}class Dt extends Ot.Y{}class Rt extends Dt{constructor(){super(...arguments),this.blurSize=(0,B.vt)()}}let Ft=class extends Ct.w{constructor(){super(...arguments),this.shader=new St.r(Tt.S,()=>r.e(6122).then(()=>r(86122)))}initializePipeline(){return(0,nt.Ey)({colorWrite:nt.kn})}};Ft=(0,o.Cg)([(0,u.$K)("esri.views.3d.webgl-engine.effects.ssao.SSAOTechnique")],Ft);let Bt=class extends Mt{constructor(e){super(e),this._enableTime=(0,c.l5)(0),this._passParameters=new Pt,this._drawParameters=new Rt}initialize(){let e=Uint8Array.from(atob("eXKEvZaUc66cjIKElE1jlJ6MjJ6Ufkl+jn2fcXp5jBx7c6KEflSGiXuXeW6OWs+tfqZ2Yot2Y7Zzfo2BhniEj3xoiXuXj4eGZpqEaHKDWjSMe7palFlzc3BziYOGlFVzg6Zzg7CUY5JrjFF7eYJ4jIKEcyyEonSXe7qUfqZ7j3xofqZ2c4R5lFZ5Y0WUbppoe1l2cIh2ezyUho+BcHN2cG6DbpqJhqp2e1GcezhrdldzjFGUcyxjc3aRjDyEc1h7Sl17c6aMjH92pb6Mjpd4dnqBjMOEhqZleIOBYzB7gYx+fnqGjJuEkWlwnCx7fGl+c4hjfGyRe5qMlNOMfnqGhIWHc6OMi4GDc6aMfqZuc6aMzqJzlKZ+lJ6Me3qRfoFue0WUhoR5UraEa6qMkXiPjMOMlJOGe7JrUqKMjK6MeYRzdod+Sl17boiPc6qEeYBlcIh2c1WEe7GDiWCDa0WMjEmMdod+Y0WcdntzhmN8WjyMjKJjiXtzgYxYaGd+a89zlEV7e2GJfnd+lF1rcK5zc4p5cHuBhL6EcXp5eYB7fnh8iX6HjIKEeaxuiYOGc66RfG2Ja5hzjlGMjEmMe9OEgXuPfHyGhPeEdl6JY02McGuMfnqGhFiMa3WJfnx2l4hwcG1uhmN8c0WMc39og1GBbrCEjE2EZY+JcIh2cIuGhIWHe0mEhIVrc09+gY5+eYBlnCyMhGCDl3drfmmMgX15aGd+gYx+fnuRfnhzY1SMsluJfnd+hm98WtNrcIuGh4SEj0qPdkqOjFF7jNNjdnqBgaqUjMt7boeBhnZ4jDR7c5pze4GGjEFrhLqMjHyMc0mUhKZze4WEa117kWlwbpqJjHZ2eX2Bc09zeId+e0V7WlF7jHJ2l72BfId8l3eBgXyBe897jGl7c66cgW+Xc76EjKNbgaSEjGx4fId8jFFjgZB8cG6DhlFziZhrcIh2fH6HgUqBgXiPY8dahGFzjEmMhEFre2dxhoBzc5SGfleGe6alc7aUeYBlhKqUdlp+cH5za4OEczxza0Gcc4J2jHZ5iXuXjH2Jh5yRjH2JcFx+hImBjH+MpddCl3dreZeJjIt8ZW18bm1zjoSEeIOBlF9oh3N7hlqBY4+UeYFwhLJjeYFwaGd+gUqBYxiEYot2fqZ2ondzhL6EYyiEY02Ea0VjgZB8doaGjHxoc66cjEGEiXuXiXWMiZhreHx8frGMe75rY02Ec5pzfnhzlEp4a3VzjM+EhFFza3mUY7Zza1V5e2iMfGyRcziEhDyEkXZ2Y4OBnCx7g5t2eyBjgV6EhEFrcIh2dod+c4Z+nJ5zjm15jEmUeYxijJp7nL6clIpjhoR5WrZraGd+fnuRa6pzlIiMg6ZzfHx5foh+eX1ufnB5eX1ufnB5aJt7UqKMjIh+e3aBfm5lbYSBhGFze6J4c39oc0mUc4Z+e0V7fKFVe0WEdoaGY02Ec4Z+Y02EZYWBfH6HgU1+gY5+hIWUgW+XjJ57ebWRhFVScHuBfJ6PhBx7WqJzlM+Ujpd4gHZziX6HjHmEgZN+lJt5boiPe2GJgX+GjIGJgHZzeaxufnB5hF2JtdN7jJ57hp57hK6ElFVzg6ZzbmiEbndzhIWHe3uJfoFue3qRhJd2j3xoc65zlE1jc3p8lE1jhniEgXJ7e657vZaUc3qBh52BhIF4aHKDa9drgY5+c52GWqZzbpqJe8tjnM+UhIeMfo2BfGl+hG1zSmmMjKJjZVaGgX15c1lze0mEp4OHa3mUhIWHhDyclJ6MeYOJkXiPc0VzhFiMlKaEboSJa5Jze41re3qRhn+HZYWBe0mEc4p5fnORbox5lEp4hGFjhGGEjJuEc1WEhLZjeHeGa7KlfHx2hLaMeX1ugY5+hIWHhKGPjMN7c1WEho1zhoBzZYx7fnhzlJt5exyUhFFziXtzfmmMa6qMYyiEiXxweV12kZSMeWqXSl17fnhzxmmMrVGEe1mcc4p5eHeGjK6MgY5+doaGa6pzlGV7g1qBh4KHkXiPeW6OaKqafqZ2eXZ5e1V7jGd7boSJc3BzhJd2e0mcYot2h1RoY8dahK6EQmWEWjx7e1l2lL6UgXyBdnR4eU9zc0VreX1umqaBhld7fo2Bc6KEc5Z+hDyEcIeBWtNrfHyGe5qMhMuMe5qMhEGEbVVupcNzg3aHhIF4boeBe0mEdlptc39ofFl5Y8uUlJOGiYt2UmGEcyxjjGx4jFF7a657ZYWBnElzhp57iXtrgZN+tfOEhIOBjE2HgU1+e8tjjKNbiWCDhE15gUqBgYN7fnqGc66ce9d7iYSBj0qPcG6DnGGcT3eGa6qMZY+JlIiMl4hwc3aRdnqBlGV7eHJ2hLZjfnuRhDyEeX6MSk17g6Z+c6aUjHmEhIF4gXyBc76EZW18fGl+fkl+jCxrhoVwhDyUhIqGlL2DlI6EhJd2tdN7eYORhEGMa2Faa6pzc3Bzc4R5lIRznM+UY9eMhDycc5Z+c4p5c4iGY117pb6MgXuPrbJafnx2eYOJeXZ5e657hDyEcziElKZjfoB5eHeGj4WRhGGEe6KGeX1utTStc76EhFGJnCyMa5hzfH6HnNeceYB7hmN8gYuMhIVrczSMgYF8h3N7c5pza5hzjJqEYIRdgYuMlL2DeYRzhGGEeX1uhLaEc4iGeZ1zdl6JhrVteX6Me2iMfm5lWqJzSpqEa6pzdnmchHx2c6OMhNdrhoR5g3aHczxzeW52gV6Ejm15frGMc0Vzc4Z+l3drfniJe+9rWq5rlF1rhGGEhoVwe9OEfoh+e7pac09+c3qBY0lrhDycdnp2lJ6MiYOGhGCDc3aRlL2DlJt5doaGdnp2gYF8gWeOjF2Uc4R5c5Z+jEmMe7KEc4mEeYJ4dmyBe0mcgXiPbqJ7eYB7fmGGiYSJjICGlF1reZ2PnElzbpqJfH6Hc39oe4WEc5eJhK6EhqyJc3qBgZB8c09+hEmEaHKDhFGJc5SGiXWMUpaEa89zc6OMnCyMiXtrho+Be5qMc7KEjJ57dmN+hKGPjICGbmiEe7prdod+hGCDdnmchBx7eX6MkXZ2hGGEa657hm98jFFjY5JreYOJgY2EjHZ2a295Y3FajJ6Mc1J+YzB7e4WBjF2Uc4R5eV12gYxzg1qBeId+c9OUc5pzjFFjgY5+hFiMlIaPhoR5lIpjjIKBlNdSe7KEeX2BfrGMhIqGc65zjE2UhK6EklZ+QmWEeziMWqZza3VzdnR4foh+gYF8n3iJiZhrnKp7gYF8eId+lJ6Me1lrcIuGjKJjhmN8c66MjFF7a6prjJ6UnJ5zezyUfruRWlF7nI5zfHyGe657h4SEe8tjhBx7jFFjc09+c39ojICMeZeJeXt+YzRzjHZ2c0WEcIeBeXZ5onSXkVR+gYJ+eYFwdldzgYF7eX2BjJ6UiXuXlE1jh4SEe1mchLJjc4Z+hqZ7eXZ5bm1zlL6Ue5p7iWeGhKqUY5pzjKJjcIeBe8t7gXyBYIRdlEp4a3mGnK6EfmmMZpqEfFl5gYxzjKZuhGFjhoKGhHx2fnx2eXuMe3aBiWeGvbKMe6KGa5hzYzB7gZOBlGV7hmN8hqZlYot2Y117a6pzc6KEfId8foB5rctrfneJfJ6PcHN2hFiMc5pzjH92c0VzgY2EcElzdmCBlFVzg1GBc65zY4OBboeBcHiBeYJ4ewxzfHx5lIRzlEmEnLKEbk1zfJ6PhmN8eYBljBiEnMOEiXxwezyUcIeBe76EdsKEeX2BdnR4jGWUrXWMjGd7fkl+j4WRlEGMa5Jzho+BhDyEfnqMeXt+g3aHlE1jczClhNN7ZW18eHx8hGFjZW18iXWMjKJjhH57gYuMcIuGWjyMe4ZtjJuExmmMj4WRdntzi4GDhFFzYIRdnGGcjJp7Y0F7e4WEkbCGiX57fnSHa657a6prhBCMe3Z+SmmMjH92eHJ2hK6EY1FzexhrvbKMnI5za4OEfnd+eXuMhImBe897hLaMjN+EfG+BeIOBhF1+eZeJi4GDkXZ2eXKEgZ6Ejpd4c2GHa1V5e5KUfqZuhCx7jKp7lLZrg11+hHx2hFWUoot2nI5zgbh5mo9zvZaUe3qRbqKMfqZ2kbCGhFiM"),e=>e.charCodeAt(0)),t=new xt.R(32);t.wrapMode=33071,t.pixelFormat=6407,t.wrapMode=10497,t.hasMipmap=!0,this._passParameters.noiseTexture=new ot.A(this.renderingContext,t,e),this.addHandles((0,l.wB)(()=>this._useSSAO,e=>{this._enableTime=(0,c.l5)(0),e?this._enable():this._disable()},l.pc))}destroy(){this._passParameters.noiseTexture=(0,s.WD)(this._passParameters.noiseTexture)}render(e){let t=e.find(({name:e})=>"normals"===e),r=t?.getTexture(),i=t?.getTexture(33306);if(!r||!i)return;let n=this.techniques.getCompiled(Ft),o=this.techniques.getCompiled(Et);if(!n||!o)return this._enableTime=(0,c.l5)(performance.now()),void this.requestRender(1);0===this._enableTime&&(this._enableTime=(0,c.l5)(performance.now()));let s=this.renderingContext,l=this.view.qualitySettings.fadeDuration,u=this.bindParameters,h=u.camera,f=h.relativeElevation,m=(0,a.qE)((5e5-f)/2e5,0,1),p=l>0?Math.min(l,performance.now()-this._enableTime)/l:1,v=p*m;this._passParameters.normalTexture=r,this._passParameters.depthTexture=i,this._passParameters.projScale=1/h.computeScreenPixelSizeAtDistance(1),this._passParameters.intensity=4*Nt/(0,Tt.g)(h)**6*v;let g=h.fullViewport[2],x=h.fullViewport[3],_=this.fboCache.acquire(g,x,"ssao input",2);s.bindFramebuffer(_.fbo),s.setViewport(0,0,g,x),s.bindTechnique(n,u,this._passParameters,this._drawParameters),s.screen.draw();let b=Math.round(g/2),y=Math.round(x/2),w=this.fboCache.acquire(b,y,"ssao blur",0);s.bindFramebuffer(w.fbo),this._drawParameters.colorTexture=_.getTexture(),(0,d.hZ)(this._drawParameters.blurSize,0,2/x),s.bindTechnique(o,u,this._passParameters,this._drawParameters),s.setViewport(0,0,b,y),s.screen.draw(),_.release();let M=this.fboCache.acquire(b,y,Ke.AMBIENT_ILLUMINATION,0);return s.bindFramebuffer(M.fbo),s.setViewport(0,0,g,x),s.setClearColor(1,1,1,0),s.clear(16384),this._drawParameters.colorTexture=w.getTexture(),(0,d.hZ)(this._drawParameters.blurSize,2/g,0),s.bindTechnique(o,u,this._passParameters,this._drawParameters),s.setViewport(0,0,b,y),s.screen.draw(),s.setViewport4fv(h.fullViewport),w.release(),p<1&&this.requestRender(2),M}};Bt=(0,o.Cg)([(0,u.$K)("esri.views.3d.webgl-engine.effects.ssao.SSAO")],Bt);const Nt=.5;function zt(e,t){t.receiveAmbientOcclusion?(e.uniforms.add(new n.x("ssaoTex",e=>e.ssao?.getTexture())),e.constants.add("blurSizePixelsInverse","float",.5),e.code.add(i.H`float evaluateAmbientOcclusionInverse() {
606
606
  vec2 ssaoTextureSizeInverse = 1.0 / vec2(textureSize(ssaoTex, 0));
607
607
  return texture(ssaoTex, gl_FragCoord.xy * blurSizePixelsInverse * ssaoTextureSizeInverse).r;
608
608
  }
@@ -1105,7 +1105,7 @@ smoothstep(0.0, 0.1, dot(shadingNormal, groundNormal)));
1105
1105
  return snow * snowCover;
1106
1106
  }`),e.include(i.d),e.code.add(o.H`void applySnowToMRR(float snow) {
1107
1107
  mrr = mix(mrr, vec3(0.0, 1.0, 0.04), snow);
1108
- }`))}},49718(e,t,r){r(51850),r(6867).w_},6867(e,t,r){r.d(t,{w_:()=>d});var i=r(58083),n=r(9093),o=r(35522),a=r(51850),s=r(78955),l=r(91829),c=r(71351);class u{constructor(){this.intersector=4}get distance(){return this._distance}get renderDistance(){return this._renderDistance}_init(){this._distance=this._renderDistance=this.target=this.drapedLayerOrder=this.renderPriority=null,this.intersector=4}_setBase(e,t,r,i=null,n=null,o=null){this.intersector=e,this._distance=r,this._renderDistance=i,this.target=t,this.drapedLayerOrder=n,this.renderPriority=o}}class d extends u{get ray(){return this._ray}get distanceInRenderSpace(){return null==this.distance?null:((0,o.hs)(f,this.ray.direction,this.distance),(0,o.Bw)(f))}withinDistance(e){return!!h(this)&&null!=this.distanceInRenderSpace&&this.distanceInRenderSpace<=e}getIntersectionPoint(e){return!!h(this)&&((0,o.hs)(f,this.ray.direction,this.distance),(0,o.WQ)(e,this.ray.origin,f),!0)}getTransformedNormal(e){return(0,o.C)(m,this.normal),m[3]=0,(0,s.Z0)(m,m,this.transformation),(0,o.C)(e,m),(0,o.S8)(e,e)}constructor(e){super(),this.normal=(0,a.vt)(),this.transformation=(0,n.vt)(),this._ray=(0,c.vt)(),this.init(e)}init(e){super._init(),e&&(0,c.C)(e,this._ray)}set(e,t,r,s,l,c,u,d){this._setBase(e,t,r,s,u,d),(0,o.C)(this.normal,l??a.Cb),(0,i.C)(this.transformation,c??n.zK)}copy(e){this._setBase(e.intersector,e.target,e.distance,e.renderDistance,e.drapedLayerOrder,e.renderPriority),(0,c.C)(e.ray,this._ray),(0,o.C)(this.normal,e.normal),(0,i.C)(this.transformation,e.transformation)}}function h(e){return null!=e?.distance&&null!=e?.renderDistance}const f=(0,a.vt)(),m=(0,l.vt)()},16396(e,t,r){r.d(t,{ou:()=>l}),r(77690),r(29242),r(58083),r(9093);var i=r(35522),n=r(51850),o=r(94008),a=r(57005);const s=new class{constructor(e=0){this.offset=e,this._tmpSphere=new o.iy}applyToVertex(e,t,r,n){let o=this.objectTransform.transform,a=(0,i.hZ)(c,t,r,n),s=(0,i.Z0)(a,a,o),l=this.offset/(0,i.Bw)(s);(0,i.Ln)(s,s,s,l);let u=this.objectTransform.inverse;return(0,i.Z0)(e,s,u),e}applyToMinMax(e,t){let r=this.offset/(0,i.Bw)(e);(0,i.Ln)(e,e,e,r);let n=this.offset/(0,i.Bw)(t);(0,i.Ln)(t,t,t,n)}applyToAabb(e){let t=this.offset/Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]);e[0]+=e[0]*t,e[1]+=e[1]*t,e[2]+=e[2]*t;let r=this.offset/Math.sqrt(e[3]*e[3]+e[4]*e[4]+e[5]*e[5]);return e[3]+=e[3]*r,e[4]+=e[4]*r,e[5]+=e[5]*r,e}applyToBoundingSphere(e){let t=e.center,r=(0,i.Bw)(t),n=this.offset/r;return(0,i.Ln)(this._tmpSphere.center,t,t,n),this._tmpSphere.radius=e.radius+e.radius*this.offset/r,this._tmpSphere}};function l(e){return null==e?null:(s.offset=e,s)}new class{constructor(e=0){this.componentLocalOriginLength=0,this._totalOffset=0,this._offset=0,this._tmpMbs=new o.iy,this._tmpObb=new a.ab,this._resetOffset(e)}_resetOffset(e){this._offset=e,this._totalOffset=e}set offset(e){this._resetOffset(e)}get offset(){return this._offset}set componentOffset(e){this._totalOffset=this._offset+e}set localOrigin(e){this.componentLocalOriginLength=(0,i.Bw)(e)}applyToVertex(e,t,r,n){let o=(0,i.hZ)(c,t,r,n),a=(0,i.hZ)(u,t,r,n+this.componentLocalOriginLength),s=this._totalOffset/(0,i.Bw)(a);return(0,i.Ln)(e,o,a,s),e}applyToAabb(e){let t=this.componentLocalOriginLength,r=e[0],i=e[1],n=e[2]+t,o=e[3],a=e[4],s=e[5]+t,l=Math.abs(r),c=Math.abs(i),u=Math.abs(n),d=Math.abs(o),h=Math.abs(a),f=Math.abs(s),m=.5*(1+Math.sign(r*o))*Math.min(l,d),p=.5*(1+Math.sign(i*a))*Math.min(c,h),v=.5*(1+Math.sign(n*s))*Math.min(u,f),g=Math.sqrt(m*m+p*p+v*v),x=Math.sign(l+r),_=Math.sign(c+i),b=Math.sign(u+n),y=Math.sign(d+o),w=Math.sign(h+a),M=Math.sign(f+s),T=this._totalOffset;if(g<T)return e[0]-=(1-x)*T,e[1]-=(1-_)*T,e[2]-=(1-b)*T,e[3]+=y*T,e[4]+=w*T,e[5]+=M*T,e;let S=Math.max(l,d),C=Math.max(c,h),A=Math.max(u,f),E=T/Math.sqrt(S*S+C*C+A*A),O=T/g,I=O-E,P=-I;return e[0]+=r*(x*P+O),e[1]+=i*(_*P+O),e[2]+=n*(b*P+O),e[3]+=o*(y*I+E),e[4]+=a*(w*I+E),e[5]+=s*(M*I+E),e}applyToMbs(e){let t=e.center,r=(0,i.Bw)(t),n=this._totalOffset/r;return(0,i.Ln)(this._tmpMbs.center,t,t,n),this._tmpMbs.radius=e.radius+e.radius*this._totalOffset/r,this._tmpMbs}applyToObb(e){return(0,a.gm)(e,this._totalOffset,this._totalOffset,1,this._tmpObb),this._tmpObb}},new class{constructor(e=0){this.offset=e,this._tmpVertex=(0,n.vt)()}applyToVertex(e,t,r,n){let o=(0,i.hZ)(c,t,r,n),a=(0,i.WQ)(u,o,this.localOrigin),s=this.offset/(0,i.Bw)(a);return(0,i.Ln)(e,o,a,s),e}applyToAabb(e){let t=d,r=h,i=f;for(let n=0;n<3;++n)t[n]=e[0+n]+this.localOrigin[n],r[n]=e[3+n]+this.localOrigin[n],i[n]=t[n];let n=this.applyToVertex(this._tmpVertex,t[0],t[1],t[2]);for(let t=0;t<3;++t)e[t]=n[t],e[t+3]=n[t];let o=t=>{let r=this.applyToVertex(this._tmpVertex,t[0],t[1],t[2]);for(let t=0;t<3;++t)e[t]=Math.min(e[t],r[t]),e[t+3]=Math.max(e[t+3],r[t])};for(let e=1;e<8;++e){for(let n=0;n<3;++n)i[n]=e&1<<n?r[n]:t[n];o(i)}let a=0;for(let e=0;e<3;++e)t[e]*r[e]<0&&(a|=1<<e);if(0!==a&&7!==a)for(let e=0;e<8;++e)if(0===(a&e)){for(let n=0;n<3;++n)i[n]=a&1<<n?0:e&1<<n?t[n]:r[n];o(i)}for(let t=0;t<3;++t)e[t]-=this.localOrigin[t],e[t+3]-=this.localOrigin[t];return e}};const c=(0,n.vt)(),u=(0,n.vt)(),d=(0,n.vt)(),h=(0,n.vt)(),f=(0,n.vt)()},46606(e,t,r){r.d(t,{S:()=>s,p:()=>l}),r(34727),r(77690),r(29242),r(58083);var i=r(9093),n=(r(35522),r(51850)),o=(r(78955),r(91829),r(31756),r(26857),r(16943),r(65786));class a extends o.Y{constructor(e){super(),this.vvSize=e?.size??null,this.vvColor=e?.color??null,this.vvOpacity=e?.opacity??null}get hasVVSize(){return!!this.vvSize}get hasVVColor(){return!!this.vvColor}get hasVVOpacity(){return!!this.vvOpacity}}(0,i.vt)(),(0,n.vt)(),(0,i.vt)();class s extends a{constructor(){super(...arguments),this.renderOccluded=1,this.emissiveStrength=0,this.testsTransparentRenderOrder=0,this.isDecoration=!1}}const l=8},19245(e,t,r){r.d(t,{Um:()=>l,MB:()=>s,kE:()=>o});var i=r(4576),n=r(34727);r(44208);function o(e,t,r,i,o,a){let s=r.screenLength*e.pixelRatio;null!=o&&(c.update(i,t,o,a),s=c.apply(s));let l=s*Math.tan(.5*e.fovY)/(.5*e.fullHeight);return(0,n.qE)(l*t,r.minWorldLength,r.maxWorldLength)}const a=(0,i.VO)();function s(e,t){let r=!1;for(let i in t){let n=t[i];void 0!==n&&(Array.isArray(n)?(!Array.isArray(e[i])||!a(n,e[i]))&&(e[i]=n.slice(),r=!0):e[i]!==n&&(r=!0,e[i]=n))}return r}const l={multiply:1,ignore:2,replace:3,tint:4},c=new class{constructor(){this._scale=0,this._angleFactor=0,this._minScale=0}update(e,t,r,i){r?(this._scale=Math.min(r.divisor/(t-r.offset),1),this._angleFactor=function(e){return Math.abs(e)**3}(e),this._minScale=null==i?0:Math.min(r.minPixelSize/i,1)):(this._scale=1,this._minScale=1,this._angleFactor=1)}apply(e){let{_scale:t,_angleFactor:r,_minScale:i}=this;return e*(0,n.qE)((0,n.Cc)(t,1,r),i,1)}applyVec2(e,t){e[0]=this.apply(t[0]),e[1]=this.apply(t[1])}}},84368(e,t,r){r.d(t,{D:()=>h});var i=r(49255),n=r(47187),o=r(42593),a=r(63365);function s(e){e.code.add("\n vec3 emissionFilter(in vec3 srcColor, float srcAlpha) {\n vec3 color = min(srcColor + vec3(1.0 - srcAlpha), 1.0);\n float m = max(color.r, max(color.g, color.b));\n return m > 0.0 ? color / m : vec3(1.0);\n }\n ")}var l=r(31821),c=r(26934);function u(e,t){t.useFloatBlend?e.code.add("float ditherNoise(vec4 color) { return 0.0; }"):e.code.add("\n float ditherNoise(vec4 color) {\n vec2 seed = color.rg + color.ba + gl_FragCoord.xy + gl_FragCoord.z;\n return (fract(52.9829189 * fract(dot(seed, vec2(0.06711056, 0.00583715)))) - 0.5) / 255.0;\n }")}var d=r(72458);function h(e,t){e.include(o.Q,t),e.include(n.zp,t);let{fragment:r,outputs:h}=e;r.include(a.a);let{output:f,hasEmission:m,oitPremultipliedAlpha:p,snowCover:v,emissionDimmingPass:g,renderOccluded:x}=t,_=11===f,b=(0,i._$)(f),y=(0,i.Rb)(f),w=(0,i._o)(f)&&!b,M=0!==f||x,T=0;(w||b)&&h.add("fragColor","vec4",T++),b&&h.add("fragAlpha","float",T++),m&&h.add("fragEmission","vec4",T++),r.include(a.a),r.include(c.Q),r.include(d.O,t),r.include(u,t),g&&r.include(s),r.code.add(l.H`
1108
+ }`))}},49718(e,t,r){r(51850),r(6867).w_},6867(e,t,r){r.d(t,{w_:()=>d});var i=r(58083),n=r(9093),o=r(35522),a=r(51850),s=r(78955),l=r(91829),c=r(71351);class u{constructor(){this.intersector=4}get distance(){return this._distance}get renderDistance(){return this._renderDistance}_init(){this._distance=this._renderDistance=this.target=this.drapedLayerOrder=this.renderPriority=null,this.intersector=4}_setBase(e,t,r,i=null,n=null,o=null){this.intersector=e,this._distance=r,this._renderDistance=i,this.target=t,this.drapedLayerOrder=n,this.renderPriority=o}}class d extends u{get ray(){return this._ray}get distanceInRenderSpace(){return null==this.distance?null:((0,o.hs)(f,this.ray.direction,this.distance),(0,o.Bw)(f))}withinDistance(e){return!!h(this)&&null!=this.distanceInRenderSpace&&this.distanceInRenderSpace<=e}getIntersectionPoint(e){return!!h(this)&&((0,o.hs)(f,this.ray.direction,this.distance),(0,o.WQ)(e,this.ray.origin,f),!0)}getTransformedNormal(e){return(0,o.C)(m,this.normal),m[3]=0,(0,s.Z0)(m,m,this.transformation),(0,o.C)(e,m),(0,o.S8)(e,e)}constructor(e){super(),this.normal=(0,a.vt)(),this.transformation=(0,n.vt)(),this._ray=(0,c.vt)(),this.init(e)}init(e){super._init(),e&&(0,c.C)(e,this._ray)}set(e,t,r,s,l,c,u,d){this._setBase(e,t,r,s,u,d),(0,o.C)(this.normal,l??a.Cb),(0,i.C)(this.transformation,c??n.zK)}copy(e){this._setBase(e.intersector,e.target,e.distance,e.renderDistance,e.drapedLayerOrder,e.renderPriority),(0,c.C)(e.ray,this._ray),(0,o.C)(this.normal,e.normal),(0,i.C)(this.transformation,e.transformation)}}function h(e){return null!=e?.distance&&null!=e?.renderDistance}const f=(0,a.vt)(),m=(0,l.vt)()},16396(e,t,r){r.d(t,{ou:()=>l}),r(77690),r(29242),r(58083),r(9093);var i=r(35522),n=r(51850),o=r(94008),a=r(57005);const s=new class{constructor(e=0){this.offset=e,this._tmpSphere=new o.iy}applyToVertex(e,t,r,n){let o=this.objectTransform.transform,a=(0,i.hZ)(c,t,r,n),s=(0,i.Z0)(a,a,o),l=this.offset/(0,i.Bw)(s);(0,i.Ln)(s,s,s,l);let u=this.objectTransform.inverse;return(0,i.Z0)(e,s,u),e}applyToMinMax(e,t){let r=this.offset/(0,i.Bw)(e);(0,i.Ln)(e,e,e,r);let n=this.offset/(0,i.Bw)(t);(0,i.Ln)(t,t,t,n)}applyToAabb(e){let t=this.offset/Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]);e[0]+=e[0]*t,e[1]+=e[1]*t,e[2]+=e[2]*t;let r=this.offset/Math.sqrt(e[3]*e[3]+e[4]*e[4]+e[5]*e[5]);return e[3]+=e[3]*r,e[4]+=e[4]*r,e[5]+=e[5]*r,e}applyToBoundingSphere(e){let t=e.center,r=(0,i.Bw)(t),n=this.offset/r;return(0,i.Ln)(this._tmpSphere.center,t,t,n),this._tmpSphere.radius=e.radius+e.radius*this.offset/r,this._tmpSphere}};function l(e){return null==e?null:(s.offset=e,s)}new class{constructor(e=0){this.componentLocalOriginLength=0,this._totalOffset=0,this._offset=0,this._tmpMbs=new o.iy,this._tmpObb=new a.ab,this._resetOffset(e)}_resetOffset(e){this._offset=e,this._totalOffset=e}set offset(e){this._resetOffset(e)}get offset(){return this._offset}set componentOffset(e){this._totalOffset=this._offset+e}set localOrigin(e){this.componentLocalOriginLength=(0,i.Bw)(e)}applyToVertex(e,t,r,n){let o=(0,i.hZ)(c,t,r,n),a=(0,i.hZ)(u,t,r,n+this.componentLocalOriginLength),s=this._totalOffset/(0,i.Bw)(a);return(0,i.Ln)(e,o,a,s),e}applyToAabb(e){let t=this.componentLocalOriginLength,r=e[0],i=e[1],n=e[2]+t,o=e[3],a=e[4],s=e[5]+t,l=Math.abs(r),c=Math.abs(i),u=Math.abs(n),d=Math.abs(o),h=Math.abs(a),f=Math.abs(s),m=.5*(1+Math.sign(r*o))*Math.min(l,d),p=.5*(1+Math.sign(i*a))*Math.min(c,h),v=.5*(1+Math.sign(n*s))*Math.min(u,f),g=Math.sqrt(m*m+p*p+v*v),x=Math.sign(l+r),_=Math.sign(c+i),b=Math.sign(u+n),y=Math.sign(d+o),w=Math.sign(h+a),M=Math.sign(f+s),T=this._totalOffset;if(g<T)return e[0]-=(1-x)*T,e[1]-=(1-_)*T,e[2]-=(1-b)*T,e[3]+=y*T,e[4]+=w*T,e[5]+=M*T,e;let S=Math.max(l,d),C=Math.max(c,h),A=Math.max(u,f),E=T/Math.sqrt(S*S+C*C+A*A),O=T/g,I=O-E,P=-I;return e[0]+=r*(x*P+O),e[1]+=i*(_*P+O),e[2]+=n*(b*P+O),e[3]+=o*(y*I+E),e[4]+=a*(w*I+E),e[5]+=s*(M*I+E),e}applyToMbs(e){let t=e.center,r=(0,i.Bw)(t),n=this._totalOffset/r;return(0,i.Ln)(this._tmpMbs.center,t,t,n),this._tmpMbs.radius=e.radius+e.radius*this._totalOffset/r,this._tmpMbs}applyToObb(e){return(0,a.gm)(e,this._totalOffset,this._totalOffset,1,this._tmpObb),this._tmpObb}},new class{constructor(e=0){this.offset=e,this._tmpVertex=(0,n.vt)()}applyToVertex(e,t,r,n){let o=(0,i.hZ)(c,t,r,n),a=(0,i.WQ)(u,o,this.localOrigin),s=this.offset/(0,i.Bw)(a);return(0,i.Ln)(e,o,a,s),e}applyToAabb(e){let t=d,r=h,i=f;for(let n=0;n<3;++n)t[n]=e[0+n]+this.localOrigin[n],r[n]=e[3+n]+this.localOrigin[n],i[n]=t[n];let n=this.applyToVertex(this._tmpVertex,t[0],t[1],t[2]);for(let t=0;t<3;++t)e[t]=n[t],e[t+3]=n[t];let o=t=>{let r=this.applyToVertex(this._tmpVertex,t[0],t[1],t[2]);for(let t=0;t<3;++t)e[t]=Math.min(e[t],r[t]),e[t+3]=Math.max(e[t+3],r[t])};for(let e=1;e<8;++e){for(let n=0;n<3;++n)i[n]=e&1<<n?r[n]:t[n];o(i)}let a=0;for(let e=0;e<3;++e)t[e]*r[e]<0&&(a|=1<<e);if(0!==a&&7!==a)for(let e=0;e<8;++e)if(0===(a&e)){for(let n=0;n<3;++n)i[n]=a&1<<n?0:e&1<<n?t[n]:r[n];o(i)}for(let t=0;t<3;++t)e[t]-=this.localOrigin[t],e[t+3]-=this.localOrigin[t];return e}};const c=(0,n.vt)(),u=(0,n.vt)(),d=(0,n.vt)(),h=(0,n.vt)(),f=(0,n.vt)()},46606(e,t,r){r.d(t,{S:()=>s,p:()=>l}),r(34727),r(77690),r(29242),r(58083);var i=r(9093),n=(r(35522),r(51850)),o=(r(78955),r(91829),r(31756),r(26857),r(16943),r(65786));class a extends o.Y{constructor(e){super(),this.vvSize=e?.size??null,this.vvColor=e?.color??null,this.vvOpacity=e?.opacity??null}get hasVVSize(){return!!this.vvSize}get hasVVColor(){return!!this.vvColor}get hasVVOpacity(){return!!this.vvOpacity}}(0,i.vt)(),(0,n.vt)(),(0,i.vt)();class s extends a{constructor(){super(...arguments),this.renderOccluded=1,this.emissiveStrength=0,this.testsTransparentRenderOrder=0,this.isDecoration=!1}}const l=8},19245(e,t,r){r.d(t,{Um:()=>l,MB:()=>s,kE:()=>o});var i=r(4576),n=r(34727);r(44208);function o(e,t,r,i,o,a){let s=r.screenLength*e.pixelRatio;null!=o&&(c.update(i,t,o,a),s=c.apply(s));let l=s*Math.tan(.5*e.fovY)/(.5*e.fullHeight);return(0,n.qE)(l*t,r.minWorldLength,r.maxWorldLength)}const a=(0,i.VO)();function s(e,t){let r=!1;for(let i in t){let n=t[i];void 0!==n&&(Array.isArray(n)?Array.isArray(e[i])&&a(n,e[i])||(e[i]=n.slice(),r=!0):e[i]!==n&&(r=!0,e[i]=n))}return r}const l={multiply:1,ignore:2,replace:3,tint:4},c=new class{constructor(){this._scale=0,this._angleFactor=0,this._minScale=0}update(e,t,r,i){r?(this._scale=Math.min(r.divisor/(t-r.offset),1),this._angleFactor=function(e){return Math.abs(e)**3}(e),this._minScale=null==i?0:Math.min(r.minPixelSize/i,1)):(this._scale=1,this._minScale=1,this._angleFactor=1)}apply(e){let{_scale:t,_angleFactor:r,_minScale:i}=this;return e*(0,n.qE)((0,n.Cc)(t,1,r),i,1)}applyVec2(e,t){e[0]=this.apply(t[0]),e[1]=this.apply(t[1])}}},84368(e,t,r){r.d(t,{D:()=>h});var i=r(49255),n=r(47187),o=r(42593),a=r(63365);function s(e){e.code.add("\n vec3 emissionFilter(in vec3 srcColor, float srcAlpha) {\n vec3 color = min(srcColor + vec3(1.0 - srcAlpha), 1.0);\n float m = max(color.r, max(color.g, color.b));\n return m > 0.0 ? color / m : vec3(1.0);\n }\n ")}var l=r(31821),c=r(26934);function u(e,t){t.useFloatBlend?e.code.add("float ditherNoise(vec4 color) { return 0.0; }"):e.code.add("\n float ditherNoise(vec4 color) {\n vec2 seed = color.rg + color.ba + gl_FragCoord.xy + gl_FragCoord.z;\n return (fract(52.9829189 * fract(dot(seed, vec2(0.06711056, 0.00583715)))) - 0.5) / 255.0;\n }")}var d=r(72458);function h(e,t){e.include(o.Q,t),e.include(n.zp,t);let{fragment:r,outputs:h}=e;r.include(a.a);let{output:f,hasEmission:m,oitPremultipliedAlpha:p,snowCover:v,emissionDimmingPass:g,renderOccluded:x}=t,_=11===f,b=(0,i._$)(f),y=(0,i.Rb)(f),w=(0,i._o)(f)&&!b,M=0!==f||x,T=0;(w||b)&&h.add("fragColor","vec4",T++),b&&h.add("fragAlpha","float",T++),m&&h.add("fragEmission","vec4",T++),r.include(a.a),r.include(c.Q),r.include(d.O,t),r.include(u,t),g&&r.include(s),r.code.add(l.H`
1109
1109
  void outputColorHighlightOLID(vec4 finalColor, vec3 emissiveSymbolColor ${(0,l.If)(v,", float snow")}) {
1110
1110
  ${(0,l.If)(_,"finalColor.a = 1.0;")}
1111
1111
  ${(0,l.If)(M,"if (finalColor.a < alphaCutoff) discard;")}