@arcgis/core 5.1.0-next.37 → 5.1.0-next.39

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 (320) hide show
  1. package/applications/WebEditor/sketchUtils.js +1 -1
  2. package/arcade/batchExec.js +1 -1
  3. package/assets/esri/core/libs/libtess/libtess-f32.wasm +0 -0
  4. package/assets/esri/core/libs/libtess/libtess-f64.wasm +0 -0
  5. package/assets/esri/core/workers/RemoteClient.js +1 -1
  6. package/assets/esri/core/workers/chunks/{11058e660139c427c3e7.js → 01777e91cd4e0bf04fd0.js} +1 -1
  7. package/assets/esri/core/workers/chunks/{666db81085bc97831b18.js → 02a0a58ca5916db1db19.js} +1 -1
  8. package/assets/esri/core/workers/chunks/{3d18b8c1c759c7240721.js → 03c8453ae72a4e190252.js} +1 -1
  9. package/assets/esri/core/workers/chunks/{828998d33a48be161782.js → 04981ae9d7728208ffce.js} +1 -1
  10. package/assets/esri/core/workers/chunks/{b2cf19a28aa5c32a99e3.js → 04b04548d4eb0941a01e.js} +1 -1
  11. package/assets/esri/core/workers/chunks/{64870f555fefa85a5c59.js → 06003996a378c45bc605.js} +1 -1
  12. package/assets/esri/core/workers/chunks/{ce063df750018024c9ed.js → 0601c316da0256a60538.js} +1 -1
  13. package/assets/esri/core/workers/chunks/{653d61aaaacb169b9418.js → 0d321b3496adc640d96a.js} +1 -1
  14. package/assets/esri/core/workers/chunks/0dd12d6af0cf7707109c.js +2 -0
  15. package/assets/esri/core/workers/chunks/0de66f13e84830a654fb.js +1 -0
  16. package/assets/esri/core/workers/chunks/{1ff40e6057916e8482b3.js → 0eb57ef4a1b387c951d6.js} +1 -1
  17. package/assets/esri/core/workers/chunks/{0554f310066937098099.js → 10941b50f5933d168df6.js} +1 -1
  18. package/assets/esri/core/workers/chunks/{22aeab5c363645c04806.js → 13a009229c96ecb7b04f.js} +1 -1
  19. package/assets/esri/core/workers/chunks/13d55e3c9aea04116eaa.js +1 -0
  20. package/assets/esri/core/workers/chunks/{3b86e8eb553122d3b68d.js → 167e4ff7cbc88b42db71.js} +1 -1
  21. package/assets/esri/core/workers/chunks/16a767cc5f3e2e0e49c2.js +1 -0
  22. package/assets/esri/core/workers/chunks/19cbaeda71486df01d0f.js +1 -0
  23. package/assets/esri/core/workers/chunks/{96132a37bc08c7fa8f2e.js → 1a6a77902dd8c84e059a.js} +1 -1
  24. package/assets/esri/core/workers/chunks/{00947268b6de12329146.js → 1f5d9e5d4ddc623fd511.js} +1 -1
  25. package/assets/esri/core/workers/chunks/{a2d045217a42ecc36308.js → 236b4ab3da0bc8f788a2.js} +1 -1
  26. package/assets/esri/core/workers/chunks/{0a66a2b4aaab0774c34f.js → 23af269e88f9ac101ffb.js} +1 -1
  27. package/assets/esri/core/workers/chunks/{da60a6df2f7858a2910e.js → 244dd7a948ca8a7dc6ef.js} +1 -1
  28. package/assets/esri/core/workers/chunks/25946077568ab14c7bfc.js +1 -0
  29. package/assets/esri/core/workers/chunks/{bb7e0334f438daa665da.js → 26cafd20c8d03c274389.js} +1 -1
  30. package/assets/esri/core/workers/chunks/284ce99af7bdd73dc7e9.js +1 -0
  31. package/assets/esri/core/workers/chunks/{1d0153c7d65bd9ea7d39.js → 2b386374330d96387aec.js} +1 -1
  32. package/assets/esri/core/workers/chunks/2c12b1488819c038c6b1.js +1 -0
  33. package/assets/esri/core/workers/chunks/2d2c10c31cc1460dd96a.js +1 -0
  34. package/assets/esri/core/workers/chunks/2fa86dacc8a12a6a6c43.js +1 -0
  35. package/assets/esri/core/workers/chunks/{8bd24534ed185afcb124.js → 30cdb2d1d9f018f1642d.js} +1 -1
  36. package/assets/esri/core/workers/chunks/{5691c1624190abeaebea.js → 34484afe767d60f85982.js} +1 -1
  37. package/assets/esri/core/workers/chunks/35d115bde474c380c791.js +1 -0
  38. package/assets/esri/core/workers/chunks/{6a0c371ec3acd7529fe6.js → 36a0e48113ab59a4f21d.js} +1 -1
  39. package/assets/esri/core/workers/chunks/{cc3939983cf6f78f7243.js → 38c28189f273636e4017.js} +1 -1
  40. package/assets/esri/core/workers/chunks/{e00000468fb8ec2b3d43.js → 392941013107bbd96503.js} +1 -1
  41. package/assets/esri/core/workers/chunks/{43f60f41d353d3fc7c4b.js → 399fcea09dfb1ad6deaa.js} +1 -1
  42. package/assets/esri/core/workers/chunks/39d71e83261bff46f6bf.js +1 -0
  43. package/assets/esri/core/workers/chunks/{a52a8254577840a23aba.js → 3d4bb59ab2f644f4d675.js} +1 -1
  44. package/assets/esri/core/workers/chunks/3e2953ea62817e75d840.js +1 -0
  45. package/assets/esri/core/workers/chunks/{582d45a41e29005f6c63.js → 4005d37d03c834da7629.js} +1 -1
  46. package/assets/esri/core/workers/chunks/{285f3b07de852bfc1604.js → 427183ea93e759943a78.js} +1 -1
  47. package/assets/esri/core/workers/chunks/{4ceba469398ef55de8ea.js → 42b556d56013350c9d80.js} +1 -1
  48. package/assets/esri/core/workers/chunks/{446bc8461403ed1ac7b2.js → 4577df99c92c7ec0f9de.js} +1 -1
  49. package/assets/esri/core/workers/chunks/{7a2dd3d85d31dce29d94.js → 49d6249e98f023344e0a.js} +1 -1
  50. package/assets/esri/core/workers/chunks/{6ca2064ea96bdb594f52.js → 4b0d6309abf273f1f79f.js} +1 -1
  51. package/assets/esri/core/workers/chunks/{6f3f7f785241edacdb8b.js → 4b5737021a149aa786af.js} +1 -1
  52. package/assets/esri/core/workers/chunks/{210ef3f1cc6ef8a831bf.js → 4b79ebfb3328f9483147.js} +1 -1
  53. package/assets/esri/core/workers/chunks/{305b2a8dc6438c5fd4aa.js → 4d378d4e021a33b0047e.js} +1 -1
  54. package/assets/esri/core/workers/chunks/{114aecdbd2bd92b24de2.js → 52175ff9e8c2c136f90a.js} +1 -1
  55. package/assets/esri/core/workers/chunks/{dfee98e7d1b206f33ba9.js → 54db91c0a3bd1946e026.js} +1 -1
  56. package/assets/esri/core/workers/chunks/{c79e8003812b789724af.js → 5b2fe488a461bc433f59.js} +1 -1
  57. package/assets/esri/core/workers/chunks/{1fa2bf0d6740092ec619.js → 5b70295da76d9227f64b.js} +1 -1
  58. package/assets/esri/core/workers/chunks/5e59ff96aecdf2adcb3b.js +1 -0
  59. package/assets/esri/core/workers/chunks/{0f2d6f267d235db48767.js → 5e9595eb6ae6a40e7265.js} +1 -1
  60. package/assets/esri/core/workers/chunks/{776a7179d32fe62a37e3.js → 604f9e7228a66b6cf2f9.js} +1 -1
  61. package/assets/esri/core/workers/chunks/{d0d836502321e7a80e61.js → 60d0f8a949b130baff81.js} +1 -1
  62. package/assets/esri/core/workers/chunks/60e4312044fe40dfd41d.js +2 -0
  63. package/assets/esri/core/workers/chunks/{98a84dc2988297bd6ab1.js → 6258ae3d991ce652d97f.js} +1 -1
  64. package/assets/esri/core/workers/chunks/{e0d6292aaa3f8a796de3.js → 65865c25487d23dd2e31.js} +1 -1
  65. package/assets/esri/core/workers/chunks/{d4b97ca16d79809ed6f2.js → 65ea5028eb12457a3aeb.js} +1 -1
  66. package/assets/esri/core/workers/chunks/{cf100c80b75ba74b479c.js → 66a4d764937918a2779f.js} +1 -1
  67. package/assets/esri/core/workers/chunks/{ebcfc20c1d92d90bf661.js → 6afdaa6c4555c467dca7.js} +1 -1
  68. package/assets/esri/core/workers/chunks/6ee956d5a92ca905f53f.js +1 -0
  69. package/assets/esri/core/workers/chunks/{14e05d37e10ebba8cf10.js → 6f58ec80abebb7bfbbb0.js} +1 -1
  70. package/assets/esri/core/workers/chunks/{5698098c3691b3b49283.js → 73d7337ac9efdbad14a4.js} +1 -1
  71. package/assets/esri/core/workers/chunks/{568d32ceee1409809e5a.js → 749c368f5cc2366716f1.js} +1 -1
  72. package/assets/esri/core/workers/chunks/{586bc903e2c285649bf2.js → 77769663cd712822d33e.js} +1 -1
  73. package/assets/esri/core/workers/chunks/{620965d2e1a9ccf81d43.js → 77f6659e400064d38130.js} +1 -1
  74. package/assets/esri/core/workers/chunks/{8ed7ff651241f8adc4bf.js → 78472f69053061a18967.js} +1 -1
  75. package/assets/esri/core/workers/chunks/{0e7d3f3479fcb366cc6f.js → 80a1ccabd4257cc61e0d.js} +1 -1
  76. package/assets/esri/core/workers/chunks/{0d156e14fc34d0600fd5.js → 81b830f0d620587966ca.js} +1 -1
  77. package/assets/esri/core/workers/chunks/{9cd548ea00b641d8e65d.js → 8333561a938bcdf6c2e6.js} +1 -1
  78. package/assets/esri/core/workers/chunks/{283ce37403c5e7a76e95.js → 8677865189081e0b83bc.js} +1 -1
  79. package/assets/esri/core/workers/chunks/{087403b53f15eb4d375c.js → 86f70bd786d6d57fde69.js} +1 -1
  80. package/assets/esri/core/workers/chunks/88c6cc90606409b5c884.js +1 -0
  81. package/assets/esri/core/workers/chunks/{8e10e4c25869af9da5ba.js → 8967a02f394a63f11030.js} +1 -1
  82. package/assets/esri/core/workers/chunks/{d2fa8bd3f4cd3cf6b436.js → 89dbea6f436d45a3b185.js} +1 -1
  83. package/assets/esri/core/workers/chunks/{8eed5b6cac937099102c.js → 8d5bc17557a31ed79ed8.js} +1 -1
  84. package/assets/esri/core/workers/chunks/{2d6165796af522858e56.js → 8e18ac7b22d8dca1e1e2.js} +1 -1
  85. package/assets/esri/core/workers/chunks/{ae72c530d52a6d4461be.js → 8e3cb1c584951c3d1eb7.js} +1 -1
  86. package/assets/esri/core/workers/chunks/92f6d637f4786ba0d3e3.js +1 -0
  87. package/assets/esri/core/workers/chunks/93846f8b77fc802069a7.js +1 -0
  88. package/assets/esri/core/workers/chunks/{34f2e9d7466abc0919e7.js → 9639b1dd27ccc17ee21e.js} +1 -1
  89. package/assets/esri/core/workers/chunks/{7ebd836b98d14c7d3ecf.js → 969f58a2de4ebe63619d.js} +1 -1
  90. package/assets/esri/core/workers/chunks/{9a3e5053e95db36f26dc.js → 9a95c28d4a3b3b4b2c50.js} +1 -1
  91. package/assets/esri/core/workers/chunks/{c3e4f8664988e50bda55.js → 9b365a6242b0287f8727.js} +1 -1
  92. package/assets/esri/core/workers/chunks/{e021b2f0e15aee5bf3ad.js → 9b80569819cd1c72a9ff.js} +1 -1
  93. package/assets/esri/core/workers/chunks/{3dcb4ee8b862689a141b.js → 9bd68abc6b5b07b2add3.js} +1 -1
  94. package/assets/esri/core/workers/chunks/{952ff668d202e80b43b0.js → a029db48079af4b5cccd.js} +1 -1
  95. package/assets/esri/core/workers/chunks/{9cc1b44c5a325a840307.js → a1f36240a31057f998da.js} +1 -1
  96. package/assets/esri/core/workers/chunks/{ff8de370abf661768380.js → a84d67c1a1008bca2075.js} +1 -1
  97. package/assets/esri/core/workers/chunks/{c6112dcd6b36e256d7b5.js → a90883ff02c0cc6450c2.js} +1 -1
  98. package/assets/esri/core/workers/chunks/{0d196cf72cd8bef8d91d.js → abcb39ad1e2d54710766.js} +1 -1
  99. package/assets/esri/core/workers/chunks/{80f0810527743833b4b7.js → af804beb43d4d10c54d9.js} +1 -1
  100. package/assets/esri/core/workers/chunks/{fbada7f029b293d934ac.js → b014f0b2385dc82dc683.js} +2 -2
  101. package/assets/esri/core/workers/chunks/{8c2e5b116bac21e7d577.js → b056b4c79bcd542dd1d2.js} +1 -1
  102. package/assets/esri/core/workers/chunks/{3b9de873f87f0feeb20b.js → b1ac09d8fa340d194aa2.js} +1 -1
  103. package/assets/esri/core/workers/chunks/{2f0e850ebea0ffd2708f.js → b1c5f69bd1400e66c635.js} +1 -1
  104. package/assets/esri/core/workers/chunks/{414a802b6365688d31cb.js → b6e63d8ce3c9ac9762f4.js} +1 -1
  105. package/assets/esri/core/workers/chunks/{d7229019876c0e4ff545.js → b86cb84c03b76e824213.js} +1 -1
  106. package/assets/esri/core/workers/chunks/bf9b83e020ff08c51ac1.js +1 -0
  107. package/assets/esri/core/workers/chunks/{b396b5186d618fad1cee.js → c0ecb68387e342dddf58.js} +1 -1
  108. package/assets/esri/core/workers/chunks/{623bfacf4b9c9a5387cc.js → c2f3fc1b34a6782b431f.js} +1 -1
  109. package/assets/esri/core/workers/chunks/c4f64195e44986644993.js +1 -0
  110. package/assets/esri/core/workers/chunks/{b7a3a7f7fb747f9689d7.js → c7799ba861ac5af08e6a.js} +1 -1
  111. package/assets/esri/core/workers/chunks/{9c6e96b1c2b0418a4f1c.js → ca1b0cb14ea9ae1bf2a3.js} +1 -1
  112. package/assets/esri/core/workers/chunks/cce2d2c60d136e1bac75.js +1 -0
  113. package/assets/esri/core/workers/chunks/{b98366d8a5bc6cc2b219.js → cda2e445eb2ac269abdf.js} +1 -1
  114. package/assets/esri/core/workers/chunks/{448620052233e51b496c.js → cf74d1605ad2f21699e7.js} +1 -1
  115. package/assets/esri/core/workers/chunks/d024278a1c2aa7d22be3.js +1 -0
  116. package/assets/esri/core/workers/chunks/{f4301ea9a6cb3bcef906.js → d0983cc19d19c19c3478.js} +1 -1
  117. package/assets/esri/core/workers/chunks/{ee582bbe7365b678ec54.js → d50e6681ecb9612e4528.js} +1 -1
  118. package/assets/esri/core/workers/chunks/{68abe4e70ea48e978642.js → d51c41c1944df0cbab3e.js} +1 -1
  119. package/assets/esri/core/workers/chunks/{b2f497339493926d4c9e.js → d53b31c9056f82831bc0.js} +1 -1
  120. package/assets/esri/core/workers/chunks/{ffc87a038712a4c9d2cb.js → d6eddb94f5f2e9759bd0.js} +1 -1
  121. package/assets/esri/core/workers/chunks/{6cdda5aa35fa12ea9345.js → d7439d357f68160844cb.js} +1 -1
  122. package/assets/esri/core/workers/chunks/{b5403c8b5099179dc16d.js → d82b543c96f09ded3bf9.js} +2 -2
  123. package/assets/esri/core/workers/chunks/{6c853fd89f0e9f102c6e.js → dba479176db0a23c8034.js} +1 -1
  124. package/assets/esri/core/workers/chunks/{6792e981a3c73063a3e6.js → dd26e3a29161ea411e41.js} +1 -1
  125. package/assets/esri/core/workers/chunks/{0337138d3702a1a52ce0.js → de79645e559a2d1ffa67.js} +1 -1
  126. package/assets/esri/core/workers/chunks/e09f8b17cb0b92354de8.js +1 -0
  127. package/assets/esri/core/workers/chunks/{8346c342b822487a5477.js → e47dd011c06ab42c18e0.js} +1 -1
  128. package/assets/esri/core/workers/chunks/{ba4e018492bd3327cd95.js → e68d7aec0f095b6d743d.js} +1 -1
  129. package/assets/esri/core/workers/chunks/{ca64867bc322a354be8e.js → e907acaec4c62adac2f2.js} +1 -1
  130. package/assets/esri/core/workers/chunks/{9813f25192ea27084754.js → ea356a5b90ea44b5cbe1.js} +1 -1
  131. package/assets/esri/core/workers/chunks/{d30253b4990a76bfd72b.js → eab74d830c2eaa9d133b.js} +1 -1
  132. package/assets/esri/core/workers/chunks/{eef102e13fd8878eeb96.js → eb36417edc11fa80e312.js} +1 -1
  133. package/assets/esri/core/workers/chunks/{f5dbda08d7fd4bed1c62.js → eca45cd479f7fd28ca6e.js} +1 -1
  134. package/assets/esri/core/workers/chunks/{56f64df68bb11c0c74d2.js → f209a7076d67cbf4d205.js} +1 -1
  135. package/assets/esri/core/workers/chunks/{b81780e5e7cd9a1a010a.js → f36a234ef35faf8ca04d.js} +1 -1
  136. package/assets/esri/core/workers/chunks/{64450e280d602c5b0863.js → f45e4eb89db31d7a7640.js} +14 -14
  137. package/assets/esri/core/workers/chunks/{45d57e561fc993bc75ed.js → f9cde38cb56c547e87e5.js} +1 -1
  138. package/assets/esri/core/workers/chunks/{0efe90bd43ab29dab8ae.js → f9da5c81535eaffc8b9c.js} +1 -1
  139. package/assets/esri/core/workers/chunks/{23cb0611abe1031c513c.js → fce30184f354fb7d11af.js} +1 -1
  140. package/assets/esri/core/workers/chunks/{c8ae8d1b456ace0b383b.js → fce8d4ff920baf8856e6.js} +1 -1
  141. package/assets/esri/core/workers/chunks/{5fa5a2fb69f84e9092ba.js → fd629a3ab558adf52617.js} +1 -1
  142. package/assets/esri/core/workers/chunks/{4bfc6f8c2d13ca4d2082.js → fdf4c1f202cfddf0f226.js} +1 -1
  143. package/assets/esri/core/workers/chunks/{5b12865ac53d984d8149.js → fe7dec83e40014c55a6b.js} +1 -1
  144. package/assets/esri/core/workers/chunks/{5f3b25b30acd7a07f5c0.js → ff31936236dd9b1acb24.js} +1 -1
  145. package/assets/esri/core/workers/chunks/{122ff8d0d428f31fc5d1.js → ff8ec6369c8a1bee9bb4.js} +1 -1
  146. package/chunks/Fog.glsl.js +2 -1
  147. package/chunks/GaussianSplatComposition.glsl.js +21 -3
  148. package/chunks/GlowBlur.glsl.js +8 -8
  149. package/chunks/GlowComposition.glsl.js +7 -7
  150. package/chunks/HUDMaterial.glsl.js +4 -1
  151. package/chunks/OITBlend.glsl.js +10 -10
  152. package/chunks/OITDim.glsl.js +3 -4
  153. package/chunks/lyr3DMain.js +1 -1
  154. package/chunks/lyr3DWorker.js +1 -1
  155. package/config.js +1 -1
  156. package/core/Promise.js +1 -1
  157. package/core/QueueProcessor.js +1 -1
  158. package/core/has.js +1 -1
  159. package/core/promiseUtils.js +1 -1
  160. package/core/scheduling.js +1 -1
  161. package/core/workers/Connection.js +1 -1
  162. package/editing/sharedTemplates/SharedTemplateProvider.js +1 -1
  163. package/geometry/libtess.js +1 -1
  164. package/identity/IdentityManagerBase.js +1 -1
  165. package/intl/messages.js +1 -1
  166. package/kernel.js +1 -1
  167. package/layers/VoxelWasmPerSceneView.js +1 -1
  168. package/layers/graphics/data/projectionSupport.js +1 -1
  169. package/layers/graphics/editingSupport.js +1 -1
  170. package/layers/graphics/sources/connections/GeoEventConnection.js +1 -1
  171. package/layers/graphics/sources/connections/WebSocketConnection.js +1 -1
  172. package/layers/mixins/EditBusLayer.js +1 -1
  173. package/layers/raster/functions/rasterProjectionHelper.js +1 -1
  174. package/libs/lyr3d/Lyr3DModule.js +1 -1
  175. package/package.json +2 -2
  176. package/rest/print.js +1 -1
  177. package/support/revision.js +1 -1
  178. package/views/2d/engine/Bitmap.js +1 -1
  179. package/views/2d/engine/imagery/RasterBitmap.js +1 -1
  180. package/views/2d/engine/transitions/FadeTransition.js +1 -1
  181. package/views/2d/engine/webgl/TextureUploadManager.js +1 -1
  182. package/views/2d/engine/webgl/shaderGraph/techniques/TechniqueDebugContainer.js +1 -1
  183. package/views/2d/engine/webgl/shaderGraph/techniques/raster/RasterColorizerTechnique.js +1 -1
  184. package/views/2d/engine/webgl/shaderGraph/techniques/raster/RasterHighlightTechnique.js +1 -1
  185. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  186. package/views/2d/layers/FeatureLikeLayerView2D.js +1 -1
  187. package/views/2d/layers/features/FeatureContainer.js +1 -1
  188. package/views/2d/layers/features/FeaturePipelineWorker.js +1 -1
  189. package/views/2d/layers/imagery/ImageryTileView2D.js +1 -1
  190. package/views/2d/layers/imagery/VectorFieldTileView2D.js +1 -1
  191. package/views/2d/layers/imagery/VectorFieldView2D.js +1 -1
  192. package/views/2d/layers/support/FeatureCommandQueue.js +1 -1
  193. package/views/3d/analysis/Dimension/DimensionVisualization.js +1 -1
  194. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillController.js +1 -1
  195. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillVisualization.js +1 -1
  196. package/views/3d/environment/EnvironmentManager.js +1 -1
  197. package/views/3d/layers/BuildingSceneLayerView3D.js +1 -1
  198. package/views/3d/layers/I3SMeshView3D.js +1 -1
  199. package/views/3d/layers/ImageryTileLayerView3D.js +1 -1
  200. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  201. package/views/3d/layers/IntegratedMeshNormals.js +1 -1
  202. package/views/3d/layers/graphics/Deconflictor.js +1 -1
  203. package/views/3d/layers/graphics/ElevationQuery.js +1 -1
  204. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  205. package/views/3d/layers/graphics/Graphics3DTextSymbolLayer.js +1 -1
  206. package/views/3d/layers/i3s/I3SOverrides.js +1 -1
  207. package/views/3d/state/ViewStateManager.js +1 -1
  208. package/views/3d/terrain/OverlayRenderer.js +1 -1
  209. package/views/3d/terrain/RasterTile.js +1 -1
  210. package/views/3d/terrain/TerrainRenderer.js +1 -1
  211. package/views/3d/webgl-engine/collections/Component/ComponentObject.js +1 -1
  212. package/views/3d/webgl-engine/collections/Component/ComponentObjectCollection.js +1 -1
  213. package/views/3d/webgl-engine/collections/Component/DepthRange.js +1 -1
  214. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  215. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterialRepository.js +1 -1
  216. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechniqueConfiguration.js +1 -1
  217. package/views/3d/webgl-engine/core/renderPasses/AllRenderPasses.js +1 -1
  218. package/views/3d/webgl-engine/core/renderPasses/RenderPass.js +1 -1
  219. package/views/3d/webgl-engine/core/renderPasses/RenderPassManager.js +1 -1
  220. package/views/3d/webgl-engine/core/shaderLibrary/util/EmissionDimming.glsl.js +2 -0
  221. package/views/3d/webgl-engine/effects/RenderPluginManager.js +1 -1
  222. package/views/3d/webgl-engine/effects/WeatherFader.js +2 -0
  223. package/views/3d/webgl-engine/effects/clouds/CloudsRenderer.js +1 -1
  224. package/views/3d/webgl-engine/effects/clouds/NoiseTextureAtlas.js +1 -1
  225. package/views/3d/webgl-engine/effects/fog/Fog.js +1 -1
  226. package/views/3d/webgl-engine/effects/glow/GlowBlurTechniqueConfiguration.js +1 -1
  227. package/views/3d/webgl-engine/effects/glow/GlowComposition.glsl.js +1 -1
  228. package/views/3d/webgl-engine/effects/glow/GlowCompositionTechniqueConfiguration.js +1 -1
  229. package/views/3d/webgl-engine/effects/glow/GlowRenderNode.js +1 -1
  230. package/views/3d/webgl-engine/effects/transparency/OITBlend.glsl.js +1 -1
  231. package/views/3d/webgl-engine/effects/transparency/OITBlend.js +1 -1
  232. package/views/3d/webgl-engine/effects/transparency/OITBlendTechniqueConfiguration.js +1 -1
  233. package/views/3d/webgl-engine/effects/transparency/OITDim.glsl.js +1 -1
  234. package/views/3d/webgl-engine/lib/BindParameters.js +1 -1
  235. package/views/3d/webgl-engine/lib/CutFillComputationRenderNode.js +2 -0
  236. package/views/3d/webgl-engine/lib/CutFillVisualizationRenderNode.js +2 -0
  237. package/views/3d/webgl-engine/lib/GaussianSplatRenderNode.js +1 -1
  238. package/views/3d/webgl-engine/lib/MainFramebuffer.js +1 -1
  239. package/views/3d/webgl-engine/lib/Material.js +1 -1
  240. package/views/3d/webgl-engine/lib/RenderFeature.js +1 -1
  241. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  242. package/views/3d/webgl-engine/lib/SortedRenderGeometryRenderer.js +1 -1
  243. package/views/3d/webgl-engine/lib/Viewshed.js +1 -1
  244. package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
  245. package/views/3d/webgl-engine/materials/DefaultTechniqueConfiguration.js +1 -1
  246. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  247. package/views/3d/webgl-engine/materials/HeatmapDensityMaterial.js +1 -1
  248. package/views/3d/webgl-engine/materials/ImageMaterial.js +1 -1
  249. package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
  250. package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
  251. package/views/3d/webgl-engine/materials/PathTechniqueConfiguration.js +1 -1
  252. package/views/3d/webgl-engine/materials/PatternMaterial.js +1 -1
  253. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  254. package/views/3d/webgl-engine/materials/WaterMaterial.js +1 -1
  255. package/views/3d/webgl-engine/parts/RenderView.js +1 -1
  256. package/views/3d/webgl-engine/parts/ScreenshotManager.js +1 -1
  257. package/views/3d/webgl-engine/shaders/CheckerBoardTechniqueConfiguration.js +1 -1
  258. package/views/3d/webgl-engine/shaders/ColorMaterialTechniqueConfiguration.js +1 -1
  259. package/views/3d/webgl-engine/shaders/DefaultMaterialTechniqueConfiguration.js +1 -1
  260. package/views/3d/webgl-engine/shaders/GaussianSplatComposition.glsl.js +1 -1
  261. package/views/3d/webgl-engine/shaders/GaussianSplatCompositionTechniqueConfiguration.js +2 -0
  262. package/views/3d/webgl-engine/shaders/GaussianSplatTechniqueConfiguration.js +1 -1
  263. package/views/3d/webgl-engine/shaders/ImageMaterialTechniqueConfiguration.js +1 -1
  264. package/views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js +10 -10
  265. package/views/3d/webgl-engine/shaders/PatternTechniqueConfiguration.js +1 -1
  266. package/views/3d/webgl-engine/shaders/RibbonLineTechniqueConfiguration.js +1 -1
  267. package/views/3d/webgl-engine/shaders/ShadedColorMaterialTechniqueConfiguration.js +1 -1
  268. package/views/3d/webgl-engine/shaders/oitResolution.glsl.js +2 -0
  269. package/views/3d/webgl.js +1 -1
  270. package/views/PopupView.js +1 -1
  271. package/views/ViewAnimation.js +1 -1
  272. package/views/analysis/ExclusiveOperationManager.js +1 -1
  273. package/views/interactive/InteractiveToolBase.js +1 -1
  274. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceSnappingSourceWorker.js +1 -1
  275. package/views/support/AnalysisViewManager.js +1 -1
  276. package/views/support/LayerLayerViewInfo.js +1 -1
  277. package/views/support/LayerViewManager.js +1 -1
  278. package/views/support/ScheduledQueueProcessor.js +1 -1
  279. package/views/support/waitForResources.js +1 -1
  280. package/widgets/Editor/EditorViewModel.js +1 -1
  281. package/widgets/Editor/UpdateWorkflow.js +1 -1
  282. package/widgets/Editor/Upload.js +1 -1
  283. package/widgets/Editor/Workflow.js +1 -1
  284. package/widgets/Editor.js +1 -1
  285. package/widgets/FeatureForm/FormExpressionsManager.js +1 -1
  286. package/widgets/FeatureForm.js +1 -1
  287. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  288. package/widgets/FeatureTable.js +1 -1
  289. package/widgets/PanoramicViewer/support/PanoramicMedia.js +1 -1
  290. package/assets/esri/core/workers/chunks/1ee3d44e6d7add0b24cb.js +0 -1
  291. package/assets/esri/core/workers/chunks/29ff5325e604dd0adc37.js +0 -1
  292. package/assets/esri/core/workers/chunks/34cdcee6d0ea595d7aed.js +0 -1
  293. package/assets/esri/core/workers/chunks/36f91b5c4345a179b8b1.js +0 -1
  294. package/assets/esri/core/workers/chunks/4d7f7b1e7663cf6088d1.js +0 -1
  295. package/assets/esri/core/workers/chunks/5d87316d6f973d95745c.js +0 -1
  296. package/assets/esri/core/workers/chunks/6997b4d5bcc9c4755375.js +0 -1
  297. package/assets/esri/core/workers/chunks/75664587bb80f4e187e1.js +0 -1
  298. package/assets/esri/core/workers/chunks/7975abb2162a82c88edb.js +0 -1
  299. package/assets/esri/core/workers/chunks/889835e61ea97f090082.js +0 -1
  300. package/assets/esri/core/workers/chunks/917474f9dd2039b82e9d.js +0 -1
  301. package/assets/esri/core/workers/chunks/9360a24ba765742f4e81.js +0 -1
  302. package/assets/esri/core/workers/chunks/bd278f8081be8304be8d.js +0 -1
  303. package/assets/esri/core/workers/chunks/c2e4cf3a277a6f40c7c2.js +0 -1
  304. package/assets/esri/core/workers/chunks/c7f27a84268a9b0d8cdb.js +0 -1
  305. package/assets/esri/core/workers/chunks/cd73d37ea0e66db46e45.js +0 -1
  306. package/assets/esri/core/workers/chunks/d42d670edfae902c677b.js +0 -2
  307. package/assets/esri/core/workers/chunks/d6c2c9fedde498ad1a8c.js +0 -2
  308. package/assets/esri/core/workers/chunks/dcef87f7d06c45cd928b.js +0 -1
  309. package/assets/esri/core/workers/chunks/e011318fb8f8e59bc1f1.js +0 -1
  310. package/assets/esri/core/workers/chunks/e0344b45af88081fa186.js +0 -1
  311. package/assets/esri/core/workers/chunks/e16f5f089259988e8993.js +0 -1
  312. package/assets/esri/core/workers/chunks/ecddd8c7593d3483ed09.js +0 -1
  313. package/assets/esri/core/workers/chunks/fe21b2d31fbf83224e6b.js +0 -1
  314. package/views/3d/environment/EnvironmentRenderer.js +0 -2
  315. package/views/3d/webgl-engine/lib/CutFillColor.js +0 -2
  316. package/views/3d/webgl-engine/lib/CutFillDepth.js +0 -2
  317. /package/assets/esri/core/workers/chunks/{d6c2c9fedde498ad1a8c.js.LICENSE.txt → 0dd12d6af0cf7707109c.js.LICENSE.txt} +0 -0
  318. /package/assets/esri/core/workers/chunks/{d42d670edfae902c677b.js.LICENSE.txt → 60e4312044fe40dfd41d.js.LICENSE.txt} +0 -0
  319. /package/assets/esri/core/workers/chunks/{fbada7f029b293d934ac.js.LICENSE.txt → b014f0b2385dc82dc683.js.LICENSE.txt} +0 -0
  320. /package/assets/esri/core/workers/chunks/{b5403c8b5099179dc16d.js.LICENSE.txt → d82b543c96f09ded3bf9.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[1003],{1003(e,t,s){s.r(t),s.d(t,{default:()=>ge});var i=s(49186),n=s(5482),a=s(91429),r=s(49859),o=s(68197),l=s(5443),f=s(16930),c=s(73444),u=s(94778),h=s(14140);function p(e){return["x","e","east","long","longitude"].includes(e.toLowerCase())}function d(e){return["y","n","west","lat","latitude"].includes(e.toLowerCase())}function m(e){const{axes:t}=e.domain,s=Object.keys(t),i=[],n=[];let a=-1,r=-1,o=[];for(let e=0;e<s.length;e++){const l=s[e];p(l)?a=e:d(l)&&(r=e);const f=t[l],c=[];if("values"in f){f.values.forEach(e=>c.push("string"==typeof e?new Date(e).getTime():e));const e=c[1]-c[0];i.push([c[0]-.5*e,c[c.length-1]+.5*e]),n.push(e)}else{const{start:e,stop:t,num:s}=f,a=(t-e)/(s-1);i.push([e-.5*a,t+.5*a]),n.push(a);for(let t=0;t<s;t++)c.push(e+a*t)}o.push({name:l,values:c,extent:[c[0],c[c.length-1]]})}a>-1&&-1===r?r=0===a?1:0:r>-1&&-1===a?a=0===r?1:0:-1===r&&-1===a&&(a=0,r=1),o=o.filter((e,t)=>!(t===a||t===r));const{referencing:c}=e.domain,u=c.find(e=>e.coordinates.includes(s[a])).system.id,h=u?.slice(u.lastIndexOf("/")+1),m=null==h||"CRS84"===h?4326:Number(h),g=new f.A({wkid:m}),[y,x]=i[a],[w,I]=i[r],v=new l.A({xmin:y,xmax:x,ymin:w,ymax:I,spatialReference:g});return{width:Math.round(v.width/n[a]),height:Math.round(v.height/n[r]),extent:v,dimensions:o}}function g(e){const t=(0,c.lR)();return t?e[t]??Object.values(e)[0]:Object.values(e)[0]}function y(){return Math.round(255*Math.random())}function x(e){const t={},{parameters:s}=e;if(!s)return t;for(const[e,i]of Object.entries(s)){const{type:s,description:n,unit:a,categoryEncoding:r,observedProperty:l}=i;if("Parameter"===s&&(t[e]={},n&&(t[e].description=g(n)),a&&(t[e].unit=a.label?g(a.label):null,t[e].symbol=a.symbol?.value),r)){const s=Object.entries(r).map((e,t)=>({OID:t,Value:Number(e[1]),ClassName:e[0].slice(e[0].lastIndexOf("/")+1),Count:1}));let i=!1;l?.categories?.length&&(l.categories.forEach(e=>{if(!e.id)return;const t=e.id.slice(e.id.lastIndexOf("/")+1),n=s.find(e=>e.ClassName===t);if(!n)return;const a=e.label?g(e.label):null;if(n.Label=a,e.preferredColor){const t=o.A.fromHex(e.preferredColor);t&&(i=!0,n.Red=t.r,n.Green=t.g,n.Blue=t.b)}}),i&&s.forEach(e=>{null==e.Red&&(e.Red=y(),e.Green=y(),e.Blue=y())}));const n={objectIdFieldName:"",fields:[{name:"OID",type:"esriFieldTypeOID",alias:"OID",domain:null},{name:"Value",type:"esriFieldTypeInteger",alias:"Value",domain:null},{name:"Count",type:"esriFieldTypeDouble",alias:"Count",domain:null},{name:"ClassName",type:"esriFieldTypeString",alias:"ClassName",domain:null,length:50},{name:"Label",type:"esriFieldTypeString",alias:"Label",domain:null,length:50}],features:s.map(e=>({attributes:e}))};i&&n.fields.push({name:"Red",type:"esriFieldTypeInteger",alias:"Red",domain:null},{name:"Green",type:"esriFieldTypeInteger",alias:"Green",domain:null},{name:"Blue",type:"esriFieldTypeInteger",alias:"Blue",domain:null}),t[e].attributeTable=n}}return t}function w(e){let t=Number.MAX_VALUE,s=-Number.MAX_VALUE;for(let i=0;i<e.length;i++){const n=e[i];null!=n&&(n<t&&(t=n),n>s&&(s=n))}return(0,u.X1)(t,s)}function I(e,t,s){const i=e.map((e,s)=>({name:e,count:t[s]})).sort((e,t)=>e.name>t.name?-1:1),n=(a=1,e=>a*=e.count);var a;const r=[...i.slice(1),{name:"",count:1}].reverse().map(n).reverse();let o=0;for(let n=e.length-1;n>=0;n--)o+=r[i.findIndex(({name:t})=>t===e[n])]*(s%t[n]),s=Math.floor(s/t[n]);return o}var v=s(74887),C=s(4366),b=s(47520),T=s(51927),S=s(45617),A=s(87186);let R=class extends r.A{constructor(){super(...arguments),this.datasetFormat="MEMORY",this.source=null}get url(){return""}fetchRawTile(e,t,s,i={}){if(!this._pixelBlockTiles){const{rasterInfo:n}=this,[a,r]=n.storageInfo.tileInfo.size,{sliceId:o}=i,{pixelBlocks:l}=this.source,f={pixelBlock:null==o?l[0]:l[o],useBilinear:"thematic"!==n.dataType,tileSize:{width:a,height:r},level:e,row:t,col:s},c=this.rasterJobHandler?this.rasterJobHandler.clipTile(f,i):(0,b.J$)(f);return Promise.resolve(c)}const n=this._pixelBlockTiles.get(`${e}/${t}/${s}`);return Promise.resolve(n)}async _open(e){const t=this.source,{pixelBlocks:s,attributeTable:i,statistics:n,histograms:a,name:r,nativeExtent:o,transform:c,colormap:u}=t,h=s[0],{width:p,height:d,pixelType:m}=h,g=t.extent??new l.A({xmin:-.5,ymin:.5,xmax:p-.5,ymax:d-.5,spatialReference:new f.A({wkid:3857})}),y=t.isPseudoSpatialReference??!t.extent,x={x:g.width/p,y:g.height/d},w={...t.keyProperties};t.dataType&&(w.DataType=t.dataType),t.bandInfos&&(w.BandProperties=t.bandInfos.map(e=>e.toJSON())),i&&(w.DataType="Thematic");const I=new A.A({width:p,height:d,pixelType:m,extent:g,nativeExtent:o,attributeTable:i,colormap:u,transform:c,pixelSize:x,spatialReference:g.spatialReference,bandCount:h.pixels.length,keyProperties:w,multidimensionalInfo:t.multidimensionalInfo,statistics:n,isPseudoSpatialReference:y,histograms:a});this.ioConfig.skipMapInfo&&this.updateImageSpaceRasterInfo(I),this.createRemoteDatasetStorageInfo(I,512,512),this._set("rasterInfo",I),this.updateTileInfo(),I.multidimensionalInfo?await this._buildMDimStats(t.pixelBlocks,I.multidimensionalInfo):await this._buildInMemoryRaster(h,{width:512,height:512},e),I.multidimensionalInfo||(this.source=null),this.datasetName=r}async _buildInMemoryRaster(e,t,s){const{rasterInfo:n}=this,a=n.storageInfo.maximumPyramidLevel??0,r="thematic"!==n.dataType,o=this.rasterJobHandler?this.rasterJobHandler.split({pixelBlock:e,tileSize:t,maximumPyramidLevel:a,useBilinear:r},s):Promise.resolve((0,b.lD)(e,t,a,r)),l=null!=n.statistics,f=null!=n.histograms,c=this.ioConfig.skipStatistics||l?Promise.resolve({statistics:null,histograms:null}):this.rasterJobHandler?this.rasterJobHandler.estimateStatisticsHistograms({pixelBlock:e},s):Promise.resolve((0,T.f4)(e)),u=await(0,v.Lx)([o,c]);if(!u[0].value&&u[1].value)throw new i.A("inmemory-raster:open","failed to build in memory raster");this._pixelBlockTiles=u[0].value,l||(n.statistics=u[1].value?.statistics),f||(n.histograms=u[1].value?.histograms)}async _buildMDimStats(e,t,s){for(let i=0;i<t.variables.length;i++){const n=t.variables[i];if(n.statistics)continue;const a=n.dimensions.map(e=>new S.A({variableName:n.name,dimensionName:e.name,values:[e.values?.[0]??e.extent?.[0]],isSlice:!0})),r=(0,C.NG)(a,t),o=null==r?null:e[r];if(null==o)continue;const l=this.rasterJobHandler?await this.rasterJobHandler.computeStatisticsHistograms({pixelBlock:o},s):(0,T.eH)(o);n.statistics=l.statistics,n.histograms||(n.histograms=l.histograms)}}};(0,n.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],R.prototype,"datasetFormat",void 0),(0,n.Cg)([(0,a.MZ)()],R.prototype,"source",void 0),(0,n.Cg)([(0,a.MZ)()],R.prototype,"url",null),R=(0,n.Cg)([(0,a.$K)("esri.layers.raster.datasets.InMemoryRaster")],R);const M=R;var O=s(22671);let k=class extends r.A{constructor(){super(...arguments),this.datasetFormat="CovJSON"}fetchRawTile(e,t,s,i={}){return this._inMemoryRaster.fetchRawTile(e,t,s,i)}async _open(e){const{extent:t,pixelBlocks:s,multidimensionalInfo:i,attributeTable:n,bandNames:a}=await this._fetchData(e),{statistics:r,histograms:o}=(0,T.eH)(s[0]),l=a?.map(e=>({BandName:e})),f={DataType:n?"Thematic":i?"Scientific":"Generic",BandProperties:l},c=new M({source:{extent:t,pixelBlocks:s,attributeTable:n?O.A.fromJSON(n):null,multidimensionalInfo:i,statistics:r,histograms:o,keyProperties:f,isPseudoSpatialReference:!1}});await c.open(),this._inMemoryRaster=c;const u=this.source?"":this.url.slice(this.url.lastIndexOf("/")+1);this._set("datasetName",u.slice(0,u.indexOf("."))),this._set("rasterInfo",c.rasterInfo)}async _fetchData(e){const t=this.source??(await this.request(this.url,{signal:e?.signal})).data,s="imagery-tile-layer:open-coverage-json";if("coverage"!==t.type?.toLowerCase()||"grid"!==t.domain?.domainType?.toLowerCase())throw new i.A(s,"Only coverage with Grid domain type is supported");if(!t.ranges)throw new i.A(s,"Missing ranges in the grid coverage data");if(!t.domain.referencing?.length)throw new i.A(s,"Missing domain referencing in the grid coverage data");const n=Object.values(t.ranges);for(let e=0;e<n.length;e++){const{axisNames:t,shape:a,type:r,values:o}=n[e];if(!("ndarray"===r.toLowerCase()&&o?.length&&t?.length&&a?.length))throw new i.A(s,"Only ranges with valid NdArray, axisNames, shape, and inline values are supported");if(!p(t[t.length-1])||!d(t[t.length-2]))throw new i.A(s,"Only row-major ordered pixel values are supported. X axis must be the last axis.")}return function(e){const{width:t,height:s,extent:i,dimensions:n}=m(e),{ranges:a}=e,r=Object.keys(a).sort((e,t)=>e<t?-1:1),o=[];for(let e=0;e<r.length;e++){const t=r[e];n?.length&&o.push({name:t,dimensions:n})}const l=x(e);o.forEach(e=>l[e.name]&&Object.assign(e,l[e.name]));const f=o.length?{variables:o}:void 0,c=[];for(let e=0;e<r.length;e++){const i=r[e],{values:o,dataType:l,axisNames:f,shape:u}=a[i],p=u.length>2?e*u.slice(0,-2).reduce((e,t)=>e*t):0,d=f.slice(0,-2),m=u.slice(0,-2),g="float"===l?"f32":w(o),y=t*s,x=o.length/y;for(let i=0;i<x;i++){const a=h.A.createEmptyBand(g,y),r=new Uint8Array(y).fill(255);let l=!1;const f=i*y;for(let e=0;e<y;e++){const t=o[f+e];null==t?(r[e]=0,l=!0):a[e]=t}if(0===e||n?.length){const e=new h.A({width:t,height:s,mask:l?r:null,pixels:[a],pixelType:g});e.updateStatistics(),n?.length?c[I(d,m,i)+p]=e:c.push(e)}else{const e=c[i];e.pixels.push(a),l?e.mask&&(e.mask=h.A.combineBandMasks([e.mask,r])):e.mask=l?r:null}}}const u=Object.values(l).find(e=>e.attributeTable)?.attributeTable;return{extent:i,pixelBlocks:c,multidimensionalInfo:f,attributeTable:u,bandNames:f?void 0:r}}(t)}};(0,n.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],k.prototype,"datasetFormat",void 0),(0,n.Cg)([(0,a.MZ)({constructOnly:!0})],k.prototype,"source",void 0),k=(0,n.Cg)([(0,a.$K)("esri.layers.raster.datasets.CovJSONRaster")],k);const _=k;var F=s(44208),P=s(4576),B=s(21325),N=s(330),D=s(43163);function E(e,t){if(!e||!t)return null;const s=[];for(let i=0;i<e.length;i++)s.push(e[i]),s.push(t[i]);return s}function L(e){if(!e)return null;let t=Number(e);if(!isNaN(t)&&0!==t)return new f.A({wkid:t});if(e=String(e).trim(),(0,B.jp)(e))return new f.A({wkt2:e});const s=e.toUpperCase();if(s.startsWith("COMPD_CS")){if(!s.includes("VERTCS")||!s.includes("GEOGCS")&&!s.startsWith("PROJCS"))return null;const i=s.indexOf("VERTCS"),n=s.indexOf("PROJCS"),a=n>-1?n:s.indexOf("GEOGCS");if(-1===a)return null;const r=e.slice(a,e.lastIndexOf("]",i)+1).trim(),o=e.slice(i,e.lastIndexOf("]")).trim();t=z(r);const l=new f.A(t?{wkid:t}:{wkt:r}),c=z(o);return c&&(l.vcsWkid=c),l}return s.startsWith("GEOGCS")||s.startsWith("PROJCS")?(t=z(e),new f.A(0!==t?{wkid:t}:{wkt:e})):null}function z(e){const t=e.replaceAll("]","[").replaceAll('"',"").split("[").map(e=>e.trim()).filter(e=>""!==e),s=t[t.length-1].split(","),i=s[0]?.toLowerCase();if(("epsg"===i||"esri"===i)&&e.endsWith('"]]')){const e=Number(s[1]);if(!isNaN(e)&&0!==e)return e}return 0}function U(e){if("pamdataset"!==e?.documentElement.tagName?.toLowerCase())return{};const t={spatialReference:null,transform:null,metadata:{},rasterBands:[],statistics:null,histograms:null};e.documentElement.childNodes.forEach(e=>{if(1===e.nodeType)if((0,N.g7)(e,"SRS")){if(!t.spatialReference){const s=(0,N.mX)(e);t.spatialReference=L(s)}}else if((0,N.g7)(e,"Metadata"))if("xml:ESRI"===e.getAttribute("domain")){const{spatialReference:s,transform:i}=function(e){const t=(0,N.V6)(e,"GeodataXform"),s=L((0,N.v7)(t,"SpatialReference/WKID")||(0,N.mX)(t,"SpatialReference/WKT"));if("typens:PolynomialXform"!==t.getAttribute("xsi:type"))return{spatialReference:s,transform:null};const i=(0,N.v7)(t,"PolynomialOrder")??1,n=(0,N.Ui)(t,"CoeffX/Double"),a=(0,N.Ui)(t,"CoeffY/Double"),r=(0,N.Ui)(t,"InverseCoeffX/Double"),o=(0,N.Ui)(t,"InverseCoeffY/Double"),l=E(n,a),f=E(r,o);return{spatialReference:s,transform:l&&f&&l.length&&f.length?new D.A({spatialReference:s,polynomialOrder:i,forwardCoefficients:l,inverseCoefficients:f}):null}}(e);t.transform=i,t.spatialReference||(t.spatialReference=s)}else(0,N.IC)(e,"MDI").forEach(e=>t.metadata[e.getAttribute("key")]=(0,N.mX)(e));else if((0,N.g7)(e,"PAMRasterBand")){const s=function(e){const t=(0,N.v7)(e,"NoDataValue"),s=(0,N.V6)(e,"Histograms/HistItem"),i=(0,N.v7)(s,"HistMin"),n=(0,N.v7)(s,"HistMax"),a=(0,N.v7)(s,"BucketCount"),r=(0,N.mX)(s,"HistCounts")?.split("|").map(e=>Number(e));let o,l,f,c;(0,N.IC)(e,"Metadata/MDI").forEach(e=>{const t=Number(e.textContent??e.nodeValue);switch(e.getAttribute("key").toUpperCase()){case"STATISTICS_MINIMUM":o=t;break;case"STATISTICS_MAXIMUM":l=t;break;case"STATISTICS_MEAN":f=t;break;case"STATISTICS_STDDEV":c=t}});const u=(0,N.v7)(e,"Metadata/SourceBandIndex");return{noDataValue:t,histogram:r?.length&&null!=i&&null!=n?{min:i,max:n,size:a||r.length,counts:r}:null,sourceBandIndex:u,statistics:null!=o&&null!=l?{min:o,max:l,avg:f,stddev:c}:null}}(e);null!=s.sourceBandIndex&&null==t.rasterBands[s.sourceBandIndex]?t.rasterBands[s.sourceBandIndex]=s:t.rasterBands.push(s)}});const s=t.rasterBands;if(s.length){const e=!!s[0].statistics;t.statistics=e?s.map(e=>e.statistics).filter(P.Ru):null;const i=!!s[0].histogram;t.histograms=i?s.map(e=>e.histogram).filter(P.Ru):null}return t}var J=s(20758);let H=class extends r.A{fetchRawTile(e,t,s,i={}){return this._inMemoryRaster.fetchRawTile(e,t,s,i)}async _open(e){const t=await this._fetchData(e);let{spatialReference:s,statistics:i,histograms:n,transform:a}=await this._fetchAuxiliaryData(e);const r=!s;r&&(s=new f.A({wkid:3857})),n?.length&&null==i&&(i=(0,T.Pg)(n));const{width:o,height:c}=t;let u=new l.A({xmin:-.5,ymin:.5-c,xmax:o-.5,ymax:.5,spatialReference:s});const h=a?a.forwardTransform(u):u;let p=!0;if(a){const e=a.forwardCoefficients;p=e&&0===e[1]&&0===e[2],p&&(a=null,u=h)}const d=new M({source:{extent:h,nativeExtent:u,transform:a,pixelBlocks:[t],statistics:i,histograms:n,keyProperties:{DateType:"Processed"},isPseudoSpatialReference:r},ioConfig:{sampling:"closest",skipStatistics:!0}});this.ioConfig.skipMapInfo&&(d.ioConfig.skipMapInfo=!0),await d.open(),d.source=null,this._set("rasterInfo",d.rasterInfo),this._inMemoryRaster=d}async _fetchData(e){const{data:t}=await this.request(this.url,{responseType:"array-buffer",signal:e?.signal}),s=(0,J.g)(t).toUpperCase();if("JPG"!==s&&"PNG"!==s&&"GIF"!==s&&"BMP"!==s)throw new i.A("image-aux-raster:open","the data is not a supported format");this._set("datasetFormat",s);const n=s.toLowerCase(),a="gif"===n||"bmp"===n||!(0,F.A)("ios"),r=await this.decodePixelBlock(t,{format:n,useCanvas:a,hasNoZlibMask:!0});if(null==r)throw new i.A("image-aux-raster:open","the data cannot be decoded");return r}async _fetchAuxiliaryData(e){const t=e?.signal,{skipExtensions:s=[],skipMapInfo:i}=this.ioConfig,n=i||s.includes("aux.xml")?null:this.request(this.url+".aux.xml",{responseType:"xml",signal:t}),a=this.datasetFormat,r="JPG"===a?"jgw":"PNG"===a?"pgw":"BMP"===a?"bpw":null,o=r&&s.includes(r)?null:this.request(this.url.slice(0,this.url.lastIndexOf("."))+"."+r,{responseType:"text",signal:t}),l=await(0,v.Lx)([n,o]);if(t?.aborted)throw(0,v.NK)();const f=U(l[0].value?.data);if(!f.transform){const e=l[1].value?l[1].value.data.split("\n").slice(0,6).map(e=>Number(e)):null;f.transform=6===e?.length?new D.A({forwardCoefficients:[e[4],e[5],e[0],-e[1],e[2],-e[3]]}):null}return f}};(0,n.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],H.prototype,"datasetFormat",void 0),H=(0,n.Cg)([(0,a.$K)("esri.layers.raster.datasets.ImageAuxRaster")],H);const G=H;var q=s(97768),j=s(84952),V=s(86738),W=s(75414),X=s(20223),Z=s(87045),$=s(25943),Y=s(82371);let K=class extends r.A{constructor(){super(...arguments),this._levelOffset=0,this._tilemapCache=null,this._slices=null,this.datasetFormat="RasterTileServer",this.tileType=null}async fetchRawTile(e,t,s,i={}){const{storageInfo:n,extent:a}=this.rasterInfo,{transposeInfo:r}=n,o=null!=r&&!!i.transposedVariableName;if(this._slices&&!o&&null==i.sliceId)return null;const l=o?0:n.maximumPyramidLevel-e+this._levelOffset,f=`${this.url}/tile/${l}/${t}/${s}`,c={...this._slices?o?{variable:i.transposedVariableName}:{sliceId:i.sliceId||0}:null,...i.refreshParameters};let u,h;if(n.isBsqTile){const e=(i.bandIds?.length?i.bandIds:[0,1,2]).map(e=>this.request(f,{query:{...c,bandId:e},responseType:"array-buffer",signal:i.signal})),t=await Promise.all(e),s=t.map(e=>e.data.byteLength).reduce((e,t)=>e+t),n=new Uint8Array(s);h=[];let a=0;for(const{data:e}of t)h.push(a),n.set(new Uint8Array(e),a),a+=e.byteLength;u=n.buffer}else u=(await this.request(f,{query:c,responseType:"array-buffer",signal:i.signal})).data;if(!u)return null;const p=o?r.tileSize:n.tileInfo.size,d=await this.decodePixelBlock(u,{width:p[0],height:p[1],planes:h?.length,offsets:h,pixelType:null,isPoint:"Elevation"===this.tileType,returnInterleaved:o,noDataValue:this.rasterInfo.noDataValue});if(null==d)return null;const m=n.blockBoundary[e];if("jpg"!==n.compression||s>m.minCol&&s<m.maxCol&&t>m.minRow&&t<m.maxRow)return d;const{origin:g,blockWidth:y,blockHeight:x}=n,{x:w,y:I}=this.getPyramidPixelSize(e),v=Math.round((a.xmin-g.x)/w)%y,C=Math.round((a.xmax-g.x)/w)%y||y,T=Math.round((g.y-a.ymax)/I)%x,S=Math.round((g.y-a.ymin)/I)%x||x,A=s===m.minCol?v:0,R=t===m.minRow?T:0,M=s===m.maxCol?C:y,O=t===m.maxRow?S:x;return(0,b.z$)(d,{x:A,y:R},{width:M-A,height:O-R}),d}getSliceIndex(e){if(!this._slices||null==e||0===e.length)return null;const t=e;for(let e=0;e<this._slices.length;e++){const s=this._slices[e].multidimensionalDefinition;if(s.length===t.length&&!s.some(e=>{const s=t.find(t=>e.variableName===t.variableName&&t.dimensionName===e.dimensionName);return!s||(Array.isArray(e.values[0])?`${e.values[0][0]}-${e.values[0][1]}`:e.values[0])!==(Array.isArray(s.values[0])?`${s.values[0][0]}-${s.values[0][1]}`:s.values[0])}))return e}return null}async fetchVariableStatisticsHistograms(e,t){const s=this.request(this.url+"/statistics",{query:{variable:e,f:"json"},signal:t}).then(e=>e.data?.statistics),i=this.request(this.url+"/histograms",{query:{variable:e,f:"json"},signal:t}).then(e=>e.data?.histograms),n=await Promise.all([s,i]);return n[0]&&n[0].forEach(e=>{e.avg=e.mean,e.stddev=e.standardDeviation}),n[1]?.[0]?.counts?.length||(n[1]=null),{statistics:n[0]||null,histograms:n[1]||null}}async computeBestPyramidLevelForLocation(e,t={}){if(!this._tilemapCache)return 0;let s=this.identifyPixelLocation(e,0,t.datumTransformation);if(null===s)return null;let i=0;const{maximumPyramidLevel:n}=this.rasterInfo.storageInfo;let a=n-i+this._levelOffset;const r=s.srcLocation;for(;a>=0;){try{if("available"===await this._tilemapCache.fetchAvailability(a,s.row,s.col,t))break}catch{}if(a--,i++,s=this.identifyPixelLocation(r,i,t.datumTransformation),null===s)return null}return-1===a||null==s?null:i}async _open(e){const t=e?.signal,s=this.sourceJSON?{data:this.sourceJSON}:await this.request(this.url,{query:{f:"json"},signal:t});s.ssl&&(this.url=this.url.replace(/^http:/i,"https:"));const n=s.data;if(this.sourceJSON=n,!n)throw new i.A("imageserverraster:open","cannot initialize tiled image service, missing service info");if(!n.tileInfo)throw new i.A("imageserverraster:open","use ImageryLayer to open non-tiled image services");this._fixScaleInServiceInfo(),this.tileType=n.cacheType,null==this.tileType&&(["jpg","jpeg","png","png8","png24","png32","mixed"].includes(n.tileInfo.format.toLowerCase())?this.tileType="Map":"lerc"===n.tileInfo.format.toLowerCase()?this.tileType="Elevation":this.tileType="Raster"),this.datasetName=n.name?.slice(n.name.indexOf("/")+1)??"";const a=await this._fetchRasterInfo({signal:t});if(null==a)throw new i.A("image-server-raster:open","cannot initialize image service");(0,Y.E9)(a,n);const r="Map"===this.tileType?function(e,t){if(!e)return null;const{minScale:s,maxScale:i,minLOD:n,maxLOD:a}=t;if(null!=n&&null!=a)return Z.A.fromJSON({...e,lods:e.lods.filter(({level:e})=>null!=e&&e>=n&&e<=a)});if(0!==s&&0!==i){const t=e=>Math.round(1e4*e)/1e4,n=s?t(s):1/0,a=i?t(i):-1/0;return Z.A.fromJSON({...e,lods:e.lods.filter(e=>{const s=t(e.scale);return s<=n&&s>=a})})}return Z.A.fromJSON(e)}(n.tileInfo,n):Z.A.fromJSON(n.tileInfo);(0,q.Lw)(r);const[o,l]=this._computeMinMaxLOD(a,r),{extent:f,pixelSize:c}=a,u=.001*Math.min(c.x,c.y);(c.x!==c.y||Math.abs(o.resolution-c.x)>u)&&(c.x=c.y=o.resolution,a.width=Math.ceil((f.xmax-f.xmin)/c.x-.1),a.height=Math.ceil((f.ymax-f.ymin)/c.y-.1));const h=o.level-l.level,[p,d]=r.size,m=[],g=[],{lods:y}=r;y.forEach((e,t)=>{e.level>=l.level&&e.level<=o.level&&m.push({x:e.resolution,y:e.resolution}),t<y.length-1&&g.push(Math.round(10*e.resolution/y[t+1].resolution)/10)}),m.sort((e,t)=>e.x-t.x);const x=this.computeBlockBoundary(f,p,d,r.origin,m,h),w=m.length>1?m.slice(1):null;let I;n.transposeInfo&&(I={tileSize:[n.transposeInfo.rows,n.transposeInfo.cols],packetSize:a.keyProperties?._yxs.PacketSize??0});const v=g.length<=1||g.length>=3&&g.slice(0,-1).every(e=>e===g[0])?g[0]??2:Math.round(10/(l.resolution/o.resolution)**(-1/h))/10,C=!!n.bsq&&"Raster"===this.tileType;if(a.storageInfo=new X.A({blockWidth:r.size[0],blockHeight:r.size[1],pyramidBlockWidth:r.size[0],pyramidBlockHeight:r.size[1],pyramidResolutions:w,pyramidScalingFactor:v,compression:r.format,origin:r.origin,firstPyramidLevel:1,maximumPyramidLevel:h,tileInfo:r,isBsqTile:C,transposeInfo:I,blockBoundary:x}),function(e){const{extent:t,spatialReference:s}=e;t.xmin>-1&&t.xmax>181&&s?.wkid&&s.isGeographic&&(e.nativeExtent=e.extent,e.transform=new W.A,e.extent=e.transform.forwardTransform(t))}(a),this._set("rasterInfo",a),n.capabilities.toLowerCase().includes("tilemap")){const e={tileInfo:a.storageInfo.tileInfo,parsedUrl:(0,j.An)(this.url),url:this.url,tileServers:[]};this._tilemapCache=new $.d({layer:e})}}async _fetchRasterInfo(e){const t=this.sourceJSON;if("Map"===this.tileType){const e=t.fullExtent||t.extent,s=Math.ceil((e.xmax-e.xmin)/t.pixelSizeX-.1),i=Math.ceil((e.ymax-e.ymin)/t.pixelSizeY-.1),n=f.A.fromJSON(t.spatialReference||e.spatialReference),a=new V.A({x:t.pixelSizeX,y:t.pixelSizeY,spatialReference:n});return new A.A({width:s,height:i,bandCount:3,extent:l.A.fromJSON(e),spatialReference:n,pixelSize:a,pixelType:"u8",statistics:null,keyProperties:{DataType:"processed"}})}const s={...e,query:{...this.ioConfig.customFetchParameters,f:"json"}},i=(0,Y.Tw)(this.url,this.sourceJSON,s),n=t.hasMultidimensions?this.request(`${this.url}/slices`,s).then(e=>e.data?.slices).catch(()=>null):null,a=await Promise.all([i,n]);return this._slices=a[1],a[0]}_fixScaleInServiceInfo(){const{sourceJSON:e}=this;e.minScale&&e.minScale<0&&(e.minScale=0),e.maxScale&&e.maxScale<0&&(e.maxScale=0)}_computeMinMaxLOD(e,t){const{pixelSize:s}=e,i=.5/e.width*s.x,{lods:n}=t,a=t.lodAt(Math.max.apply(null,n.map(e=>e.level))),r=t.lodAt(Math.min.apply(null,n.map(e=>e.level))),{tileType:o}=this;if("Map"===o)return this._levelOffset=n[0].level,[a,r];if("Raster"===o)return[n.find(e=>e.resolution===s.x)??a,r];const{minScale:l,maxScale:f}=this.sourceJSON;let c=a;f>0&&(c=n.find(e=>Math.abs(e.scale-f)<i),c||(c=n.filter(e=>e.scale>f).sort((e,t)=>e.scale>t.scale?1:-1)[0]??a));let u=r;return l>0&&(u=n.find(e=>Math.abs(e.scale-l)<i)??r,this._levelOffset=u.level-r.level),[c,u]}};(0,n.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],K.prototype,"datasetFormat",void 0),(0,n.Cg)([(0,a.MZ)()],K.prototype,"tileType",void 0),K=(0,n.Cg)([(0,a.$K)("esri.layers.raster.datasets.ImageServerRaster")],K);const Q=K;var ee=s(10713);const te=new Map;te.set("Byte","u8"),te.set("Int8","s8"),te.set("UInt8","u8"),te.set("Int16","s16"),te.set("UInt16","u16"),te.set("Int32","s32"),te.set("UInt32","u32"),te.set("Float32","f32"),te.set("Float64","f32"),te.set("Double64","f32");const se=new Map;se.set("none",{blobExtension:".til",isOneSegment:!0,decoderFormat:"bip"}),se.set("lerc",{blobExtension:".lrc",isOneSegment:!1,decoderFormat:"lerc"}),se.set("deflate",{blobExtension:".pzp",isOneSegment:!0,decoderFormat:"deflate"}),se.set("jpeg",{blobExtension:".pjg",isOneSegment:!0,decoderFormat:"jpg"}),se.set("qb3",{blobExtension:".pq3",isOneSegment:!0,decoderFormat:"qb3"});let ie=class extends r.A{constructor(){super(...arguments),this._files=null,this._storageIndex=null,this.datasetFormat="MRF"}async fetchRawTile(e,t,s,i={}){const{blockWidth:n,blockHeight:a,blockBoundary:r}=this.rasterInfo.storageInfo,o=r[e];if(!o||o.maxRow<t||o.maxCol<s||o.minRow>t||o.minCol>s)return null;const{bandCount:l,pixelType:f}=this.rasterInfo,{ranges:c,actualTileWidth:u,actualTileHeight:p}=this._getTileLocation(e,t,s);if(!c||0===c.length)return null;if(c.some(e=>e.from>e.to)){const e=new Uint8Array(n*a);return new h.A({width:n,height:a,pixels:void 0,mask:e,validPixelCount:0})}const{bandIds:d}=this.ioConfig,m=this._getBandSegmentCount(),g=[];let y=0;for(y=0;y<m;y++)d&&!d.includes(y)||g.push(this.request(this._files.data,{range:{from:c[y].from,to:c[y].to},responseType:"array-buffer",signal:i.signal}));const x=await Promise.all(g),w=x.map(e=>e.data.byteLength).reduce((e,t)=>e+t),I=new Uint8Array(w),v=[];let C=0;for(y=0;y<m;y++)v.push(C),I.set(new Uint8Array(x[y].data),C),C+=x[y].data.byteLength;const b=se.get(this.rasterInfo.storageInfo.compression).decoderFormat,T=await this.decodePixelBlock(I.buffer,{width:n,height:a,format:b,planes:d?.length||l,offsets:v,pixelType:f}).catch(()=>null);if(null==T)return null;let{noDataValue:S}=this.rasterInfo;if(null!=S&&"lerc"!==b&&!T.mask&&(S=S[0],null!=S)){const e=T.width*T.height,t=new Uint8Array(e);if(Math.abs(S)>1e24)for(y=0;y<e;y++)Math.abs((T.pixels[0][y]-S)/S)>1e-6&&(t[y]=1);else for(y=0;y<e;y++)T.pixels[0][y]!==S&&(t[y]=1);T.mask=t}let A=0,R=0;if(u!==n||p!==a){let e=T.mask;if(e)for(y=0;y<a;y++)if(R=y*n,y<p)for(A=u;A<n;A++)e[R+A]=0;else for(A=0;A<n;A++)e[R+A]=0;else for(e=new Uint8Array(n*a),T.mask=e,y=0;y<p;y++)for(R=y*n,A=0;A<u;A++)e[R+A]=1}return T}async _open(e){this.datasetName=this.url.slice(this.url.lastIndexOf("/")+1);const t=e?e.signal:null,s=await this.request(this.url,{responseType:"xml",signal:t}),{rasterInfo:i,files:n}=this._parseHeader(s.data),{skipMapInfo:a,skipExtensions:r=[]}=this.ioConfig;if(!r.includes("aux.xml")&&!a){const t=await this._fetchAuxiliaryData(e);null!=t&&(i.statistics=t.statistics??i.statistics,i.histograms=t.histograms,t.histograms&&null==i.statistics&&(i.statistics=(0,T.Pg)(t.histograms)))}a&&this.updateImageSpaceRasterInfo(i),this._set("rasterInfo",i),this._files=n;const o=await this.request(n.index,{responseType:"array-buffer",signal:t});this._storageIndex=function(e){if(e.byteLength%16>0)throw new Error("invalid array buffer must be multiples of 16");let t,s,i,n,a,r;if(ee.Z){for(s=new Uint8Array(e),n=new ArrayBuffer(e.byteLength),i=new Uint8Array(n),a=0;a<e.byteLength/4;a++)for(r=0;r<4;r++)i[4*a+r]=s[4*a+3-r];t=new Uint32Array(n)}else t=new Uint32Array(e);return t}(o.data);const{blockWidth:l,blockHeight:f}=this.rasterInfo.storageInfo,c=this.rasterInfo.storageInfo.pyramidScalingFactor,{width:u,height:h}=this.rasterInfo,p=[],d=this._getBandSegmentCount();let m=0,g=-1;for(;m<this._storageIndex.length;){g++;const e=Math.ceil(u/l/c**g)-1,t=Math.ceil(h/f/c**g)-1;m+=(e+1)*(t+1)*d*4,p.push({maxRow:t,maxCol:e,minCol:0,minRow:0})}this.rasterInfo.storageInfo.blockBoundary=p,g>0&&(this.rasterInfo.storageInfo.firstPyramidLevel=1,this.rasterInfo.storageInfo.maximumPyramidLevel=g),this.updateTileInfo()}_getBandSegmentCount(){return se.get(this.rasterInfo.storageInfo.compression).isOneSegment?1:this.rasterInfo.bandCount}_getTileLocation(e,t,s){const{blockWidth:i,blockHeight:n,pyramidScalingFactor:a}=this.rasterInfo.storageInfo,{width:r,height:o}=this.rasterInfo,l=this._getBandSegmentCount();let f,c,u,h=0,p=0;for(u=0;u<e;u++)p=a**u,f=Math.ceil(r/i/p),c=Math.ceil(o/n/p),h+=f*c;p=a**e,f=Math.ceil(r/i/p),c=Math.ceil(o/n/p),h+=t*f+s,h*=4*l;const d=this._storageIndex.subarray(h,h+4*l);let m=0,g=0;const y=[];for(let e=0;e<l;e++)m=d[4*e]*2**32+d[4*e+1],g=m+d[4*e+2]*2**32+d[4*e+3]-1,y.push({from:m,to:g});return{ranges:y,actualTileWidth:s<f-1?i:Math.ceil(r/p)-i*(f-1),actualTileHeight:t<c-1?n:Math.ceil(o/p)-n*(c-1)}}_parseHeader(e){const t=(0,N.V6)(e,"MRF_META/Raster");if(!t)throw new i.A("mrf:open","not a valid MRF format");const s=(0,N.V6)(t,"Size"),n=parseInt(s.getAttribute("x"),10),a=parseInt(s.getAttribute("y"),10),r=parseInt(s.getAttribute("c"),10),o=((0,N.mX)(t,"Compression")||"none").toLowerCase();if(!se.has(o))throw new i.A("mrf:open","currently does not support compression "+o);const c=(0,N.mX)(t,"DataType")||"UInt8",u=te.get(c);if(null==u)throw new i.A("mrf:open","currently does not support pixel type "+c);const h=(0,N.V6)(t,"PageSize"),p=parseInt(h.getAttribute("x"),10),d=parseInt(h.getAttribute("y"),10),m=(0,N.V6)(t,"DataValues");let g,y;if(m&&(y=m.getAttribute("NoData"),null!=y&&(g=y.trim().split(" ").map(e=>parseFloat(e)))),(0,N.V6)(e,"MRF_META/CachedSource"))throw new i.A("mrf:open","currently does not support MRF referencing other data files");const x=(0,N.V6)(e,"MRF_META/GeoTags"),w=(0,N.V6)(x,"BoundingBox");let I,v=!1;if(null!=w){const e=parseFloat(w.getAttribute("minx")),t=parseFloat(w.getAttribute("miny")),s=parseFloat(w.getAttribute("maxx")),i=parseFloat(w.getAttribute("maxy")),n=(0,N.mX)(x,"Projection")||"";let a=f.A.WGS84;if("LOCAL_CS[]"!==n)if(n.toLowerCase().startsWith("epsg:")){const e=Number(n.slice(5));isNaN(e)||0===e||(a=new f.A({wkid:e}))}else a=L(n)??f.A.WGS84;else v=!0,a=new f.A({wkid:3857});I=new l.A(e,t,s,i),I.spatialReference=a}else v=!0,I=new l.A({xmin:-.5,ymin:.5-a,xmax:n-.5,ymax:.5,spatialReference:new f.A({wkid:3857})});const C=(0,N.V6)(e,"MRF_META/Rsets"),b=parseInt(C?.getAttribute("scale")||"2",10),T=I.spatialReference,S=new X.A({origin:new V.A({x:I.xmin,y:I.ymax,spatialReference:T}),blockWidth:p,blockHeight:d,pyramidBlockWidth:p,pyramidBlockHeight:d,compression:o,pyramidScalingFactor:b}),R=new V.A({x:I.width/n,y:I.height/a,spatialReference:T}),M=new A.A({width:n,height:a,extent:I,isPseudoSpatialReference:v,spatialReference:T,bandCount:r,pixelType:u,pixelSize:R,noDataValue:g,storageInfo:S}),O=(0,N.mX)(e,"datafile"),k=(0,N.mX)(e,"IndexFile");return{rasterInfo:M,files:{mrf:this.url,index:k||this.url.replace(".mrf",".idx"),data:O||this.url.replace(".mrf",se.get(o).blobExtension)}}}async _fetchAuxiliaryData(e){try{const{data:t}=await this.request(this.url+".aux.xml",{responseType:"xml",signal:e?.signal});return U(t)}catch{return null}}};(0,n.Cg)([(0,a.MZ)()],ie.prototype,"_files",void 0),(0,n.Cg)([(0,a.MZ)()],ie.prototype,"_storageIndex",void 0),(0,n.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],ie.prototype,"datasetFormat",void 0),ie=(0,n.Cg)([(0,a.$K)("esri.layers.raster.datasets.MRFRaster")],ie);const ne=ie;var ae=s(53966),re=s(9334);function oe(e){const t=e.fields,s=e.records,i=t.some(e=>"oid"===e.name.toLowerCase())?"OBJECTID":"OID",n=[{name:i,type:"esriFieldTypeOID",alias:"OID"}].concat(t.map(e=>({name:e.name,type:"esriFieldType"+e.typeName,alias:e.name}))),a=n.map(e=>e.name),r=[];let o=0,l=0;return s.forEach(e=>{const t={};for(t[i]=o++,l=1;l<a.length;l++)t[a[l]]=e[l-1];r.push({attributes:t})}),{displayFieldName:"",fields:n,features:r}}class le{static get supportedVersions(){return[5]}static parse(e){const t=new DataView(e),s=3&t.getUint8(0);if(3!==s)return{header:{version:s},recordSet:null};const i=t.getUint32(4,!0),n=t.getUint16(8,!0),a=t.getUint16(10,!0),r={version:s,recordCount:i,headerByteCount:n,recordByteCount:a};let o=32;const l=[],f=[];let c;if(3===s){for(;13!==t.getUint8(o);)c=String.fromCharCode(t.getUint8(o+11)).trim(),l.push({name:(0,re.w)(new Uint8Array(e,o,11)),type:c,typeName:["String","Date","Double","Boolean","String","Integer"][["C","D","F","L","M","N"].indexOf(c)],length:t.getUint8(o+16)}),o+=32;if(o+=1,l.length>0)for(;f.length<i&&e.byteLength-o>a;){const s=[];32===t.getUint8(o)?(o+=1,l.forEach(t=>{if("C"===t.type)s.push((0,re.w)(new Uint8Array(e,o,t.length)).trim());else if("N"===t.type)s.push(parseInt(String.fromCharCode.apply(null,new Uint8Array(e,o,t.length)).trim(),10));else if("F"===t.type)s.push(parseFloat(String.fromCharCode.apply(null,new Uint8Array(e,o,t.length)).trim()));else if("D"===t.type){const i=String.fromCharCode.apply(null,new Uint8Array(e,o,t.length)).trim();s.push(new Date(parseInt(i.slice(0,4),10),parseInt(i.slice(4,6),10)-1,parseInt(i.slice(6,8),10)))}o+=t.length}),f.push(s)):o+=a}}return{header:r,fields:l,records:f,recordSet:oe({fields:l,records:f})}}}var fe=s(87877),ce=s(94213);const ue=(e,t)=>e.get(t)?.values,he=(e,t)=>e.get(t)?.values?.[0];let pe=class extends r.A{constructor(){super(...arguments),this._files=null,this._headerInfo=null,this._bufferSize=1048576,this._chunkSize=10485760,this.datasetFormat="TIFF"}async fetchRawTile(e,t,s,i={}){if(!this._headerInfo?.isSupported||this.isBlockOutside(e,t,s))return null;const n=await this._fetchRawTiffTile(e,t,s,!1,i);if(null!=n&&this._headerInfo.hasMaskBand){const a=await this._fetchRawTiffTile(e,t,s,!0,i);null!=a&&a.pixels[0]instanceof Uint8Array&&(n.mask=a.pixels[0])}return n}async _open(e){const t=e?e.signal:null,{data:s}=await this.request(this.url,{range:{from:0,to:this._bufferSize},responseType:"array-buffer",signal:t});if(!s)throw new i.A("tiffraster:open","failed to open url "+this.url);this.datasetName=this.url.slice(this.url.lastIndexOf("/")+1,this.url.lastIndexOf("."));const{littleEndian:n,firstIFDPos:a,isBigTiff:r}=(0,fe.uT)(s),o=[],c={fileChunk:s,posIFD:a,fileOffset:0};await this._readIFDs(o,c,n,r?8:4,t);const{imageInfo:u,rasterInfo:h}=function(e){const t=(0,fe.uc)(e),{width:s,height:i,tileWidth:n,tileHeight:a,planes:r,pixelType:o,compression:c,firstPyramidLevel:u,maximumPyramidLevel:h,pyramidBlockWidth:p,pyramidBlockHeight:d,pyramidResolutions:m,tileBoundary:g,affine:y,metadata:x}=t;let w=L(t.extent.spatialReference?.wkt||t.extent.spatialReference?.wkid),I=!!t.isPseudoGeographic;null==w&&(I=!0,w=new f.A({wkid:3857}));const v=new l.A({...t.extent,spatialReference:w}),C=new V.A(v?{x:v.xmin,y:v.ymax,spatialReference:w}:{x:0,y:0}),b=new X.A({blockWidth:n,blockHeight:a,pyramidBlockWidth:p,pyramidBlockHeight:d,compression:c,origin:C,firstPyramidLevel:u,maximumPyramidLevel:h,pyramidResolutions:m,blockBoundary:g}),T=new V.A({x:(v.xmax-v.xmin)/s,y:(v.ymax-v.ymin)/i,spatialReference:w}),S=x?{BandProperties:x.bandProperties,DataType:x.dataType}:{};let R=null;const M=he(e[0],"PHOTOMETRICINTERPRETATION"),O=ue(e[0],"COLORMAP");if(M<=3&&O?.length>3&&O.length%3==0){R=[];const e=O.length/3;for(let t=0;t<e;t++)R.push([t,O[t]>>>8,O[t+e]>>>8,O[t+2*e]>>>8])}const k=new A.A({width:s,height:i,bandCount:r,pixelType:o,pixelSize:T,storageInfo:b,spatialReference:w,isPseudoSpatialReference:I,keyProperties:S,extent:v,colormap:R,statistics:x?x.statistics:null});if(y?.length&&(k.nativeExtent=new l.A({xmin:-.5,ymin:.5-i,xmax:s-.5,ymax:.5,spatialReference:w}),k.transform=new D.A({polynomialOrder:1,forwardCoefficients:[y[2]+y[0]/2,y[5]-y[3]/2,y[0],y[3],-y[1],-y[4]]}),k.extent=k.transform.forwardTransform(k.nativeExtent),k.pixelSize=new V.A({x:(v.xmax-v.xmin)/s,y:(v.ymax-v.ymin)/i,spatialReference:w}),b.origin.x=-.5,b.origin.y=.5),m){const{x:e,y:t}=k.pixelSize;m.forEach(s=>{s.x*=e,s.y*=t})}return{imageInfo:t,rasterInfo:k}}(o),p=(0,fe.zS)(o),d=(0,fe.r9)(o);if(this._headerInfo={littleEndian:n,isBigTiff:r,ifds:o,pyramidIFDs:p,maskIFDs:d,...u},this._set("rasterInfo",h),!u.isSupported)throw new i.A("tiffraster:open","this tiff is not supported: "+u.message);if(!u.tileWidth)throw new i.A("tiffraster:open","none-tiled tiff is not optimized for access, convert to COG and retry.");h.isPseudoSpatialReference&&ae.A.getLogger(this).warn("The spatial reference for this tiff is unsupported. Only EPSG spatial reference codes and Esri WKTs are supported.");const m=o[0].get("PREDICTOR")?.values?.[0],g=o[0].get("SAMPLEFORMAT")?.values?.[0];if(3===g&&2===m)throw new i.A("tiffraster:open","unsupported horizontal difference encoding. Predictor=3 is supported for floating point data");const{skipMapInfo:y,skipExtensions:x=[]}=this.ioConfig;if(!x.includes("aux.xml")&&!y){const t=await this._fetchAuxiliaryMetaData(e);null!=t&&function(e,t){if(t.statistics=e.statistics??t.statistics,t.histograms=e.histograms,e.histograms&&null==t.statistics&&(t.statistics=(0,T.Pg)(e.histograms)),e.transform&&null==t.transform){t.transform=e.transform,t.nativeExtent=t.extent;const s=t.transform.forwardTransform(t.nativeExtent);t.pixelSize=new V.A({x:(s.xmax-s.xmin)/t.width,y:(s.ymax-s.ymin)/t.height,spatialReference:t.spatialReference}),t.extent=s}t.isPseudoSpatialReference&&e.spatialReference&&(t.spatialReference=e.spatialReference,t.extent.spatialReference=t.nativeExtent.spatialReference=t.storageInfo.origin.spatialReference=t.spatialReference)}(t,h)}x.includes("vat.dbf")||1!==h.bandCount||"u8"!==h.pixelType||y||(h.attributeTable=await this._fetchAuxiliaryTable(e),null!=h.attributeTable&&(h.keyProperties.DataType="thematic")),y&&this.updateImageSpaceRasterInfo(h),this.updateTileInfo()}async _validateOrFetchHeaderBuffer(e,t){let{fileChunk:s,fileOffset:i,posIFD:n}=e;return(n+8>=s.byteLength||n<0)&&(i=n+i,s=(await this.request(this.url,{range:{from:i,to:i+this._bufferSize},responseType:"array-buffer",signal:t})).data,n=0),{fileChunk:s,fileOffset:i,posIFD:n}}async _readIFDs(e,t,s,n=4,a){if(!t.posIFD)return null;t=await this._validateOrFetchHeaderBuffer(t,a);const r=await this._readIFD(t,s,ce.NB,n,a);if(!r?.ifd)throw new i.A("tiffraster:open","cannot parse tiff header. failed to open url "+this.url);if(e.push(r.ifd),!r.nextIFD)return null;t.posIFD=r.nextIFD-t.fileOffset,await this._readIFDs(e,t,s,n,a)}async _readIFD(e,t,s=ce.NB,i=4,n){let{fileChunk:a,posIFD:r,fileOffset:o}=e;if(!e.fileChunk)return null;const l=(0,fe.JM)(a,t,r,o,s,i);if(l.success){const e=[];if(l.ifd?.forEach(t=>{t.values||e.push(t)}),e.length>0&&await this._fillOffsets(e,t,l.nextIFD,n),l.ifd?.has("GEOKEYDIRECTORY")){const e=l.ifd.get("GEOKEYDIRECTORY"),s=e?.values;if(s&&s.length>4){const i=s[0]+"."+s[1]+"."+s[2];r=e.valueOffset+6-o;const l=await this._validateOrFetchHeaderBuffer({fileChunk:a,posIFD:r,fileOffset:o},n),f=await this._readIFD(l,t,ce.YC,2,n);e.data=f?.ifd,e.data&&e.data.set("GEOTIFFVersion",{id:0,type:2,valueCount:1,valueOffset:null,values:[i]})}}return l}return l.requiredBufferSize?(a=(await this.request(this.url,{range:{from:o,to:o+r+l.requiredBufferSize+8},responseType:"array-buffer",signal:n})).data,a.byteLength<r+l.requiredBufferSize?null:(e.fileChunk=a,e.fileOffset=o,this._readIFD(e,t,s,i,n))):null}async _fillOffsets(e,t,s,i){const n=e.filter(e=>null!=e.offlineOffsetSize);if(0===n.length)return;const a=n.map(e=>e.offlineOffsetSize),r=Math.min.apply(null,a.map(e=>e[0])),o=Math.max.apply(null,a.map(e=>e[0]+e[1]));let l=1===a.length||o-r<=this._bufferSize;if(!l&&a.length>1&&(a.sort((e,t)=>e[0]-t[0]),l=a.reduce((e,t)=>e===t[0]?t[0]+t[1]:0,a[0][0])===o),l){const e=await this._fetchOffsets(r,Math.max(o,r+this._bufferSize),i);return void n.forEach(s=>(0,fe.Cr)(e,t,s,r))}const f=n.map(async e=>{const s=e.offlineOffsetSize,n=await this._fetchOffsets(s[0],s[1]+s[0],i);(0,fe.Cr)(n,t,e,s[0])});await Promise.all(f)}async _fetchOffsets(e,t,s){const i=[],n=this._chunkSize,a=Math.ceil((t-e)/n);let r=e;for(let e=0;e<a;e++)i.push(this.request(this.url,{range:{from:r,to:e===a-1?t:r+n-1},responseType:"array-buffer",signal:s})),r+=n;const o=await Promise.all(i);if(1===a)return o[0].data;const l=new Uint8Array(t-e+1);for(let e=0;e<a;e++)l.set(new Uint8Array(o[e].data),e*n);return l.buffer}async _fetchRawTiffTile(e,t,s,i,n={}){const a=this._getTileLocation(e,t,s,i);if(!a)return null;const{ranges:r,actualTileWidth:o,actualTileHeight:l,ifd:f}=a,c=r.map(e=>this.request(this.url,{range:e,responseType:"array-buffer",signal:n.signal})),u=await Promise.all(c),h=u.map(e=>e.data.byteLength).reduce((e,t)=>e+t),p=1===u.length?u[0].data:new ArrayBuffer(h),d=[0],m=[0];if(u.length>1){const e=new Uint8Array(p);for(let t=0,s=0;t<u.length;t++){const i=u[t].data;e.set(new Uint8Array(i),s),d[t]=s,s+=i.byteLength,m[t]=i.byteLength}}const{blockWidth:g,blockHeight:y}=this.getBlockWidthHeight(e),x=await this.decodePixelBlock(p,{format:"tiff",customOptions:{headerInfo:this._headerInfo,ifd:f,offsets:d,sizes:m},width:g,height:y,planes:null,pixelType:null});if(null==x)return null;if(o!==g||l!==y){let e=x.mask;if(e)for(let t=0;t<y;t++){const s=t*g;if(t<l)for(let t=o;t<g;t++)e[s+t]=0;else for(let t=0;t<g;t++)e[s+t]=0}else{e=new Uint8Array(g*y),x.mask=e;for(let t=0;t<l;t++){const s=t*g;for(let t=0;t<o;t++)e[s+t]=1}}}return x}_getTileLocation(e,t,s,i=!1){const{firstPyramidLevel:n,blockBoundary:a}=this.rasterInfo.storageInfo,r=0===e?0:e-(n-1),{_headerInfo:o}=this;if(!o)return null;const l=i?o.maskIFDs[r]:0===r?o?.ifds[0]:o?.pyramidIFDs[r-1];if(!l)return null;const f=(0,fe.XO)(l,o),c=ue(l,"TILEOFFSETS");if(void 0===c)return null;const u=ue(l,"TILEBYTECOUNTS"),{minRow:h,minCol:p,maxRow:d,maxCol:m}=a[r];if(t>d||s>m||t<h||s<p)return null;const g=he(l,"IMAGEWIDTH"),y=he(l,"IMAGELENGTH"),x=he(l,"TILEWIDTH"),w=he(l,"TILELENGTH"),I=[];if(f){const{bandCount:e}=this.rasterInfo;for(let i=0;i<e;i++){const e=i*(d+1)*(m+1)+t*(m+1)+s;I[i]={from:c[e],to:c[e]+u[e]-1}}}else{const e=t*(m+1)+s;I.push({from:c[e],to:c[e]+u[e]-1})}for(let e=0;e<I.length;e++)if(null==I[e].from||!I[e].to||I[e].to<0)return null;return{ranges:I,ifd:l,actualTileWidth:s===m&&g%x||x,actualTileHeight:t===d&&y%w||w}}async _fetchAuxiliaryMetaData(e){try{const{data:t}=await this.request(this.url+".aux.xml",{responseType:"xml",signal:e?.signal});return U(t)}catch{return null}}async _fetchAuxiliaryTable(e){try{const{data:t}=await this.request(this.url+".vat.dbf",{responseType:"array-buffer",signal:e?.signal}),s=le.parse(t);return s?.recordSet?O.A.fromJSON(s.recordSet):null}catch{return null}}};(0,n.Cg)([(0,a.MZ)()],pe.prototype,"_files",void 0),(0,n.Cg)([(0,a.MZ)()],pe.prototype,"_headerInfo",void 0),(0,n.Cg)([(0,a.MZ)()],pe.prototype,"_bufferSize",void 0),(0,n.Cg)([(0,a.MZ)()],pe.prototype,"_chunkSize",void 0),(0,n.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],pe.prototype,"datasetFormat",void 0),pe=(0,n.Cg)([(0,a.$K)("esri.layers.raster.datasets.TIFFRaster")],pe);const de=pe,me=new Map;me.set("MRF",{desc:"Meta Raster Format",constructor:ne}),me.set("TIFF",{desc:"GeoTIFF",constructor:de}),me.set("RasterTileServer",{desc:"Raster Tile Server",constructor:Q}),me.set("JPG",{desc:"JPG Raster Format",constructor:G}),me.set("PNG",{desc:"PNG Raster Format",constructor:G}),me.set("GIF",{desc:"GIF Raster Format",constructor:G}),me.set("BMP",{desc:"BMP Raster Format",constructor:G}),me.set("CovJSON",{desc:"COVJSON Raster Format",constructor:_}),me.set("MEMORY",{desc:"In Memory Raster Format",constructor:M});class ge{static get supportedFormats(){const e=new Set;return me.forEach((t,s)=>e.add(s)),e}static async open(e){const{url:t,ioConfig:s,source:n,sourceJSON:a}=e;let r=e.datasetFormat??s?.datasetFormat;null==r&&(t.includes(".")?r=t.slice(t.lastIndexOf(".")+1).toUpperCase():"coverage"===n?.type?.toLowerCase()?r="CovJSON":n?.extent&&n.pixelblocks&&(r="MEMORY")),"OVR"===r||"TIF"===r?r="TIFF":"JPG"===r||"JPEG"===r||"JFIF"===r?r="JPG":"COVJSON"===r&&(r="CovJSON"),t.toLowerCase().includes("/imageserver")&&!t.toLowerCase().includes("/wcsserver")&&(r="RasterTileServer");const o={url:t,source:n,sourceJSON:a,datasetFormat:r,ioConfig:s??{bandIds:null,sampling:null}};if(Object.keys(o).forEach(e=>{null==o[e]&&delete o[e]}),r){if(!this.supportedFormats.has(r))throw new i.A("rasterfactory:open","not a supported format "+r);if("CRF"===r)throw new i.A("rasterfactory:open",`cannot open raster: ${t}`);const s=new(0,me.get(r).constructor)(o);return await s.open({signal:e.signal}),s}const l=Array.from(me.keys()).filter(e=>"CovJSON"!==e&&"Memory"!==e);let f=0;const c=()=>{if(r=l[f++],!r)return null;if("CRF"===r)return null;const t=new(0,me.get(r).constructor)(o);return t.open({signal:e.signal}).then(()=>t).catch(()=>c())};return c()}static register(e,t,s){me.has(e.toUpperCase())||me.set(e.toUpperCase(),{desc:t,constructor:s})}}},10333(e,t,s){s.d(t,{A:()=>r});var i=s(5482),n=s(25482),a=s(91429);let r=class extends n.o{get affectsPixelSize(){return!1}forwardTransform(e){return e}inverseTransform(e){return e}};(0,i.Cg)([(0,a.MZ)()],r.prototype,"affectsPixelSize",null),(0,i.Cg)([(0,a.MZ)({json:{write:!0}})],r.prototype,"spatialReference",void 0),r=(0,i.Cg)([(0,a.$K)("esri.layers.raster.transforms.BaseRasterTransform")],r)},75414(e,t,s){s.d(t,{A:()=>l});var i,n=s(5482),a=s(91429),r=s(10333),o=s(93223);let l=i=class extends r.A{constructor(){super(...arguments),this.type="gcs-shift",this.tolerance=1e-8}forwardTransform(e){return"point"===(e=e.clone()).type?(e.x>180+this.tolerance&&(e.x-=360),e):(e.xmin>=180-this.tolerance?(e.xmax-=360,e.xmin-=360):e.xmax>180+this.tolerance&&(e.xmin=-180,e.xmax=180),e)}inverseTransform(e){return"point"===(e=e.clone()).type?(e.x<-this.tolerance&&(e.x+=360),e):(e.xmin<-this.tolerance&&(e.xmin+=360,e.xmax+=360),e)}clone(){return new i({tolerance:this.tolerance})}};(0,n.Cg)([(0,o.e)({GCSShiftXform:"gcs-shift"})],l.prototype,"type",void 0),(0,n.Cg)([(0,a.MZ)()],l.prototype,"tolerance",void 0),l=i=(0,n.Cg)([(0,a.$K)("esri.layers.raster.transforms.GCSShiftTransform")],l)},43163(e,t,s){s.d(t,{A:()=>d});var i,n=s(5482),a=s(91429),r=s(5443),o=s(86738),l=s(10333),f=s(36005),c=s(43937),u=s(93223);function h(e,t,s){const{x:i,y:n}=t;if(s<2)return{x:e[0]+i*e[2]+n*e[4],y:e[1]+i*e[3]+n*e[5]};if(2===s){const t=i*i,s=n*n,a=i*n;return{x:e[0]+i*e[2]+n*e[4]+t*e[6]+a*e[8]+s*e[10],y:e[1]+i*e[3]+n*e[5]+t*e[7]+a*e[9]+s*e[11]}}const a=i*i,r=n*n,o=i*n,l=a*i,f=a*n,c=i*r,u=n*r;return{x:e[0]+i*e[2]+n*e[4]+a*e[6]+o*e[8]+r*e[10]+l*e[12]+f*e[14]+c*e[16]+u*e[18],y:e[1]+i*e[3]+n*e[5]+a*e[7]+o*e[9]+r*e[11]+l*e[13]+f*e[15]+c*e[17]+u*e[19]}}function p(e,t,s){const{xmin:i,ymin:n,xmax:a,ymax:o,spatialReference:l}=t;let f=[];if(s<2)f.push({x:i,y:o}),f.push({x:a,y:o}),f.push({x:i,y:n}),f.push({x:a,y:n});else{let e=10;for(let t=0;t<e;t++)f.push({x:i,y:n+(o-n)*t/(e-1)}),f.push({x:a,y:n+(o-n)*t/(e-1)});e=8;for(let t=1;t<=e;t++)f.push({x:i+(a-i)*t/e,y:n}),f.push({x:i+(a-i)*t/e,y:o})}f=f.map(t=>h(e,t,s));const c=f.map(e=>e.x),u=f.map(e=>e.y);return new r.A({xmin:Math.min.apply(null,c),xmax:Math.max.apply(null,c),ymin:Math.min.apply(null,u),ymax:Math.max.apply(null,u),spatialReference:l})}let d=i=class extends l.A{constructor(){super(...arguments),this.polynomialOrder=1,this.type="polynomial"}readForwardCoefficients(e,t){const{coeffX:s,coeffY:i}=t;if(!s?.length||!i?.length||s.length!==i.length)return null;const n=[];for(let e=0;e<s.length;e++)n.push(s[e]),n.push(i[e]);return n}writeForwardCoefficients(e,t,s){const i=[],n=[];for(let t=0;t<e?.length;t++)t%2==0?i.push(e[t]):n.push(e[t]);t.coeffX=i,t.coeffY=n}get inverseCoefficients(){let e=this._get("inverseCoefficients");const t=this._get("forwardCoefficients");return!e&&t&&this.polynomialOrder<2&&(e=function(e){const[t,s,i,n,a,r]=e,o=i*r-a*n,l=a*n-i*r;return[(a*s-t*r)/o,(i*s-t*n)/l,r/o,n/l,-a/o,-i/l]}(t)),e}set inverseCoefficients(e){this._set("inverseCoefficients",e)}readInverseCoefficients(e,t){const{inverseCoeffX:s,inverseCoeffY:i}=t;if(!s?.length||!i?.length||s.length!==i.length)return null;const n=[];for(let e=0;e<s.length;e++)n.push(s[e]),n.push(i[e]);return n}writeInverseCoefficients(e,t,s){const i=[],n=[];for(let t=0;t<e?.length;t++)t%2==0?i.push(e[t]):n.push(e[t]);t.inverseCoeffX=i,t.inverseCoeffY=n}get affectsPixelSize(){return this.polynomialOrder>0}forwardTransform(e){if("point"===e.type){const t=h(this.forwardCoefficients,e,this.polynomialOrder);return new o.A({x:t.x,y:t.y,spatialReference:e.spatialReference})}return p(this.forwardCoefficients,e,this.polynomialOrder)}inverseTransform(e){if("point"===e.type){const t=h(this.inverseCoefficients,e,this.polynomialOrder);return new o.A({x:t.x,y:t.y,spatialReference:e.spatialReference})}return p(this.inverseCoefficients,e,this.polynomialOrder)}clone(){return new i({polynomialOrder:this.polynomialOrder,forwardCoefficients:this.forwardCoefficients?[...this.forwardCoefficients]:null,inverseCoefficients:this.inverseCoefficients?[...this.inverseCoefficients]:null})}};(0,n.Cg)([(0,a.MZ)({json:{write:!0}})],d.prototype,"polynomialOrder",void 0),(0,n.Cg)([(0,a.MZ)()],d.prototype,"forwardCoefficients",void 0),(0,n.Cg)([(0,f.w)("forwardCoefficients",["coeffX","coeffY"])],d.prototype,"readForwardCoefficients",null),(0,n.Cg)([(0,c.K)("forwardCoefficients")],d.prototype,"writeForwardCoefficients",null),(0,n.Cg)([(0,a.MZ)({json:{write:!0}})],d.prototype,"inverseCoefficients",null),(0,n.Cg)([(0,f.w)("inverseCoefficients",["inverseCoeffX","inverseCoeffY"])],d.prototype,"readInverseCoefficients",null),(0,n.Cg)([(0,c.K)("inverseCoefficients")],d.prototype,"writeInverseCoefficients",null),(0,n.Cg)([(0,a.MZ)()],d.prototype,"affectsPixelSize",null),(0,n.Cg)([(0,u.e)({PolynomialXform:"polynomial"})],d.prototype,"type",void 0),d=i=(0,n.Cg)([(0,a.$K)("esri.layers.raster.transforms.PolynomialTransform")],d)}}]);
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[1003],{1003(e,t,s){s.r(t),s.d(t,{default:()=>ge});var i=s(49186),n=s(5482),a=s(91429),r=s(49859),o=s(68197),l=s(5443),f=s(16930),c=s(73444),u=s(94778),h=s(14140);function p(e){return["x","e","east","long","longitude"].includes(e.toLowerCase())}function d(e){return["y","n","west","lat","latitude"].includes(e.toLowerCase())}function m(e){const{axes:t}=e.domain,s=Object.keys(t),i=[],n=[];let a=-1,r=-1,o=[];for(let e=0;e<s.length;e++){const l=s[e];p(l)?a=e:d(l)&&(r=e);const f=t[l],c=[];if("values"in f){f.values.forEach(e=>c.push("string"==typeof e?new Date(e).getTime():e));const e=c[1]-c[0];i.push([c[0]-.5*e,c[c.length-1]+.5*e]),n.push(e)}else{const{start:e,stop:t,num:s}=f,a=(t-e)/(s-1);i.push([e-.5*a,t+.5*a]),n.push(a);for(let t=0;t<s;t++)c.push(e+a*t)}o.push({name:l,values:c,extent:[c[0],c[c.length-1]]})}a>-1&&-1===r?r=0===a?1:0:r>-1&&-1===a?a=0===r?1:0:-1===r&&-1===a&&(a=0,r=1),o=o.filter((e,t)=>!(t===a||t===r));const{referencing:c}=e.domain,u=c.find(e=>e.coordinates.includes(s[a])).system.id,h=u?.slice(u.lastIndexOf("/")+1),m=null==h||"CRS84"===h?4326:Number(h),g=new f.A({wkid:m}),[y,x]=i[a],[w,I]=i[r],v=new l.A({xmin:y,xmax:x,ymin:w,ymax:I,spatialReference:g});return{width:Math.round(v.width/n[a]),height:Math.round(v.height/n[r]),extent:v,dimensions:o}}function g(e){const t=(0,c.lR)();return t?e[t]??Object.values(e)[0]:Object.values(e)[0]}function y(){return Math.round(255*Math.random())}function x(e){const t={},{parameters:s}=e;if(!s)return t;for(const[e,i]of Object.entries(s)){const{type:s,description:n,unit:a,categoryEncoding:r,observedProperty:l}=i;if("Parameter"===s&&(t[e]={},n&&(t[e].description=g(n)),a&&(t[e].unit=a.label?g(a.label):null,t[e].symbol=a.symbol?.value),r)){const s=Object.entries(r).map((e,t)=>({OID:t,Value:Number(e[1]),ClassName:e[0].slice(e[0].lastIndexOf("/")+1),Count:1}));let i=!1;l?.categories?.length&&(l.categories.forEach(e=>{if(!e.id)return;const t=e.id.slice(e.id.lastIndexOf("/")+1),n=s.find(e=>e.ClassName===t);if(!n)return;const a=e.label?g(e.label):null;if(n.Label=a,e.preferredColor){const t=o.A.fromHex(e.preferredColor);t&&(i=!0,n.Red=t.r,n.Green=t.g,n.Blue=t.b)}}),i&&s.forEach(e=>{null==e.Red&&(e.Red=y(),e.Green=y(),e.Blue=y())}));const n={objectIdFieldName:"",fields:[{name:"OID",type:"esriFieldTypeOID",alias:"OID",domain:null},{name:"Value",type:"esriFieldTypeInteger",alias:"Value",domain:null},{name:"Count",type:"esriFieldTypeDouble",alias:"Count",domain:null},{name:"ClassName",type:"esriFieldTypeString",alias:"ClassName",domain:null,length:50},{name:"Label",type:"esriFieldTypeString",alias:"Label",domain:null,length:50}],features:s.map(e=>({attributes:e}))};i&&n.fields.push({name:"Red",type:"esriFieldTypeInteger",alias:"Red",domain:null},{name:"Green",type:"esriFieldTypeInteger",alias:"Green",domain:null},{name:"Blue",type:"esriFieldTypeInteger",alias:"Blue",domain:null}),t[e].attributeTable=n}}return t}function w(e){let t=Number.MAX_VALUE,s=-Number.MAX_VALUE;for(let i=0;i<e.length;i++){const n=e[i];null!=n&&(n<t&&(t=n),n>s&&(s=n))}return(0,u.X1)(t,s)}function I(e,t,s){const i=e.map((e,s)=>({name:e,count:t[s]})).sort((e,t)=>e.name>t.name?-1:1),n=(a=1,e=>a*=e.count);var a;const r=[...i.slice(1),{name:"",count:1}].reverse().map(n).reverse();let o=0;for(let n=e.length-1;n>=0;n--)o+=r[i.findIndex(({name:t})=>t===e[n])]*(s%t[n]),s=Math.floor(s/t[n]);return o}var v=s(17676),C=s(4366),b=s(47520),T=s(51927),S=s(45617),A=s(87186);let R=class extends r.A{constructor(){super(...arguments),this.datasetFormat="MEMORY",this.source=null}get url(){return""}fetchRawTile(e,t,s,i={}){if(!this._pixelBlockTiles){const{rasterInfo:n}=this,[a,r]=n.storageInfo.tileInfo.size,{sliceId:o}=i,{pixelBlocks:l}=this.source,f={pixelBlock:null==o?l[0]:l[o],useBilinear:"thematic"!==n.dataType,tileSize:{width:a,height:r},level:e,row:t,col:s},c=this.rasterJobHandler?this.rasterJobHandler.clipTile(f,i):(0,b.J$)(f);return Promise.resolve(c)}const n=this._pixelBlockTiles.get(`${e}/${t}/${s}`);return Promise.resolve(n)}async _open(e){const t=this.source,{pixelBlocks:s,attributeTable:i,statistics:n,histograms:a,name:r,nativeExtent:o,transform:c,colormap:u}=t,h=s[0],{width:p,height:d,pixelType:m}=h,g=t.extent??new l.A({xmin:-.5,ymin:.5,xmax:p-.5,ymax:d-.5,spatialReference:new f.A({wkid:3857})}),y=t.isPseudoSpatialReference??!t.extent,x={x:g.width/p,y:g.height/d},w={...t.keyProperties};t.dataType&&(w.DataType=t.dataType),t.bandInfos&&(w.BandProperties=t.bandInfos.map(e=>e.toJSON())),i&&(w.DataType="Thematic");const I=new A.A({width:p,height:d,pixelType:m,extent:g,nativeExtent:o,attributeTable:i,colormap:u,transform:c,pixelSize:x,spatialReference:g.spatialReference,bandCount:h.pixels.length,keyProperties:w,multidimensionalInfo:t.multidimensionalInfo,statistics:n,isPseudoSpatialReference:y,histograms:a});this.ioConfig.skipMapInfo&&this.updateImageSpaceRasterInfo(I),this.createRemoteDatasetStorageInfo(I,512,512),this._set("rasterInfo",I),this.updateTileInfo(),I.multidimensionalInfo?await this._buildMDimStats(t.pixelBlocks,I.multidimensionalInfo):await this._buildInMemoryRaster(h,{width:512,height:512},e),I.multidimensionalInfo||(this.source=null),this.datasetName=r}async _buildInMemoryRaster(e,t,s){const{rasterInfo:n}=this,a=n.storageInfo.maximumPyramidLevel??0,r="thematic"!==n.dataType,o=this.rasterJobHandler?this.rasterJobHandler.split({pixelBlock:e,tileSize:t,maximumPyramidLevel:a,useBilinear:r},s):Promise.resolve((0,b.lD)(e,t,a,r)),l=null!=n.statistics,f=null!=n.histograms,c=this.ioConfig.skipStatistics||l?Promise.resolve({statistics:null,histograms:null}):this.rasterJobHandler?this.rasterJobHandler.estimateStatisticsHistograms({pixelBlock:e},s):Promise.resolve((0,T.f4)(e)),u=await(0,v.Lx)([o,c]);if(!u[0].value&&u[1].value)throw new i.A("inmemory-raster:open","failed to build in memory raster");this._pixelBlockTiles=u[0].value,l||(n.statistics=u[1].value?.statistics),f||(n.histograms=u[1].value?.histograms)}async _buildMDimStats(e,t,s){for(let i=0;i<t.variables.length;i++){const n=t.variables[i];if(n.statistics)continue;const a=n.dimensions.map(e=>new S.A({variableName:n.name,dimensionName:e.name,values:[e.values?.[0]??e.extent?.[0]],isSlice:!0})),r=(0,C.NG)(a,t),o=null==r?null:e[r];if(null==o)continue;const l=this.rasterJobHandler?await this.rasterJobHandler.computeStatisticsHistograms({pixelBlock:o},s):(0,T.eH)(o);n.statistics=l.statistics,n.histograms||(n.histograms=l.histograms)}}};(0,n.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],R.prototype,"datasetFormat",void 0),(0,n.Cg)([(0,a.MZ)()],R.prototype,"source",void 0),(0,n.Cg)([(0,a.MZ)()],R.prototype,"url",null),R=(0,n.Cg)([(0,a.$K)("esri.layers.raster.datasets.InMemoryRaster")],R);const M=R;var O=s(22671);let k=class extends r.A{constructor(){super(...arguments),this.datasetFormat="CovJSON"}fetchRawTile(e,t,s,i={}){return this._inMemoryRaster.fetchRawTile(e,t,s,i)}async _open(e){const{extent:t,pixelBlocks:s,multidimensionalInfo:i,attributeTable:n,bandNames:a}=await this._fetchData(e),{statistics:r,histograms:o}=(0,T.eH)(s[0]),l=a?.map(e=>({BandName:e})),f={DataType:n?"Thematic":i?"Scientific":"Generic",BandProperties:l},c=new M({source:{extent:t,pixelBlocks:s,attributeTable:n?O.A.fromJSON(n):null,multidimensionalInfo:i,statistics:r,histograms:o,keyProperties:f,isPseudoSpatialReference:!1}});await c.open(),this._inMemoryRaster=c;const u=this.source?"":this.url.slice(this.url.lastIndexOf("/")+1);this._set("datasetName",u.slice(0,u.indexOf("."))),this._set("rasterInfo",c.rasterInfo)}async _fetchData(e){const t=this.source??(await this.request(this.url,{signal:e?.signal})).data,s="imagery-tile-layer:open-coverage-json";if("coverage"!==t.type?.toLowerCase()||"grid"!==t.domain?.domainType?.toLowerCase())throw new i.A(s,"Only coverage with Grid domain type is supported");if(!t.ranges)throw new i.A(s,"Missing ranges in the grid coverage data");if(!t.domain.referencing?.length)throw new i.A(s,"Missing domain referencing in the grid coverage data");const n=Object.values(t.ranges);for(let e=0;e<n.length;e++){const{axisNames:t,shape:a,type:r,values:o}=n[e];if(!("ndarray"===r.toLowerCase()&&o?.length&&t?.length&&a?.length))throw new i.A(s,"Only ranges with valid NdArray, axisNames, shape, and inline values are supported");if(!p(t[t.length-1])||!d(t[t.length-2]))throw new i.A(s,"Only row-major ordered pixel values are supported. X axis must be the last axis.")}return function(e){const{width:t,height:s,extent:i,dimensions:n}=m(e),{ranges:a}=e,r=Object.keys(a).sort((e,t)=>e<t?-1:1),o=[];for(let e=0;e<r.length;e++){const t=r[e];n?.length&&o.push({name:t,dimensions:n})}const l=x(e);o.forEach(e=>l[e.name]&&Object.assign(e,l[e.name]));const f=o.length?{variables:o}:void 0,c=[];for(let e=0;e<r.length;e++){const i=r[e],{values:o,dataType:l,axisNames:f,shape:u}=a[i],p=u.length>2?e*u.slice(0,-2).reduce((e,t)=>e*t):0,d=f.slice(0,-2),m=u.slice(0,-2),g="float"===l?"f32":w(o),y=t*s,x=o.length/y;for(let i=0;i<x;i++){const a=h.A.createEmptyBand(g,y),r=new Uint8Array(y).fill(255);let l=!1;const f=i*y;for(let e=0;e<y;e++){const t=o[f+e];null==t?(r[e]=0,l=!0):a[e]=t}if(0===e||n?.length){const e=new h.A({width:t,height:s,mask:l?r:null,pixels:[a],pixelType:g});e.updateStatistics(),n?.length?c[I(d,m,i)+p]=e:c.push(e)}else{const e=c[i];e.pixels.push(a),l?e.mask&&(e.mask=h.A.combineBandMasks([e.mask,r])):e.mask=l?r:null}}}const u=Object.values(l).find(e=>e.attributeTable)?.attributeTable;return{extent:i,pixelBlocks:c,multidimensionalInfo:f,attributeTable:u,bandNames:f?void 0:r}}(t)}};(0,n.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],k.prototype,"datasetFormat",void 0),(0,n.Cg)([(0,a.MZ)({constructOnly:!0})],k.prototype,"source",void 0),k=(0,n.Cg)([(0,a.$K)("esri.layers.raster.datasets.CovJSONRaster")],k);const _=k;var F=s(44208),P=s(4576),B=s(21325),N=s(330),D=s(43163);function E(e,t){if(!e||!t)return null;const s=[];for(let i=0;i<e.length;i++)s.push(e[i]),s.push(t[i]);return s}function L(e){if(!e)return null;let t=Number(e);if(!isNaN(t)&&0!==t)return new f.A({wkid:t});if(e=String(e).trim(),(0,B.jp)(e))return new f.A({wkt2:e});const s=e.toUpperCase();if(s.startsWith("COMPD_CS")){if(!s.includes("VERTCS")||!s.includes("GEOGCS")&&!s.startsWith("PROJCS"))return null;const i=s.indexOf("VERTCS"),n=s.indexOf("PROJCS"),a=n>-1?n:s.indexOf("GEOGCS");if(-1===a)return null;const r=e.slice(a,e.lastIndexOf("]",i)+1).trim(),o=e.slice(i,e.lastIndexOf("]")).trim();t=z(r);const l=new f.A(t?{wkid:t}:{wkt:r}),c=z(o);return c&&(l.vcsWkid=c),l}return s.startsWith("GEOGCS")||s.startsWith("PROJCS")?(t=z(e),new f.A(0!==t?{wkid:t}:{wkt:e})):null}function z(e){const t=e.replaceAll("]","[").replaceAll('"',"").split("[").map(e=>e.trim()).filter(e=>""!==e),s=t[t.length-1].split(","),i=s[0]?.toLowerCase();if(("epsg"===i||"esri"===i)&&e.endsWith('"]]')){const e=Number(s[1]);if(!isNaN(e)&&0!==e)return e}return 0}function U(e){if("pamdataset"!==e?.documentElement.tagName?.toLowerCase())return{};const t={spatialReference:null,transform:null,metadata:{},rasterBands:[],statistics:null,histograms:null};e.documentElement.childNodes.forEach(e=>{if(1===e.nodeType)if((0,N.g7)(e,"SRS")){if(!t.spatialReference){const s=(0,N.mX)(e);t.spatialReference=L(s)}}else if((0,N.g7)(e,"Metadata"))if("xml:ESRI"===e.getAttribute("domain")){const{spatialReference:s,transform:i}=function(e){const t=(0,N.V6)(e,"GeodataXform"),s=L((0,N.v7)(t,"SpatialReference/WKID")||(0,N.mX)(t,"SpatialReference/WKT"));if("typens:PolynomialXform"!==t.getAttribute("xsi:type"))return{spatialReference:s,transform:null};const i=(0,N.v7)(t,"PolynomialOrder")??1,n=(0,N.Ui)(t,"CoeffX/Double"),a=(0,N.Ui)(t,"CoeffY/Double"),r=(0,N.Ui)(t,"InverseCoeffX/Double"),o=(0,N.Ui)(t,"InverseCoeffY/Double"),l=E(n,a),f=E(r,o);return{spatialReference:s,transform:l&&f&&l.length&&f.length?new D.A({spatialReference:s,polynomialOrder:i,forwardCoefficients:l,inverseCoefficients:f}):null}}(e);t.transform=i,t.spatialReference||(t.spatialReference=s)}else(0,N.IC)(e,"MDI").forEach(e=>t.metadata[e.getAttribute("key")]=(0,N.mX)(e));else if((0,N.g7)(e,"PAMRasterBand")){const s=function(e){const t=(0,N.v7)(e,"NoDataValue"),s=(0,N.V6)(e,"Histograms/HistItem"),i=(0,N.v7)(s,"HistMin"),n=(0,N.v7)(s,"HistMax"),a=(0,N.v7)(s,"BucketCount"),r=(0,N.mX)(s,"HistCounts")?.split("|").map(e=>Number(e));let o,l,f,c;(0,N.IC)(e,"Metadata/MDI").forEach(e=>{const t=Number(e.textContent??e.nodeValue);switch(e.getAttribute("key").toUpperCase()){case"STATISTICS_MINIMUM":o=t;break;case"STATISTICS_MAXIMUM":l=t;break;case"STATISTICS_MEAN":f=t;break;case"STATISTICS_STDDEV":c=t}});const u=(0,N.v7)(e,"Metadata/SourceBandIndex");return{noDataValue:t,histogram:r?.length&&null!=i&&null!=n?{min:i,max:n,size:a||r.length,counts:r}:null,sourceBandIndex:u,statistics:null!=o&&null!=l?{min:o,max:l,avg:f,stddev:c}:null}}(e);null!=s.sourceBandIndex&&null==t.rasterBands[s.sourceBandIndex]?t.rasterBands[s.sourceBandIndex]=s:t.rasterBands.push(s)}});const s=t.rasterBands;if(s.length){const e=!!s[0].statistics;t.statistics=e?s.map(e=>e.statistics).filter(P.Ru):null;const i=!!s[0].histogram;t.histograms=i?s.map(e=>e.histogram).filter(P.Ru):null}return t}var J=s(20758);let H=class extends r.A{fetchRawTile(e,t,s,i={}){return this._inMemoryRaster.fetchRawTile(e,t,s,i)}async _open(e){const t=await this._fetchData(e);let{spatialReference:s,statistics:i,histograms:n,transform:a}=await this._fetchAuxiliaryData(e);const r=!s;r&&(s=new f.A({wkid:3857})),n?.length&&null==i&&(i=(0,T.Pg)(n));const{width:o,height:c}=t;let u=new l.A({xmin:-.5,ymin:.5-c,xmax:o-.5,ymax:.5,spatialReference:s});const h=a?a.forwardTransform(u):u;let p=!0;if(a){const e=a.forwardCoefficients;p=e&&0===e[1]&&0===e[2],p&&(a=null,u=h)}const d=new M({source:{extent:h,nativeExtent:u,transform:a,pixelBlocks:[t],statistics:i,histograms:n,keyProperties:{DateType:"Processed"},isPseudoSpatialReference:r},ioConfig:{sampling:"closest",skipStatistics:!0}});this.ioConfig.skipMapInfo&&(d.ioConfig.skipMapInfo=!0),await d.open(),d.source=null,this._set("rasterInfo",d.rasterInfo),this._inMemoryRaster=d}async _fetchData(e){const{data:t}=await this.request(this.url,{responseType:"array-buffer",signal:e?.signal}),s=(0,J.g)(t).toUpperCase();if("JPG"!==s&&"PNG"!==s&&"GIF"!==s&&"BMP"!==s)throw new i.A("image-aux-raster:open","the data is not a supported format");this._set("datasetFormat",s);const n=s.toLowerCase(),a="gif"===n||"bmp"===n||!(0,F.A)("ios"),r=await this.decodePixelBlock(t,{format:n,useCanvas:a,hasNoZlibMask:!0});if(null==r)throw new i.A("image-aux-raster:open","the data cannot be decoded");return r}async _fetchAuxiliaryData(e){const t=e?.signal,{skipExtensions:s=[],skipMapInfo:i}=this.ioConfig,n=i||s.includes("aux.xml")?null:this.request(this.url+".aux.xml",{responseType:"xml",signal:t}),a=this.datasetFormat,r="JPG"===a?"jgw":"PNG"===a?"pgw":"BMP"===a?"bpw":null,o=r&&s.includes(r)?null:this.request(this.url.slice(0,this.url.lastIndexOf("."))+"."+r,{responseType:"text",signal:t}),l=await(0,v.Lx)([n,o]);if(t?.aborted)throw(0,v.NK)();const f=U(l[0].value?.data);if(!f.transform){const e=l[1].value?l[1].value.data.split("\n").slice(0,6).map(e=>Number(e)):null;f.transform=6===e?.length?new D.A({forwardCoefficients:[e[4],e[5],e[0],-e[1],e[2],-e[3]]}):null}return f}};(0,n.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],H.prototype,"datasetFormat",void 0),H=(0,n.Cg)([(0,a.$K)("esri.layers.raster.datasets.ImageAuxRaster")],H);const G=H;var q=s(97768),j=s(84952),V=s(86738),W=s(75414),X=s(20223),Z=s(87045),$=s(25943),Y=s(82371);let K=class extends r.A{constructor(){super(...arguments),this._levelOffset=0,this._tilemapCache=null,this._slices=null,this.datasetFormat="RasterTileServer",this.tileType=null}async fetchRawTile(e,t,s,i={}){const{storageInfo:n,extent:a}=this.rasterInfo,{transposeInfo:r}=n,o=null!=r&&!!i.transposedVariableName;if(this._slices&&!o&&null==i.sliceId)return null;const l=o?0:n.maximumPyramidLevel-e+this._levelOffset,f=`${this.url}/tile/${l}/${t}/${s}`,c={...this._slices?o?{variable:i.transposedVariableName}:{sliceId:i.sliceId||0}:null,...i.refreshParameters};let u,h;if(n.isBsqTile){const e=(i.bandIds?.length?i.bandIds:[0,1,2]).map(e=>this.request(f,{query:{...c,bandId:e},responseType:"array-buffer",signal:i.signal})),t=await Promise.all(e),s=t.map(e=>e.data.byteLength).reduce((e,t)=>e+t),n=new Uint8Array(s);h=[];let a=0;for(const{data:e}of t)h.push(a),n.set(new Uint8Array(e),a),a+=e.byteLength;u=n.buffer}else u=(await this.request(f,{query:c,responseType:"array-buffer",signal:i.signal})).data;if(!u)return null;const p=o?r.tileSize:n.tileInfo.size,d=await this.decodePixelBlock(u,{width:p[0],height:p[1],planes:h?.length,offsets:h,pixelType:null,isPoint:"Elevation"===this.tileType,returnInterleaved:o,noDataValue:this.rasterInfo.noDataValue});if(null==d)return null;const m=n.blockBoundary[e];if("jpg"!==n.compression||s>m.minCol&&s<m.maxCol&&t>m.minRow&&t<m.maxRow)return d;const{origin:g,blockWidth:y,blockHeight:x}=n,{x:w,y:I}=this.getPyramidPixelSize(e),v=Math.round((a.xmin-g.x)/w)%y,C=Math.round((a.xmax-g.x)/w)%y||y,T=Math.round((g.y-a.ymax)/I)%x,S=Math.round((g.y-a.ymin)/I)%x||x,A=s===m.minCol?v:0,R=t===m.minRow?T:0,M=s===m.maxCol?C:y,O=t===m.maxRow?S:x;return(0,b.z$)(d,{x:A,y:R},{width:M-A,height:O-R}),d}getSliceIndex(e){if(!this._slices||null==e||0===e.length)return null;const t=e;for(let e=0;e<this._slices.length;e++){const s=this._slices[e].multidimensionalDefinition;if(s.length===t.length&&!s.some(e=>{const s=t.find(t=>e.variableName===t.variableName&&t.dimensionName===e.dimensionName);return!s||(Array.isArray(e.values[0])?`${e.values[0][0]}-${e.values[0][1]}`:e.values[0])!==(Array.isArray(s.values[0])?`${s.values[0][0]}-${s.values[0][1]}`:s.values[0])}))return e}return null}async fetchVariableStatisticsHistograms(e,t){const s=this.request(this.url+"/statistics",{query:{variable:e,f:"json"},signal:t}).then(e=>e.data?.statistics),i=this.request(this.url+"/histograms",{query:{variable:e,f:"json"},signal:t}).then(e=>e.data?.histograms),n=await Promise.all([s,i]);return n[0]&&n[0].forEach(e=>{e.avg=e.mean,e.stddev=e.standardDeviation}),n[1]?.[0]?.counts?.length||(n[1]=null),{statistics:n[0]||null,histograms:n[1]||null}}async computeBestPyramidLevelForLocation(e,t={}){if(!this._tilemapCache)return 0;let s=this.identifyPixelLocation(e,0,t.datumTransformation);if(null===s)return null;let i=0;const{maximumPyramidLevel:n}=this.rasterInfo.storageInfo;let a=n-i+this._levelOffset;const r=s.srcLocation;for(;a>=0;){try{if("available"===await this._tilemapCache.fetchAvailability(a,s.row,s.col,t))break}catch{}if(a--,i++,s=this.identifyPixelLocation(r,i,t.datumTransformation),null===s)return null}return-1===a||null==s?null:i}async _open(e){const t=e?.signal,s=this.sourceJSON?{data:this.sourceJSON}:await this.request(this.url,{query:{f:"json"},signal:t});s.ssl&&(this.url=this.url.replace(/^http:/i,"https:"));const n=s.data;if(this.sourceJSON=n,!n)throw new i.A("imageserverraster:open","cannot initialize tiled image service, missing service info");if(!n.tileInfo)throw new i.A("imageserverraster:open","use ImageryLayer to open non-tiled image services");this._fixScaleInServiceInfo(),this.tileType=n.cacheType,null==this.tileType&&(["jpg","jpeg","png","png8","png24","png32","mixed"].includes(n.tileInfo.format.toLowerCase())?this.tileType="Map":"lerc"===n.tileInfo.format.toLowerCase()?this.tileType="Elevation":this.tileType="Raster"),this.datasetName=n.name?.slice(n.name.indexOf("/")+1)??"";const a=await this._fetchRasterInfo({signal:t});if(null==a)throw new i.A("image-server-raster:open","cannot initialize image service");(0,Y.E9)(a,n);const r="Map"===this.tileType?function(e,t){if(!e)return null;const{minScale:s,maxScale:i,minLOD:n,maxLOD:a}=t;if(null!=n&&null!=a)return Z.A.fromJSON({...e,lods:e.lods.filter(({level:e})=>null!=e&&e>=n&&e<=a)});if(0!==s&&0!==i){const t=e=>Math.round(1e4*e)/1e4,n=s?t(s):1/0,a=i?t(i):-1/0;return Z.A.fromJSON({...e,lods:e.lods.filter(e=>{const s=t(e.scale);return s<=n&&s>=a})})}return Z.A.fromJSON(e)}(n.tileInfo,n):Z.A.fromJSON(n.tileInfo);(0,q.Lw)(r);const[o,l]=this._computeMinMaxLOD(a,r),{extent:f,pixelSize:c}=a,u=.001*Math.min(c.x,c.y);(c.x!==c.y||Math.abs(o.resolution-c.x)>u)&&(c.x=c.y=o.resolution,a.width=Math.ceil((f.xmax-f.xmin)/c.x-.1),a.height=Math.ceil((f.ymax-f.ymin)/c.y-.1));const h=o.level-l.level,[p,d]=r.size,m=[],g=[],{lods:y}=r;y.forEach((e,t)=>{e.level>=l.level&&e.level<=o.level&&m.push({x:e.resolution,y:e.resolution}),t<y.length-1&&g.push(Math.round(10*e.resolution/y[t+1].resolution)/10)}),m.sort((e,t)=>e.x-t.x);const x=this.computeBlockBoundary(f,p,d,r.origin,m,h),w=m.length>1?m.slice(1):null;let I;n.transposeInfo&&(I={tileSize:[n.transposeInfo.rows,n.transposeInfo.cols],packetSize:a.keyProperties?._yxs.PacketSize??0});const v=g.length<=1||g.length>=3&&g.slice(0,-1).every(e=>e===g[0])?g[0]??2:Math.round(10/(l.resolution/o.resolution)**(-1/h))/10,C=!!n.bsq&&"Raster"===this.tileType;if(a.storageInfo=new X.A({blockWidth:r.size[0],blockHeight:r.size[1],pyramidBlockWidth:r.size[0],pyramidBlockHeight:r.size[1],pyramidResolutions:w,pyramidScalingFactor:v,compression:r.format,origin:r.origin,firstPyramidLevel:1,maximumPyramidLevel:h,tileInfo:r,isBsqTile:C,transposeInfo:I,blockBoundary:x}),function(e){const{extent:t,spatialReference:s}=e;t.xmin>-1&&t.xmax>181&&s?.wkid&&s.isGeographic&&(e.nativeExtent=e.extent,e.transform=new W.A,e.extent=e.transform.forwardTransform(t))}(a),this._set("rasterInfo",a),n.capabilities.toLowerCase().includes("tilemap")){const e={tileInfo:a.storageInfo.tileInfo,parsedUrl:(0,j.An)(this.url),url:this.url,tileServers:[]};this._tilemapCache=new $.d({layer:e})}}async _fetchRasterInfo(e){const t=this.sourceJSON;if("Map"===this.tileType){const e=t.fullExtent||t.extent,s=Math.ceil((e.xmax-e.xmin)/t.pixelSizeX-.1),i=Math.ceil((e.ymax-e.ymin)/t.pixelSizeY-.1),n=f.A.fromJSON(t.spatialReference||e.spatialReference),a=new V.A({x:t.pixelSizeX,y:t.pixelSizeY,spatialReference:n});return new A.A({width:s,height:i,bandCount:3,extent:l.A.fromJSON(e),spatialReference:n,pixelSize:a,pixelType:"u8",statistics:null,keyProperties:{DataType:"processed"}})}const s={...e,query:{...this.ioConfig.customFetchParameters,f:"json"}},i=(0,Y.Tw)(this.url,this.sourceJSON,s),n=t.hasMultidimensions?this.request(`${this.url}/slices`,s).then(e=>e.data?.slices).catch(()=>null):null,a=await Promise.all([i,n]);return this._slices=a[1],a[0]}_fixScaleInServiceInfo(){const{sourceJSON:e}=this;e.minScale&&e.minScale<0&&(e.minScale=0),e.maxScale&&e.maxScale<0&&(e.maxScale=0)}_computeMinMaxLOD(e,t){const{pixelSize:s}=e,i=.5/e.width*s.x,{lods:n}=t,a=t.lodAt(Math.max.apply(null,n.map(e=>e.level))),r=t.lodAt(Math.min.apply(null,n.map(e=>e.level))),{tileType:o}=this;if("Map"===o)return this._levelOffset=n[0].level,[a,r];if("Raster"===o)return[n.find(e=>e.resolution===s.x)??a,r];const{minScale:l,maxScale:f}=this.sourceJSON;let c=a;f>0&&(c=n.find(e=>Math.abs(e.scale-f)<i),c||(c=n.filter(e=>e.scale>f).sort((e,t)=>e.scale>t.scale?1:-1)[0]??a));let u=r;return l>0&&(u=n.find(e=>Math.abs(e.scale-l)<i)??r,this._levelOffset=u.level-r.level),[c,u]}};(0,n.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],K.prototype,"datasetFormat",void 0),(0,n.Cg)([(0,a.MZ)()],K.prototype,"tileType",void 0),K=(0,n.Cg)([(0,a.$K)("esri.layers.raster.datasets.ImageServerRaster")],K);const Q=K;var ee=s(10713);const te=new Map;te.set("Byte","u8"),te.set("Int8","s8"),te.set("UInt8","u8"),te.set("Int16","s16"),te.set("UInt16","u16"),te.set("Int32","s32"),te.set("UInt32","u32"),te.set("Float32","f32"),te.set("Float64","f32"),te.set("Double64","f32");const se=new Map;se.set("none",{blobExtension:".til",isOneSegment:!0,decoderFormat:"bip"}),se.set("lerc",{blobExtension:".lrc",isOneSegment:!1,decoderFormat:"lerc"}),se.set("deflate",{blobExtension:".pzp",isOneSegment:!0,decoderFormat:"deflate"}),se.set("jpeg",{blobExtension:".pjg",isOneSegment:!0,decoderFormat:"jpg"}),se.set("qb3",{blobExtension:".pq3",isOneSegment:!0,decoderFormat:"qb3"});let ie=class extends r.A{constructor(){super(...arguments),this._files=null,this._storageIndex=null,this.datasetFormat="MRF"}async fetchRawTile(e,t,s,i={}){const{blockWidth:n,blockHeight:a,blockBoundary:r}=this.rasterInfo.storageInfo,o=r[e];if(!o||o.maxRow<t||o.maxCol<s||o.minRow>t||o.minCol>s)return null;const{bandCount:l,pixelType:f}=this.rasterInfo,{ranges:c,actualTileWidth:u,actualTileHeight:p}=this._getTileLocation(e,t,s);if(!c||0===c.length)return null;if(c.some(e=>e.from>e.to)){const e=new Uint8Array(n*a);return new h.A({width:n,height:a,pixels:void 0,mask:e,validPixelCount:0})}const{bandIds:d}=this.ioConfig,m=this._getBandSegmentCount(),g=[];let y=0;for(y=0;y<m;y++)d&&!d.includes(y)||g.push(this.request(this._files.data,{range:{from:c[y].from,to:c[y].to},responseType:"array-buffer",signal:i.signal}));const x=await Promise.all(g),w=x.map(e=>e.data.byteLength).reduce((e,t)=>e+t),I=new Uint8Array(w),v=[];let C=0;for(y=0;y<m;y++)v.push(C),I.set(new Uint8Array(x[y].data),C),C+=x[y].data.byteLength;const b=se.get(this.rasterInfo.storageInfo.compression).decoderFormat,T=await this.decodePixelBlock(I.buffer,{width:n,height:a,format:b,planes:d?.length||l,offsets:v,pixelType:f}).catch(()=>null);if(null==T)return null;let{noDataValue:S}=this.rasterInfo;if(null!=S&&"lerc"!==b&&!T.mask&&(S=S[0],null!=S)){const e=T.width*T.height,t=new Uint8Array(e);if(Math.abs(S)>1e24)for(y=0;y<e;y++)Math.abs((T.pixels[0][y]-S)/S)>1e-6&&(t[y]=1);else for(y=0;y<e;y++)T.pixels[0][y]!==S&&(t[y]=1);T.mask=t}let A=0,R=0;if(u!==n||p!==a){let e=T.mask;if(e)for(y=0;y<a;y++)if(R=y*n,y<p)for(A=u;A<n;A++)e[R+A]=0;else for(A=0;A<n;A++)e[R+A]=0;else for(e=new Uint8Array(n*a),T.mask=e,y=0;y<p;y++)for(R=y*n,A=0;A<u;A++)e[R+A]=1}return T}async _open(e){this.datasetName=this.url.slice(this.url.lastIndexOf("/")+1);const t=e?e.signal:null,s=await this.request(this.url,{responseType:"xml",signal:t}),{rasterInfo:i,files:n}=this._parseHeader(s.data),{skipMapInfo:a,skipExtensions:r=[]}=this.ioConfig;if(!r.includes("aux.xml")&&!a){const t=await this._fetchAuxiliaryData(e);null!=t&&(i.statistics=t.statistics??i.statistics,i.histograms=t.histograms,t.histograms&&null==i.statistics&&(i.statistics=(0,T.Pg)(t.histograms)))}a&&this.updateImageSpaceRasterInfo(i),this._set("rasterInfo",i),this._files=n;const o=await this.request(n.index,{responseType:"array-buffer",signal:t});this._storageIndex=function(e){if(e.byteLength%16>0)throw new Error("invalid array buffer must be multiples of 16");let t,s,i,n,a,r;if(ee.Z){for(s=new Uint8Array(e),n=new ArrayBuffer(e.byteLength),i=new Uint8Array(n),a=0;a<e.byteLength/4;a++)for(r=0;r<4;r++)i[4*a+r]=s[4*a+3-r];t=new Uint32Array(n)}else t=new Uint32Array(e);return t}(o.data);const{blockWidth:l,blockHeight:f}=this.rasterInfo.storageInfo,c=this.rasterInfo.storageInfo.pyramidScalingFactor,{width:u,height:h}=this.rasterInfo,p=[],d=this._getBandSegmentCount();let m=0,g=-1;for(;m<this._storageIndex.length;){g++;const e=Math.ceil(u/l/c**g)-1,t=Math.ceil(h/f/c**g)-1;m+=(e+1)*(t+1)*d*4,p.push({maxRow:t,maxCol:e,minCol:0,minRow:0})}this.rasterInfo.storageInfo.blockBoundary=p,g>0&&(this.rasterInfo.storageInfo.firstPyramidLevel=1,this.rasterInfo.storageInfo.maximumPyramidLevel=g),this.updateTileInfo()}_getBandSegmentCount(){return se.get(this.rasterInfo.storageInfo.compression).isOneSegment?1:this.rasterInfo.bandCount}_getTileLocation(e,t,s){const{blockWidth:i,blockHeight:n,pyramidScalingFactor:a}=this.rasterInfo.storageInfo,{width:r,height:o}=this.rasterInfo,l=this._getBandSegmentCount();let f,c,u,h=0,p=0;for(u=0;u<e;u++)p=a**u,f=Math.ceil(r/i/p),c=Math.ceil(o/n/p),h+=f*c;p=a**e,f=Math.ceil(r/i/p),c=Math.ceil(o/n/p),h+=t*f+s,h*=4*l;const d=this._storageIndex.subarray(h,h+4*l);let m=0,g=0;const y=[];for(let e=0;e<l;e++)m=d[4*e]*2**32+d[4*e+1],g=m+d[4*e+2]*2**32+d[4*e+3]-1,y.push({from:m,to:g});return{ranges:y,actualTileWidth:s<f-1?i:Math.ceil(r/p)-i*(f-1),actualTileHeight:t<c-1?n:Math.ceil(o/p)-n*(c-1)}}_parseHeader(e){const t=(0,N.V6)(e,"MRF_META/Raster");if(!t)throw new i.A("mrf:open","not a valid MRF format");const s=(0,N.V6)(t,"Size"),n=parseInt(s.getAttribute("x"),10),a=parseInt(s.getAttribute("y"),10),r=parseInt(s.getAttribute("c"),10),o=((0,N.mX)(t,"Compression")||"none").toLowerCase();if(!se.has(o))throw new i.A("mrf:open","currently does not support compression "+o);const c=(0,N.mX)(t,"DataType")||"UInt8",u=te.get(c);if(null==u)throw new i.A("mrf:open","currently does not support pixel type "+c);const h=(0,N.V6)(t,"PageSize"),p=parseInt(h.getAttribute("x"),10),d=parseInt(h.getAttribute("y"),10),m=(0,N.V6)(t,"DataValues");let g,y;if(m&&(y=m.getAttribute("NoData"),null!=y&&(g=y.trim().split(" ").map(e=>parseFloat(e)))),(0,N.V6)(e,"MRF_META/CachedSource"))throw new i.A("mrf:open","currently does not support MRF referencing other data files");const x=(0,N.V6)(e,"MRF_META/GeoTags"),w=(0,N.V6)(x,"BoundingBox");let I,v=!1;if(null!=w){const e=parseFloat(w.getAttribute("minx")),t=parseFloat(w.getAttribute("miny")),s=parseFloat(w.getAttribute("maxx")),i=parseFloat(w.getAttribute("maxy")),n=(0,N.mX)(x,"Projection")||"";let a=f.A.WGS84;if("LOCAL_CS[]"!==n)if(n.toLowerCase().startsWith("epsg:")){const e=Number(n.slice(5));isNaN(e)||0===e||(a=new f.A({wkid:e}))}else a=L(n)??f.A.WGS84;else v=!0,a=new f.A({wkid:3857});I=new l.A(e,t,s,i),I.spatialReference=a}else v=!0,I=new l.A({xmin:-.5,ymin:.5-a,xmax:n-.5,ymax:.5,spatialReference:new f.A({wkid:3857})});const C=(0,N.V6)(e,"MRF_META/Rsets"),b=parseInt(C?.getAttribute("scale")||"2",10),T=I.spatialReference,S=new X.A({origin:new V.A({x:I.xmin,y:I.ymax,spatialReference:T}),blockWidth:p,blockHeight:d,pyramidBlockWidth:p,pyramidBlockHeight:d,compression:o,pyramidScalingFactor:b}),R=new V.A({x:I.width/n,y:I.height/a,spatialReference:T}),M=new A.A({width:n,height:a,extent:I,isPseudoSpatialReference:v,spatialReference:T,bandCount:r,pixelType:u,pixelSize:R,noDataValue:g,storageInfo:S}),O=(0,N.mX)(e,"datafile"),k=(0,N.mX)(e,"IndexFile");return{rasterInfo:M,files:{mrf:this.url,index:k||this.url.replace(".mrf",".idx"),data:O||this.url.replace(".mrf",se.get(o).blobExtension)}}}async _fetchAuxiliaryData(e){try{const{data:t}=await this.request(this.url+".aux.xml",{responseType:"xml",signal:e?.signal});return U(t)}catch{return null}}};(0,n.Cg)([(0,a.MZ)()],ie.prototype,"_files",void 0),(0,n.Cg)([(0,a.MZ)()],ie.prototype,"_storageIndex",void 0),(0,n.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],ie.prototype,"datasetFormat",void 0),ie=(0,n.Cg)([(0,a.$K)("esri.layers.raster.datasets.MRFRaster")],ie);const ne=ie;var ae=s(53966),re=s(9334);function oe(e){const t=e.fields,s=e.records,i=t.some(e=>"oid"===e.name.toLowerCase())?"OBJECTID":"OID",n=[{name:i,type:"esriFieldTypeOID",alias:"OID"}].concat(t.map(e=>({name:e.name,type:"esriFieldType"+e.typeName,alias:e.name}))),a=n.map(e=>e.name),r=[];let o=0,l=0;return s.forEach(e=>{const t={};for(t[i]=o++,l=1;l<a.length;l++)t[a[l]]=e[l-1];r.push({attributes:t})}),{displayFieldName:"",fields:n,features:r}}class le{static get supportedVersions(){return[5]}static parse(e){const t=new DataView(e),s=3&t.getUint8(0);if(3!==s)return{header:{version:s},recordSet:null};const i=t.getUint32(4,!0),n=t.getUint16(8,!0),a=t.getUint16(10,!0),r={version:s,recordCount:i,headerByteCount:n,recordByteCount:a};let o=32;const l=[],f=[];let c;if(3===s){for(;13!==t.getUint8(o);)c=String.fromCharCode(t.getUint8(o+11)).trim(),l.push({name:(0,re.w)(new Uint8Array(e,o,11)),type:c,typeName:["String","Date","Double","Boolean","String","Integer"][["C","D","F","L","M","N"].indexOf(c)],length:t.getUint8(o+16)}),o+=32;if(o+=1,l.length>0)for(;f.length<i&&e.byteLength-o>a;){const s=[];32===t.getUint8(o)?(o+=1,l.forEach(t=>{if("C"===t.type)s.push((0,re.w)(new Uint8Array(e,o,t.length)).trim());else if("N"===t.type)s.push(parseInt(String.fromCharCode.apply(null,new Uint8Array(e,o,t.length)).trim(),10));else if("F"===t.type)s.push(parseFloat(String.fromCharCode.apply(null,new Uint8Array(e,o,t.length)).trim()));else if("D"===t.type){const i=String.fromCharCode.apply(null,new Uint8Array(e,o,t.length)).trim();s.push(new Date(parseInt(i.slice(0,4),10),parseInt(i.slice(4,6),10)-1,parseInt(i.slice(6,8),10)))}o+=t.length}),f.push(s)):o+=a}}return{header:r,fields:l,records:f,recordSet:oe({fields:l,records:f})}}}var fe=s(87877),ce=s(94213);const ue=(e,t)=>e.get(t)?.values,he=(e,t)=>e.get(t)?.values?.[0];let pe=class extends r.A{constructor(){super(...arguments),this._files=null,this._headerInfo=null,this._bufferSize=1048576,this._chunkSize=10485760,this.datasetFormat="TIFF"}async fetchRawTile(e,t,s,i={}){if(!this._headerInfo?.isSupported||this.isBlockOutside(e,t,s))return null;const n=await this._fetchRawTiffTile(e,t,s,!1,i);if(null!=n&&this._headerInfo.hasMaskBand){const a=await this._fetchRawTiffTile(e,t,s,!0,i);null!=a&&a.pixels[0]instanceof Uint8Array&&(n.mask=a.pixels[0])}return n}async _open(e){const t=e?e.signal:null,{data:s}=await this.request(this.url,{range:{from:0,to:this._bufferSize},responseType:"array-buffer",signal:t});if(!s)throw new i.A("tiffraster:open","failed to open url "+this.url);this.datasetName=this.url.slice(this.url.lastIndexOf("/")+1,this.url.lastIndexOf("."));const{littleEndian:n,firstIFDPos:a,isBigTiff:r}=(0,fe.uT)(s),o=[],c={fileChunk:s,posIFD:a,fileOffset:0};await this._readIFDs(o,c,n,r?8:4,t);const{imageInfo:u,rasterInfo:h}=function(e){const t=(0,fe.uc)(e),{width:s,height:i,tileWidth:n,tileHeight:a,planes:r,pixelType:o,compression:c,firstPyramidLevel:u,maximumPyramidLevel:h,pyramidBlockWidth:p,pyramidBlockHeight:d,pyramidResolutions:m,tileBoundary:g,affine:y,metadata:x}=t;let w=L(t.extent.spatialReference?.wkt||t.extent.spatialReference?.wkid),I=!!t.isPseudoGeographic;null==w&&(I=!0,w=new f.A({wkid:3857}));const v=new l.A({...t.extent,spatialReference:w}),C=new V.A(v?{x:v.xmin,y:v.ymax,spatialReference:w}:{x:0,y:0}),b=new X.A({blockWidth:n,blockHeight:a,pyramidBlockWidth:p,pyramidBlockHeight:d,compression:c,origin:C,firstPyramidLevel:u,maximumPyramidLevel:h,pyramidResolutions:m,blockBoundary:g}),T=new V.A({x:(v.xmax-v.xmin)/s,y:(v.ymax-v.ymin)/i,spatialReference:w}),S=x?{BandProperties:x.bandProperties,DataType:x.dataType}:{};let R=null;const M=he(e[0],"PHOTOMETRICINTERPRETATION"),O=ue(e[0],"COLORMAP");if(M<=3&&O?.length>3&&O.length%3==0){R=[];const e=O.length/3;for(let t=0;t<e;t++)R.push([t,O[t]>>>8,O[t+e]>>>8,O[t+2*e]>>>8])}const k=new A.A({width:s,height:i,bandCount:r,pixelType:o,pixelSize:T,storageInfo:b,spatialReference:w,isPseudoSpatialReference:I,keyProperties:S,extent:v,colormap:R,statistics:x?x.statistics:null});if(y?.length&&(k.nativeExtent=new l.A({xmin:-.5,ymin:.5-i,xmax:s-.5,ymax:.5,spatialReference:w}),k.transform=new D.A({polynomialOrder:1,forwardCoefficients:[y[2]+y[0]/2,y[5]-y[3]/2,y[0],y[3],-y[1],-y[4]]}),k.extent=k.transform.forwardTransform(k.nativeExtent),k.pixelSize=new V.A({x:(v.xmax-v.xmin)/s,y:(v.ymax-v.ymin)/i,spatialReference:w}),b.origin.x=-.5,b.origin.y=.5),m){const{x:e,y:t}=k.pixelSize;m.forEach(s=>{s.x*=e,s.y*=t})}return{imageInfo:t,rasterInfo:k}}(o),p=(0,fe.zS)(o),d=(0,fe.r9)(o);if(this._headerInfo={littleEndian:n,isBigTiff:r,ifds:o,pyramidIFDs:p,maskIFDs:d,...u},this._set("rasterInfo",h),!u.isSupported)throw new i.A("tiffraster:open","this tiff is not supported: "+u.message);if(!u.tileWidth)throw new i.A("tiffraster:open","none-tiled tiff is not optimized for access, convert to COG and retry.");h.isPseudoSpatialReference&&ae.A.getLogger(this).warn("The spatial reference for this tiff is unsupported. Only EPSG spatial reference codes and Esri WKTs are supported.");const m=o[0].get("PREDICTOR")?.values?.[0],g=o[0].get("SAMPLEFORMAT")?.values?.[0];if(3===g&&2===m)throw new i.A("tiffraster:open","unsupported horizontal difference encoding. Predictor=3 is supported for floating point data");const{skipMapInfo:y,skipExtensions:x=[]}=this.ioConfig;if(!x.includes("aux.xml")&&!y){const t=await this._fetchAuxiliaryMetaData(e);null!=t&&function(e,t){if(t.statistics=e.statistics??t.statistics,t.histograms=e.histograms,e.histograms&&null==t.statistics&&(t.statistics=(0,T.Pg)(e.histograms)),e.transform&&null==t.transform){t.transform=e.transform,t.nativeExtent=t.extent;const s=t.transform.forwardTransform(t.nativeExtent);t.pixelSize=new V.A({x:(s.xmax-s.xmin)/t.width,y:(s.ymax-s.ymin)/t.height,spatialReference:t.spatialReference}),t.extent=s}t.isPseudoSpatialReference&&e.spatialReference&&(t.spatialReference=e.spatialReference,t.extent.spatialReference=t.nativeExtent.spatialReference=t.storageInfo.origin.spatialReference=t.spatialReference)}(t,h)}x.includes("vat.dbf")||1!==h.bandCount||"u8"!==h.pixelType||y||(h.attributeTable=await this._fetchAuxiliaryTable(e),null!=h.attributeTable&&(h.keyProperties.DataType="thematic")),y&&this.updateImageSpaceRasterInfo(h),this.updateTileInfo()}async _validateOrFetchHeaderBuffer(e,t){let{fileChunk:s,fileOffset:i,posIFD:n}=e;return(n+8>=s.byteLength||n<0)&&(i=n+i,s=(await this.request(this.url,{range:{from:i,to:i+this._bufferSize},responseType:"array-buffer",signal:t})).data,n=0),{fileChunk:s,fileOffset:i,posIFD:n}}async _readIFDs(e,t,s,n=4,a){if(!t.posIFD)return null;t=await this._validateOrFetchHeaderBuffer(t,a);const r=await this._readIFD(t,s,ce.NB,n,a);if(!r?.ifd)throw new i.A("tiffraster:open","cannot parse tiff header. failed to open url "+this.url);if(e.push(r.ifd),!r.nextIFD)return null;t.posIFD=r.nextIFD-t.fileOffset,await this._readIFDs(e,t,s,n,a)}async _readIFD(e,t,s=ce.NB,i=4,n){let{fileChunk:a,posIFD:r,fileOffset:o}=e;if(!e.fileChunk)return null;const l=(0,fe.JM)(a,t,r,o,s,i);if(l.success){const e=[];if(l.ifd?.forEach(t=>{t.values||e.push(t)}),e.length>0&&await this._fillOffsets(e,t,l.nextIFD,n),l.ifd?.has("GEOKEYDIRECTORY")){const e=l.ifd.get("GEOKEYDIRECTORY"),s=e?.values;if(s&&s.length>4){const i=s[0]+"."+s[1]+"."+s[2];r=e.valueOffset+6-o;const l=await this._validateOrFetchHeaderBuffer({fileChunk:a,posIFD:r,fileOffset:o},n),f=await this._readIFD(l,t,ce.YC,2,n);e.data=f?.ifd,e.data&&e.data.set("GEOTIFFVersion",{id:0,type:2,valueCount:1,valueOffset:null,values:[i]})}}return l}return l.requiredBufferSize?(a=(await this.request(this.url,{range:{from:o,to:o+r+l.requiredBufferSize+8},responseType:"array-buffer",signal:n})).data,a.byteLength<r+l.requiredBufferSize?null:(e.fileChunk=a,e.fileOffset=o,this._readIFD(e,t,s,i,n))):null}async _fillOffsets(e,t,s,i){const n=e.filter(e=>null!=e.offlineOffsetSize);if(0===n.length)return;const a=n.map(e=>e.offlineOffsetSize),r=Math.min.apply(null,a.map(e=>e[0])),o=Math.max.apply(null,a.map(e=>e[0]+e[1]));let l=1===a.length||o-r<=this._bufferSize;if(!l&&a.length>1&&(a.sort((e,t)=>e[0]-t[0]),l=a.reduce((e,t)=>e===t[0]?t[0]+t[1]:0,a[0][0])===o),l){const e=await this._fetchOffsets(r,Math.max(o,r+this._bufferSize),i);return void n.forEach(s=>(0,fe.Cr)(e,t,s,r))}const f=n.map(async e=>{const s=e.offlineOffsetSize,n=await this._fetchOffsets(s[0],s[1]+s[0],i);(0,fe.Cr)(n,t,e,s[0])});await Promise.all(f)}async _fetchOffsets(e,t,s){const i=[],n=this._chunkSize,a=Math.ceil((t-e)/n);let r=e;for(let e=0;e<a;e++)i.push(this.request(this.url,{range:{from:r,to:e===a-1?t:r+n-1},responseType:"array-buffer",signal:s})),r+=n;const o=await Promise.all(i);if(1===a)return o[0].data;const l=new Uint8Array(t-e+1);for(let e=0;e<a;e++)l.set(new Uint8Array(o[e].data),e*n);return l.buffer}async _fetchRawTiffTile(e,t,s,i,n={}){const a=this._getTileLocation(e,t,s,i);if(!a)return null;const{ranges:r,actualTileWidth:o,actualTileHeight:l,ifd:f}=a,c=r.map(e=>this.request(this.url,{range:e,responseType:"array-buffer",signal:n.signal})),u=await Promise.all(c),h=u.map(e=>e.data.byteLength).reduce((e,t)=>e+t),p=1===u.length?u[0].data:new ArrayBuffer(h),d=[0],m=[0];if(u.length>1){const e=new Uint8Array(p);for(let t=0,s=0;t<u.length;t++){const i=u[t].data;e.set(new Uint8Array(i),s),d[t]=s,s+=i.byteLength,m[t]=i.byteLength}}const{blockWidth:g,blockHeight:y}=this.getBlockWidthHeight(e),x=await this.decodePixelBlock(p,{format:"tiff",customOptions:{headerInfo:this._headerInfo,ifd:f,offsets:d,sizes:m},width:g,height:y,planes:null,pixelType:null});if(null==x)return null;if(o!==g||l!==y){let e=x.mask;if(e)for(let t=0;t<y;t++){const s=t*g;if(t<l)for(let t=o;t<g;t++)e[s+t]=0;else for(let t=0;t<g;t++)e[s+t]=0}else{e=new Uint8Array(g*y),x.mask=e;for(let t=0;t<l;t++){const s=t*g;for(let t=0;t<o;t++)e[s+t]=1}}}return x}_getTileLocation(e,t,s,i=!1){const{firstPyramidLevel:n,blockBoundary:a}=this.rasterInfo.storageInfo,r=0===e?0:e-(n-1),{_headerInfo:o}=this;if(!o)return null;const l=i?o.maskIFDs[r]:0===r?o?.ifds[0]:o?.pyramidIFDs[r-1];if(!l)return null;const f=(0,fe.XO)(l,o),c=ue(l,"TILEOFFSETS");if(void 0===c)return null;const u=ue(l,"TILEBYTECOUNTS"),{minRow:h,minCol:p,maxRow:d,maxCol:m}=a[r];if(t>d||s>m||t<h||s<p)return null;const g=he(l,"IMAGEWIDTH"),y=he(l,"IMAGELENGTH"),x=he(l,"TILEWIDTH"),w=he(l,"TILELENGTH"),I=[];if(f){const{bandCount:e}=this.rasterInfo;for(let i=0;i<e;i++){const e=i*(d+1)*(m+1)+t*(m+1)+s;I[i]={from:c[e],to:c[e]+u[e]-1}}}else{const e=t*(m+1)+s;I.push({from:c[e],to:c[e]+u[e]-1})}for(let e=0;e<I.length;e++)if(null==I[e].from||!I[e].to||I[e].to<0)return null;return{ranges:I,ifd:l,actualTileWidth:s===m&&g%x||x,actualTileHeight:t===d&&y%w||w}}async _fetchAuxiliaryMetaData(e){try{const{data:t}=await this.request(this.url+".aux.xml",{responseType:"xml",signal:e?.signal});return U(t)}catch{return null}}async _fetchAuxiliaryTable(e){try{const{data:t}=await this.request(this.url+".vat.dbf",{responseType:"array-buffer",signal:e?.signal}),s=le.parse(t);return s?.recordSet?O.A.fromJSON(s.recordSet):null}catch{return null}}};(0,n.Cg)([(0,a.MZ)()],pe.prototype,"_files",void 0),(0,n.Cg)([(0,a.MZ)()],pe.prototype,"_headerInfo",void 0),(0,n.Cg)([(0,a.MZ)()],pe.prototype,"_bufferSize",void 0),(0,n.Cg)([(0,a.MZ)()],pe.prototype,"_chunkSize",void 0),(0,n.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],pe.prototype,"datasetFormat",void 0),pe=(0,n.Cg)([(0,a.$K)("esri.layers.raster.datasets.TIFFRaster")],pe);const de=pe,me=new Map;me.set("MRF",{desc:"Meta Raster Format",constructor:ne}),me.set("TIFF",{desc:"GeoTIFF",constructor:de}),me.set("RasterTileServer",{desc:"Raster Tile Server",constructor:Q}),me.set("JPG",{desc:"JPG Raster Format",constructor:G}),me.set("PNG",{desc:"PNG Raster Format",constructor:G}),me.set("GIF",{desc:"GIF Raster Format",constructor:G}),me.set("BMP",{desc:"BMP Raster Format",constructor:G}),me.set("CovJSON",{desc:"COVJSON Raster Format",constructor:_}),me.set("MEMORY",{desc:"In Memory Raster Format",constructor:M});class ge{static get supportedFormats(){const e=new Set;return me.forEach((t,s)=>e.add(s)),e}static async open(e){const{url:t,ioConfig:s,source:n,sourceJSON:a}=e;let r=e.datasetFormat??s?.datasetFormat;null==r&&(t.includes(".")?r=t.slice(t.lastIndexOf(".")+1).toUpperCase():"coverage"===n?.type?.toLowerCase()?r="CovJSON":n?.extent&&n.pixelblocks&&(r="MEMORY")),"OVR"===r||"TIF"===r?r="TIFF":"JPG"===r||"JPEG"===r||"JFIF"===r?r="JPG":"COVJSON"===r&&(r="CovJSON"),t.toLowerCase().includes("/imageserver")&&!t.toLowerCase().includes("/wcsserver")&&(r="RasterTileServer");const o={url:t,source:n,sourceJSON:a,datasetFormat:r,ioConfig:s??{bandIds:null,sampling:null}};if(Object.keys(o).forEach(e=>{null==o[e]&&delete o[e]}),r){if(!this.supportedFormats.has(r))throw new i.A("rasterfactory:open","not a supported format "+r);if("CRF"===r)throw new i.A("rasterfactory:open",`cannot open raster: ${t}`);const s=new(0,me.get(r).constructor)(o);return await s.open({signal:e.signal}),s}const l=Array.from(me.keys()).filter(e=>"CovJSON"!==e&&"Memory"!==e);let f=0;const c=()=>{if(r=l[f++],!r)return null;if("CRF"===r)return null;const t=new(0,me.get(r).constructor)(o);return t.open({signal:e.signal}).then(()=>t).catch(()=>c())};return c()}static register(e,t,s){me.has(e.toUpperCase())||me.set(e.toUpperCase(),{desc:t,constructor:s})}}},10333(e,t,s){s.d(t,{A:()=>r});var i=s(5482),n=s(25482),a=s(91429);let r=class extends n.o{get affectsPixelSize(){return!1}forwardTransform(e){return e}inverseTransform(e){return e}};(0,i.Cg)([(0,a.MZ)()],r.prototype,"affectsPixelSize",null),(0,i.Cg)([(0,a.MZ)({json:{write:!0}})],r.prototype,"spatialReference",void 0),r=(0,i.Cg)([(0,a.$K)("esri.layers.raster.transforms.BaseRasterTransform")],r)},75414(e,t,s){s.d(t,{A:()=>l});var i,n=s(5482),a=s(91429),r=s(10333),o=s(93223);let l=i=class extends r.A{constructor(){super(...arguments),this.type="gcs-shift",this.tolerance=1e-8}forwardTransform(e){return"point"===(e=e.clone()).type?(e.x>180+this.tolerance&&(e.x-=360),e):(e.xmin>=180-this.tolerance?(e.xmax-=360,e.xmin-=360):e.xmax>180+this.tolerance&&(e.xmin=-180,e.xmax=180),e)}inverseTransform(e){return"point"===(e=e.clone()).type?(e.x<-this.tolerance&&(e.x+=360),e):(e.xmin<-this.tolerance&&(e.xmin+=360,e.xmax+=360),e)}clone(){return new i({tolerance:this.tolerance})}};(0,n.Cg)([(0,o.e)({GCSShiftXform:"gcs-shift"})],l.prototype,"type",void 0),(0,n.Cg)([(0,a.MZ)()],l.prototype,"tolerance",void 0),l=i=(0,n.Cg)([(0,a.$K)("esri.layers.raster.transforms.GCSShiftTransform")],l)},43163(e,t,s){s.d(t,{A:()=>d});var i,n=s(5482),a=s(91429),r=s(5443),o=s(86738),l=s(10333),f=s(36005),c=s(43937),u=s(93223);function h(e,t,s){const{x:i,y:n}=t;if(s<2)return{x:e[0]+i*e[2]+n*e[4],y:e[1]+i*e[3]+n*e[5]};if(2===s){const t=i*i,s=n*n,a=i*n;return{x:e[0]+i*e[2]+n*e[4]+t*e[6]+a*e[8]+s*e[10],y:e[1]+i*e[3]+n*e[5]+t*e[7]+a*e[9]+s*e[11]}}const a=i*i,r=n*n,o=i*n,l=a*i,f=a*n,c=i*r,u=n*r;return{x:e[0]+i*e[2]+n*e[4]+a*e[6]+o*e[8]+r*e[10]+l*e[12]+f*e[14]+c*e[16]+u*e[18],y:e[1]+i*e[3]+n*e[5]+a*e[7]+o*e[9]+r*e[11]+l*e[13]+f*e[15]+c*e[17]+u*e[19]}}function p(e,t,s){const{xmin:i,ymin:n,xmax:a,ymax:o,spatialReference:l}=t;let f=[];if(s<2)f.push({x:i,y:o}),f.push({x:a,y:o}),f.push({x:i,y:n}),f.push({x:a,y:n});else{let e=10;for(let t=0;t<e;t++)f.push({x:i,y:n+(o-n)*t/(e-1)}),f.push({x:a,y:n+(o-n)*t/(e-1)});e=8;for(let t=1;t<=e;t++)f.push({x:i+(a-i)*t/e,y:n}),f.push({x:i+(a-i)*t/e,y:o})}f=f.map(t=>h(e,t,s));const c=f.map(e=>e.x),u=f.map(e=>e.y);return new r.A({xmin:Math.min.apply(null,c),xmax:Math.max.apply(null,c),ymin:Math.min.apply(null,u),ymax:Math.max.apply(null,u),spatialReference:l})}let d=i=class extends l.A{constructor(){super(...arguments),this.polynomialOrder=1,this.type="polynomial"}readForwardCoefficients(e,t){const{coeffX:s,coeffY:i}=t;if(!s?.length||!i?.length||s.length!==i.length)return null;const n=[];for(let e=0;e<s.length;e++)n.push(s[e]),n.push(i[e]);return n}writeForwardCoefficients(e,t,s){const i=[],n=[];for(let t=0;t<e?.length;t++)t%2==0?i.push(e[t]):n.push(e[t]);t.coeffX=i,t.coeffY=n}get inverseCoefficients(){let e=this._get("inverseCoefficients");const t=this._get("forwardCoefficients");return!e&&t&&this.polynomialOrder<2&&(e=function(e){const[t,s,i,n,a,r]=e,o=i*r-a*n,l=a*n-i*r;return[(a*s-t*r)/o,(i*s-t*n)/l,r/o,n/l,-a/o,-i/l]}(t)),e}set inverseCoefficients(e){this._set("inverseCoefficients",e)}readInverseCoefficients(e,t){const{inverseCoeffX:s,inverseCoeffY:i}=t;if(!s?.length||!i?.length||s.length!==i.length)return null;const n=[];for(let e=0;e<s.length;e++)n.push(s[e]),n.push(i[e]);return n}writeInverseCoefficients(e,t,s){const i=[],n=[];for(let t=0;t<e?.length;t++)t%2==0?i.push(e[t]):n.push(e[t]);t.inverseCoeffX=i,t.inverseCoeffY=n}get affectsPixelSize(){return this.polynomialOrder>0}forwardTransform(e){if("point"===e.type){const t=h(this.forwardCoefficients,e,this.polynomialOrder);return new o.A({x:t.x,y:t.y,spatialReference:e.spatialReference})}return p(this.forwardCoefficients,e,this.polynomialOrder)}inverseTransform(e){if("point"===e.type){const t=h(this.inverseCoefficients,e,this.polynomialOrder);return new o.A({x:t.x,y:t.y,spatialReference:e.spatialReference})}return p(this.inverseCoefficients,e,this.polynomialOrder)}clone(){return new i({polynomialOrder:this.polynomialOrder,forwardCoefficients:this.forwardCoefficients?[...this.forwardCoefficients]:null,inverseCoefficients:this.inverseCoefficients?[...this.inverseCoefficients]:null})}};(0,n.Cg)([(0,a.MZ)({json:{write:!0}})],d.prototype,"polynomialOrder",void 0),(0,n.Cg)([(0,a.MZ)()],d.prototype,"forwardCoefficients",void 0),(0,n.Cg)([(0,f.w)("forwardCoefficients",["coeffX","coeffY"])],d.prototype,"readForwardCoefficients",null),(0,n.Cg)([(0,c.K)("forwardCoefficients")],d.prototype,"writeForwardCoefficients",null),(0,n.Cg)([(0,a.MZ)({json:{write:!0}})],d.prototype,"inverseCoefficients",null),(0,n.Cg)([(0,f.w)("inverseCoefficients",["inverseCoeffX","inverseCoeffY"])],d.prototype,"readInverseCoefficients",null),(0,n.Cg)([(0,c.K)("inverseCoefficients")],d.prototype,"writeInverseCoefficients",null),(0,n.Cg)([(0,a.MZ)()],d.prototype,"affectsPixelSize",null),(0,n.Cg)([(0,u.e)({PolynomialXform:"polynomial"})],d.prototype,"type",void 0),d=i=(0,n.Cg)([(0,a.$K)("esri.layers.raster.transforms.PolynomialTransform")],d)}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[561],{5359(e,t,r){r.d(t,{H:()=>s,Z:()=>i});const s=Symbol("isImageryTileGraphicOrigin");function i(e){return!!e&&s in e}},90561(e,t,r){r.r(t),r.d(t,{default:()=>B});var s,i=r(5482),a=r(37838),o=r(69540),n=r(49186),l=r(53966),p=r(25728),c=r(74887),h=r(36708),u=r(91429),d=r(56507),y=r(89808),g=r(99959),m=r(5359);class f extends g.A{get[(s=m.H,y.Q)](){return this.layer}constructor(e){super(),this[s]=!0,this.type="imagery-tile",this.layer=e}get id(){return this.layer.id}}var v=r(4146),w=r(18768),R=r(63074),S=r(69208),_=r(16131),O=r(8303),I=r(72545),F=r(56551),C=r(54310),b=r(25036),M=r(82935),A=r(82806),P=r(7548),N=r(23636),J=r(1003),T=r(99235),Z=r(10873),L=r(20437),x=r(74797),E=r(22796),j=r(87045),D=r(24212),W=r(30291),k=r(88625),U=r(59923);let z=class extends((0,R.dM)((0,b.j)((0,_.q)((0,O.A)((0,F.H)((0,S.d)((0,A.b)((0,I.G)((0,M.e)((0,w.b)((0,C.J)((0,p.M)((0,o.OU)(v.A)))))))))))))){constructor(...e){super(...e),this._primaryRasters=[],this.graphicOrigin=new f(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,c.sg)(async(e,t,s)=>{const{save:i,saveAs:a}=await r.e(9838).then(r.bind(r,59838));switch(e){case 0:return i(this,t);case 1:return a(this,s,t)}})}normalizeCtorArgs(e,t){return"string"==typeof e?{url:e,...t}:e}load(e){const t=null!=e?e.signal:null;return this.addResolvingPromise(this.loadFromPortal({supportedTypes:["Image Service"]},e).catch(c.QP).then(()=>this._openRaster(t))),Promise.resolve(this)}set elevationInfo(e){"relative-to-scene"!==e?.mode&&this._set("elevationInfo",e),this._validateElevationInfo(e)}get defaultPopupTemplate(){return this.createPopupTemplate()}get rasterFields(){const e=[(0,x.rZ)("Pixel Value"),(0,x.dy)("Raw Pixel Value")],t=this.raster?.rasterInfo??this.serviceRasterInfo,r=t?.attributeTable;if(r){const t=(0,x.jC)(r);e.push(...t)}const s=t?.dataType,i=t?.multidimensionalInfo;if(("vector-magdir"===s||"vector-uv"===s)&&null!=i){const t=i.variables[0].unit?.trim(),r=(0,x.DV)(t),s=(0,x.y6)();e.push(r,s)}if(i){const t=(0,x.AL)(i);e.push(...t)}return e}get renderer(){return super.renderer}set renderer(e){super.renderer=e}createPopupTemplate(e){const{rasterFields:t}=this,r=e?.visibleFieldNames??new Set(t.map(({name:e})=>e).filter(e=>e!==x.F_.rawServicePixelValue)),s=(0,W.tn)({fields:t,title:this.title},{...e,visibleFieldNames:r}),{rasterInfo:i}=this.raster;return s?.fieldInfos&&i&&(0,x.h4)(s.fieldInfos,i),s}async generateRasterInfo(e,t){const r=(0,d.PZ)(E.A,e);if(await this.load(),!r||"none"===r.functionName?.toLowerCase())return this.serviceRasterInfo;try{const{rasterInfo:e}=await this._openFunctionRaster(r,t);return e}catch(e){if(e instanceof n.A)throw e;throw new n.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)}supportsWrite(){const 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,U.U4)(t,this),null)}async hasDataChanged(){try{const e=this._primaryRasters[0]??this.raster,{dataChanged:t,updates:r}=await e.refresh();return t&&(this.serviceRasterInfo!==e.rasterInfo&&this._set("serviceRasterInfo",e.rasterInfo),e.sourceJSON&&this.sourceJSON!==e.sourceJSON&&(this.sourceJSON=e.sourceJSON),r&&this.read(r,{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,P.qg)(this.raster),!t&&this.rasterFunction&&(this._primaryRasters=[this.raster],await this._initializeWithFunctionRaster(this.rasterFunction));else{const{url:t,rasterFunction:r,source:s}=this;if(!t&&!s)throw new n.A("imagery-tile-layer:open","missing url or source parameter");s?await this._openFromSource(s,e):r?await this._openFromUrlWithRasterFunction(t,r,e):await this._openFromUrl(t,e)}const r=this.raster.rasterInfo;if(!r)throw new n.A("imagery-tile-layer:load","cannot load resources on "+this.url);if(this._set("serviceRasterInfo",t?r:this._primaryRasters[0].rasterInfo),this._set("spatialReference",r.spatialReference),this.sourceJSON=this.sourceJSON||this.raster.sourceJSON,null!=this.sourceJSON){const e="Map"===this.raster.tileType&&null!=this.sourceJSON.minLOD&&null!=this.sourceJSON.maxLOD?this.sourceJSON:{...this.sourceJSON,minScale:0,maxScale:0};this.read(e,{origin:"service"})}else this.read({tileInfo:this.serviceRasterInfo?.storageInfo.tileInfo.toJSON()},{origin:"service"});this.title||(this.title=this.raster.datasetName),"Map"===this.raster.tileType&&(this.popupEnabled=!1),this._configDefaultSettings(),this.addHandles((0,h.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,P.pb)(e),this.url||(this.url=this._primaryRasters[0].url)}async _openFromUrlWithRasterFunction(e,t,r){const s=[e];t&&(0,T.UD)(t.toJSON(),s);const i=await Promise.all(s.map(e=>J.default.open({url:e,sourceJSON:this.sourceJSON,ioConfig:{sampling:"closest",...this.ioConfig,customFetchParameters:this.customParameters},signal:r}))),a=i.findIndex(e=>null==e);if(a>-1)throw new n.A("imagery-tile-layer:open",`cannot open raster: ${s[a]}`);return this._primaryRasters=i,this._initializeWithFunctionRaster(t)}async _openFromUrl(e,t){const r=await J.default.open({url:e,sourceJSON:this.sourceJSON,ioConfig:{sampling:"closest",...this.ioConfig,customFetchParameters:this.customParameters},signal:t});if(null==r)throw new n.A("imagery-tile-layer:open",`cannot open raster: ${e}`);this._primaryRasters=[r],this.raster=r}async _openFromSource(e,t){const r="the tiled imagery data source is not supported",s="coverage"===e.type?.toLowerCase()?"CovJSON":e.extent&&e.pixelBlock?"MEMORY":null;if(!s)throw new n.A("imagery-tile-layer:open",r);"MEMORY"===s&&(e={...e,pixelBlock:void 0,pixelBlocks:[e.pixelBlock]});const i=await J.default.open({url:"",source:e,datasetFormat:s,ioConfig:{sampling:"closest",...this.ioConfig,customFetchParameters:this.customParameters},signal:t});if(null==i)throw new n.A("imagery-tile-layer:open",r);this._primaryRasters=[i],this.rasterFunction?await this._initializeWithFunctionRaster(this.rasterFunction):this.raster=i}async _openFunctionRaster(e,t){const r={raster:this._primaryRasters[0]};this._primaryRasters.length>1&&this._primaryRasters.forEach(e=>r[e.url]=e);const s=(0,T.vt)(e.functionDefinition?.toJSON()??e.toJSON(),r),i=new N.A({rasterFunction:s});return await i.open(t),i}async _initializeWithFunctionRaster(e,t){try{this.raster=await this._openFunctionRaster(e,t)}catch(e){e instanceof n.A&&l.A.getLogger(this).error("imagery-tile-layer:open",e.message),l.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,D.XF)(l.A.getLogger(this),(0,D.$7)("ImageryTile layers","relative-to-scene",e)),(0,D.XF)(l.A.getLogger(this),(0,D.tW)("ImageryTile layers",e))}};(0,i.Cg)([(0,u.MZ)({clonable:!1})],z.prototype,"_primaryRasters",void 0),(0,i.Cg)([(0,u.MZ)({type:k.A,value:null,json:{name:"layerDefinition.elevationInfo",write:!0,origins:{"portal-item":{read:!1,write:!1},"web-map":{read:!1,write:!1}}}})],z.prototype,"elevationInfo",null),(0,i.Cg)([(0,u.MZ)({type:j.A})],z.prototype,"tileInfo",void 0),(0,i.Cg)([(0,u.MZ)({readOnly:!0,clonable:!1})],z.prototype,"graphicOrigin",void 0),(0,i.Cg)([(0,u.MZ)(Z.fV)],z.prototype,"legendEnabled",void 0),(0,i.Cg)([(0,u.MZ)({type:Boolean,json:{read:!1,write:{enabled:!0,overridePolicy:()=>({enabled:!1})}}})],z.prototype,"isReference",void 0),(0,i.Cg)([(0,u.MZ)({type:["show","hide"]})],z.prototype,"listMode",void 0),(0,i.Cg)([(0,u.MZ)({json:{read:!0,write:!0}})],z.prototype,"blendMode",void 0),(0,i.Cg)([(0,u.MZ)({type:E.A,json:{name:"renderingRule",write:!0}})],z.prototype,"rasterFunction",void 0),(0,i.Cg)([(0,u.MZ)()],z.prototype,"sourceJSON",void 0),(0,i.Cg)([(0,u.MZ)({readOnly:!0,json:{origins:{service:{read:{source:"currentVersion"}}}}})],z.prototype,"version",void 0),(0,i.Cg)([(0,u.MZ)({readOnly:!0,json:{read:!1}})],z.prototype,"type",void 0),(0,i.Cg)([(0,u.MZ)({type:["ArcGISTiledImageServiceLayer"]})],z.prototype,"operationalLayerType",void 0),(0,i.Cg)([(0,u.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,r){t[r]=!e}}}})],z.prototype,"popupEnabled",void 0),(0,i.Cg)([(0,u.MZ)({type:a.A,json:{read:{source:"popupInfo"},write:{target:"popupInfo",overridePolicy(){return{enabled:!this.loaded||"Raster"===this.raster.tileType}}}}})],z.prototype,"popupTemplate",void 0),(0,i.Cg)([(0,u.MZ)({readOnly:!0})],z.prototype,"defaultPopupTemplate",null),(0,i.Cg)([(0,u.MZ)(Z.PY)],z.prototype,"screenSizePerspectiveEnabled",void 0),(0,i.Cg)([(0,u.MZ)({readOnly:!0,type:[L.A]})],z.prototype,"fields",void 0),(0,i.Cg)([(0,u.MZ)({readOnly:!0,type:[L.A]})],z.prototype,"rasterFields",null),(0,i.Cg)([(0,u.MZ)({constructOnly:!0})],z.prototype,"source",void 0),z=(0,i.Cg)([(0,u.$K)("esri.layers.ImageryTileLayer")],z);const B=z}}]);
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[561],{5359(e,t,r){r.d(t,{H:()=>s,Z:()=>i});const s=Symbol("isImageryTileGraphicOrigin");function i(e){return!!e&&s in e}},90561(e,t,r){r.r(t),r.d(t,{default:()=>B});var s,i=r(5482),a=r(37838),o=r(69540),n=r(49186),l=r(53966),p=r(25728),c=r(17676),h=r(36708),u=r(91429),d=r(56507),y=r(89808),g=r(99959),m=r(5359);class f extends g.A{get[(s=m.H,y.Q)](){return this.layer}constructor(e){super(),this[s]=!0,this.type="imagery-tile",this.layer=e}get id(){return this.layer.id}}var v=r(4146),w=r(18768),R=r(63074),S=r(69208),_=r(16131),O=r(8303),I=r(72545),F=r(56551),C=r(54310),b=r(25036),M=r(82935),A=r(82806),P=r(7548),N=r(23636),J=r(1003),T=r(99235),Z=r(10873),L=r(20437),x=r(74797),E=r(22796),j=r(87045),D=r(24212),W=r(30291),k=r(88625),U=r(59923);let z=class extends((0,R.dM)((0,b.j)((0,_.q)((0,O.A)((0,F.H)((0,S.d)((0,A.b)((0,I.G)((0,M.e)((0,w.b)((0,C.J)((0,p.M)((0,o.OU)(v.A)))))))))))))){constructor(...e){super(...e),this._primaryRasters=[],this.graphicOrigin=new f(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,c.sg)(async(e,t,s)=>{const{save:i,saveAs:a}=await r.e(9838).then(r.bind(r,59838));switch(e){case 0:return i(this,t);case 1:return a(this,s,t)}})}normalizeCtorArgs(e,t){return"string"==typeof e?{url:e,...t}:e}load(e){const t=null!=e?e.signal:null;return this.addResolvingPromise(this.loadFromPortal({supportedTypes:["Image Service"]},e).catch(c.QP).then(()=>this._openRaster(t))),Promise.resolve(this)}set elevationInfo(e){"relative-to-scene"!==e?.mode&&this._set("elevationInfo",e),this._validateElevationInfo(e)}get defaultPopupTemplate(){return this.createPopupTemplate()}get rasterFields(){const e=[(0,x.rZ)("Pixel Value"),(0,x.dy)("Raw Pixel Value")],t=this.raster?.rasterInfo??this.serviceRasterInfo,r=t?.attributeTable;if(r){const t=(0,x.jC)(r);e.push(...t)}const s=t?.dataType,i=t?.multidimensionalInfo;if(("vector-magdir"===s||"vector-uv"===s)&&null!=i){const t=i.variables[0].unit?.trim(),r=(0,x.DV)(t),s=(0,x.y6)();e.push(r,s)}if(i){const t=(0,x.AL)(i);e.push(...t)}return e}get renderer(){return super.renderer}set renderer(e){super.renderer=e}createPopupTemplate(e){const{rasterFields:t}=this,r=e?.visibleFieldNames??new Set(t.map(({name:e})=>e).filter(e=>e!==x.F_.rawServicePixelValue)),s=(0,W.tn)({fields:t,title:this.title},{...e,visibleFieldNames:r}),{rasterInfo:i}=this.raster;return s?.fieldInfos&&i&&(0,x.h4)(s.fieldInfos,i),s}async generateRasterInfo(e,t){const r=(0,d.PZ)(E.A,e);if(await this.load(),!r||"none"===r.functionName?.toLowerCase())return this.serviceRasterInfo;try{const{rasterInfo:e}=await this._openFunctionRaster(r,t);return e}catch(e){if(e instanceof n.A)throw e;throw new n.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)}supportsWrite(){const 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,U.U4)(t,this),null)}async hasDataChanged(){try{const e=this._primaryRasters[0]??this.raster,{dataChanged:t,updates:r}=await e.refresh();return t&&(this.serviceRasterInfo!==e.rasterInfo&&this._set("serviceRasterInfo",e.rasterInfo),e.sourceJSON&&this.sourceJSON!==e.sourceJSON&&(this.sourceJSON=e.sourceJSON),r&&this.read(r,{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,P.qg)(this.raster),!t&&this.rasterFunction&&(this._primaryRasters=[this.raster],await this._initializeWithFunctionRaster(this.rasterFunction));else{const{url:t,rasterFunction:r,source:s}=this;if(!t&&!s)throw new n.A("imagery-tile-layer:open","missing url or source parameter");s?await this._openFromSource(s,e):r?await this._openFromUrlWithRasterFunction(t,r,e):await this._openFromUrl(t,e)}const r=this.raster.rasterInfo;if(!r)throw new n.A("imagery-tile-layer:load","cannot load resources on "+this.url);if(this._set("serviceRasterInfo",t?r:this._primaryRasters[0].rasterInfo),this._set("spatialReference",r.spatialReference),this.sourceJSON=this.sourceJSON||this.raster.sourceJSON,null!=this.sourceJSON){const e="Map"===this.raster.tileType&&null!=this.sourceJSON.minLOD&&null!=this.sourceJSON.maxLOD?this.sourceJSON:{...this.sourceJSON,minScale:0,maxScale:0};this.read(e,{origin:"service"})}else this.read({tileInfo:this.serviceRasterInfo?.storageInfo.tileInfo.toJSON()},{origin:"service"});this.title||(this.title=this.raster.datasetName),"Map"===this.raster.tileType&&(this.popupEnabled=!1),this._configDefaultSettings(),this.addHandles((0,h.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,P.pb)(e),this.url||(this.url=this._primaryRasters[0].url)}async _openFromUrlWithRasterFunction(e,t,r){const s=[e];t&&(0,T.UD)(t.toJSON(),s);const i=await Promise.all(s.map(e=>J.default.open({url:e,sourceJSON:this.sourceJSON,ioConfig:{sampling:"closest",...this.ioConfig,customFetchParameters:this.customParameters},signal:r}))),a=i.findIndex(e=>null==e);if(a>-1)throw new n.A("imagery-tile-layer:open",`cannot open raster: ${s[a]}`);return this._primaryRasters=i,this._initializeWithFunctionRaster(t)}async _openFromUrl(e,t){const r=await J.default.open({url:e,sourceJSON:this.sourceJSON,ioConfig:{sampling:"closest",...this.ioConfig,customFetchParameters:this.customParameters},signal:t});if(null==r)throw new n.A("imagery-tile-layer:open",`cannot open raster: ${e}`);this._primaryRasters=[r],this.raster=r}async _openFromSource(e,t){const r="the tiled imagery data source is not supported",s="coverage"===e.type?.toLowerCase()?"CovJSON":e.extent&&e.pixelBlock?"MEMORY":null;if(!s)throw new n.A("imagery-tile-layer:open",r);"MEMORY"===s&&(e={...e,pixelBlock:void 0,pixelBlocks:[e.pixelBlock]});const i=await J.default.open({url:"",source:e,datasetFormat:s,ioConfig:{sampling:"closest",...this.ioConfig,customFetchParameters:this.customParameters},signal:t});if(null==i)throw new n.A("imagery-tile-layer:open",r);this._primaryRasters=[i],this.rasterFunction?await this._initializeWithFunctionRaster(this.rasterFunction):this.raster=i}async _openFunctionRaster(e,t){const r={raster:this._primaryRasters[0]};this._primaryRasters.length>1&&this._primaryRasters.forEach(e=>r[e.url]=e);const s=(0,T.vt)(e.functionDefinition?.toJSON()??e.toJSON(),r),i=new N.A({rasterFunction:s});return await i.open(t),i}async _initializeWithFunctionRaster(e,t){try{this.raster=await this._openFunctionRaster(e,t)}catch(e){e instanceof n.A&&l.A.getLogger(this).error("imagery-tile-layer:open",e.message),l.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,D.XF)(l.A.getLogger(this),(0,D.$7)("ImageryTile layers","relative-to-scene",e)),(0,D.XF)(l.A.getLogger(this),(0,D.tW)("ImageryTile layers",e))}};(0,i.Cg)([(0,u.MZ)({clonable:!1})],z.prototype,"_primaryRasters",void 0),(0,i.Cg)([(0,u.MZ)({type:k.A,value:null,json:{name:"layerDefinition.elevationInfo",write:!0,origins:{"portal-item":{read:!1,write:!1},"web-map":{read:!1,write:!1}}}})],z.prototype,"elevationInfo",null),(0,i.Cg)([(0,u.MZ)({type:j.A})],z.prototype,"tileInfo",void 0),(0,i.Cg)([(0,u.MZ)({readOnly:!0,clonable:!1})],z.prototype,"graphicOrigin",void 0),(0,i.Cg)([(0,u.MZ)(Z.fV)],z.prototype,"legendEnabled",void 0),(0,i.Cg)([(0,u.MZ)({type:Boolean,json:{read:!1,write:{enabled:!0,overridePolicy:()=>({enabled:!1})}}})],z.prototype,"isReference",void 0),(0,i.Cg)([(0,u.MZ)({type:["show","hide"]})],z.prototype,"listMode",void 0),(0,i.Cg)([(0,u.MZ)({json:{read:!0,write:!0}})],z.prototype,"blendMode",void 0),(0,i.Cg)([(0,u.MZ)({type:E.A,json:{name:"renderingRule",write:!0}})],z.prototype,"rasterFunction",void 0),(0,i.Cg)([(0,u.MZ)()],z.prototype,"sourceJSON",void 0),(0,i.Cg)([(0,u.MZ)({readOnly:!0,json:{origins:{service:{read:{source:"currentVersion"}}}}})],z.prototype,"version",void 0),(0,i.Cg)([(0,u.MZ)({readOnly:!0,json:{read:!1}})],z.prototype,"type",void 0),(0,i.Cg)([(0,u.MZ)({type:["ArcGISTiledImageServiceLayer"]})],z.prototype,"operationalLayerType",void 0),(0,i.Cg)([(0,u.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,r){t[r]=!e}}}})],z.prototype,"popupEnabled",void 0),(0,i.Cg)([(0,u.MZ)({type:a.A,json:{read:{source:"popupInfo"},write:{target:"popupInfo",overridePolicy(){return{enabled:!this.loaded||"Raster"===this.raster.tileType}}}}})],z.prototype,"popupTemplate",void 0),(0,i.Cg)([(0,u.MZ)({readOnly:!0})],z.prototype,"defaultPopupTemplate",null),(0,i.Cg)([(0,u.MZ)(Z.PY)],z.prototype,"screenSizePerspectiveEnabled",void 0),(0,i.Cg)([(0,u.MZ)({readOnly:!0,type:[L.A]})],z.prototype,"fields",void 0),(0,i.Cg)([(0,u.MZ)({readOnly:!0,type:[L.A]})],z.prototype,"rasterFields",null),(0,i.Cg)([(0,u.MZ)({constructOnly:!0})],z.prototype,"source",void 0),z=(0,i.Cg)([(0,u.$K)("esri.layers.ImageryTileLayer")],z);const B=z}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[2303,9397],{69052(e,t,n){n.d(t,{hr:()=>s,ie:()=>a,uC:()=>c});var r=n(34727);class s{constructor(e,t){this.min=e,this.max=t,this.range=t-e}normalize(e,t=0,n=!1){return o(this.range,this.min,this.max,e,t,n)}clamp(e,t=0){return(0,r.qE)(e-t,this.min,this.max)+t}monotonic(e,t,n){return e<t?t:t+i(this.range,e-t,n)}minimalMonotonic(e,t,n){return o(this.range,e,e+this.range,t,n)}center(e,t,n){return t=this.monotonic(e,t,n),this.normalize((e+t)/2,n)}diff(e,t,n){return this.monotonic(e,t,n)-e}shortestSignedDiff(e,t){e=this.normalize(e);const n=(t=this.normalize(t))-e,r=t<e?this.minimalMonotonic(e,t)-e:t-this.minimalMonotonic(t,e);return Math.abs(n)<Math.abs(r)?n:r}contains(e,t,n){return t=this.minimalMonotonic(e,t),(n=this.minimalMonotonic(e,n))>e&&n<t}}function o(e,t,n,r,s=0,o=!1){return(r-=s)<t?r+=i(e,t-r):r>n&&(r-=i(e,r-n)),o&&r===n&&(r=t),r+s}function i(e,t,n=0){return Math.ceil((t-n)/e)*e+n}const c=new s(0,2*Math.PI),a=(new s(-Math.PI,Math.PI),new s(0,360))},69397(e,t,n){n.d(t,{Qf:()=>a,Qh:()=>i,RS:()=>s,Ul:()=>g,i5:()=>f,lM:()=>o,qK:()=>l});var r=n(34275);const s=16;function o(e){if(!e)return 0;let t=l;for(const n in e)e.hasOwnProperty(n)&&(t+=c(e[n],!1));return t}function i(e){if(!e)return 0;if("number"==typeof e[0])return a(e);if(Array.isArray(e))return function(e){const t=e.length;if(0===t||"number"==typeof e[0])return u(e,8);let n=h;for(let r=0;r<t;r++)n+=c(e[r]);return n}(e);let t=l;for(const n in e)e.hasOwnProperty(n)&&(t+=c(e[n]));return t}function c(e,t=!0){switch(typeof e){case"object":return t?i(e):l;case"string":return function(e){return 32+e.length}(e);case"number":return s;case"boolean":return 4;default:return 8}}function a(...e){return e.reduce((e,t)=>e+(t?(0,r.iu)(t)?t.byteLength+f:Array.isArray(t)?u(t,s):0:0),0)}function u(e,t){return h+e.length*t}const l=32,h=16,f=145,g=64},17136(e,t,n){n.d(t,{Y_:()=>F,O7:()=>x,el:()=>M});var r=n(92602),s=n(69052),o=n(49186),i=n(53966),c=n(39829),a=n(82799),u=n(16930),l=n(80754),h=n(21325),f=n(28735),g=n(11254),d=n(60408),p=n(65864),y=n(2272),m=n(84952),w=n(92300);const _=()=>i.A.getLogger("esri.geometry.support.normalizeUtils");function b(e){return"polygon"===e[0].type}function S(e){return"polyline"===e[0].type}function k(e,t,n){if(t){const t=function(e,t){if(!(e instanceof a.A||e instanceof c.A)){const e="straightLineDensify: the input geometry is neither polyline nor polygon";throw _().error(e),new o.A("internal:geometry",e)}const n=(0,l.r8)(e),r=[];for(const e of n){const n=[];r.push(n),n.push([e[0][0],e[0][1]]);for(let r=0;r<e.length-1;r++){const s=e[r][0],o=e[r][1],i=e[r+1][0],c=e[r+1][1],a=Math.sqrt((i-s)*(i-s)+(c-o)*(c-o)),u=(c-o)/a,l=(i-s)/a,h=a/t;if(h>1){for(let e=1;e<=h-1;e++){const r=e*t,i=l*r+s,c=u*r+o;n.push([i,c])}const e=(a+Math.floor(h-1)*t)/2,r=l*e+s,i=u*e+o;n.push([r,i])}n.push([i,c])}}return function(e){return"polygon"===e.type}(e)?new c.A({rings:r,spatialReference:e.spatialReference}):new a.A({paths:r,spatialReference:e.spatialReference})}(e,1e6);e=(0,f.ci)(t,!0)}return n&&(e=(0,l.kS)(e,n)),e}function A(e,t,n){if(Array.isArray(e)){const r=e[0];if(r>t){const n=(0,l.kd)(r,t);e[0]=r+n*(-2*t)}else if(r<n){const t=(0,l.kd)(r,n);e[0]=r+t*(-2*n)}}else{const r=e.x;if(r>t){const n=(0,l.kd)(r,t);e=e.clone().offset(n*(-2*t),0)}else if(r<n){const t=(0,l.kd)(r,n);e=e.clone().offset(t*(-2*n),0)}}return e}function v(e,t){let n=-1;for(let r=0;r<t.cutIndexes.length;r++){const s=t.cutIndexes[r],o=t.geometries[r],i=(0,l.r8)(o);for(let e=0;e<i.length;e++){const t=i[e];t.some(n=>{if(n[0]<180)return!0;{let n=0;for(let e=0;e<t.length;e++){const r=t[e][0];n=r>n?r:n}n=Number(n.toFixed(9));const r=-360*(0,l.kd)(n,180);for(let n=0;n<t.length;n++){const t=o.getPoint(e,n);o.setPoint(e,n,t.clone().offset(r,0))}return!0}})}if(s===n){if(b(e))for(const t of(0,l.r8)(o))e[s]=e[s].addRing(t);else if(S(e))for(const t of(0,l.r8)(o))e[s]=e[s].addPath(t)}else n=s,e[s]=o}return e}async function M(e,t,n){if(!Array.isArray(e))return M([e],t);t&&"string"!=typeof t&&_().warn("normalizeCentralMeridian()","The url object is deprecated, use the url string instead");const s="string"==typeof t?t:t?.url??r.A.geometryServiceUrl;let o,i,u,b,S,x,R,F,C=0;const P=[],L=[];for(const t of e)if(null!=t)if(o||(o=t.spatialReference,i=(0,h.Vp)(o),u=o.isWebMercator,x=u?102100:4326,b=l.j7[x].maxX,S=l.j7[x].minX,R=l.j7[x].plus180Line,F=l.j7[x].minus180Line),i)if("mesh"===t.type)L.push(t);else if("point"===t.type)L.push(A(t.clone(),b,S));else if("multipoint"===t.type){const e=t.clone();e.points=e.points.map(e=>A(e,b,S)),L.push(e)}else if("extent"===t.type){const e=t.clone()._normalize(!1,!1,i);L.push(e.rings?new c.A(e):e)}else if(t.extent){const e=t.extent,n=(0,l.kd)(e.xmin,S)*(2*b);let r=0===n?t.clone():(0,l.kS)(t.clone(),n);e.offset(n,0);let{xmin:s,xmax:o}=e;s=Number(s.toFixed(9)),o=Number(o.toFixed(9)),e.intersects(R)&&o!==b?(C=o>C?o:C,r=k(r,u),P.push(r),L.push("cut")):e.intersects(F)&&s!==S?(C=o*(2*b)>C?o*(2*b):C,r=k(r,u,360),P.push(r),L.push("cut")):L.push(r)}else L.push(t.clone());else L.push(t);else L.push(t);let W=(0,l.kd)(C,b),q=-90;const N=W,j=new a.A;for(;W>0;){const e=360*W-180;j.addPath([[e,q],[e,-1*q]]),q*=-1,W--}if(P.length>0&&N>0){const t=v(P,await async function(e,t,n,r){const s=(0,y.Dl)(e),o=t[0].spatialReference,i={...r,responseType:"json",query:{...s.query,f:"json",sr:(0,h.YX)(o),target:JSON.stringify({geometryType:(0,d.$B)(t[0]),geometries:t}),cutter:JSON.stringify(n)}},c=await(0,g.A)(s.path+"/cut",i),{cutIndexes:a,geometries:u=[]}=c.data;return{cutIndexes:a,geometries:u.map(e=>{const t=(0,p.rS)(e);return t.spatialReference=o,t})}}(s,P,j,n)),r=[],o=[];for(let n=0;n<L.length;n++){const s=L[n];if("cut"!==s)o.push(s);else{const s=t.shift(),i=e[n];null!=i&&"polygon"===i.type&&i.rings&&i.rings.length>1&&s.rings.length>=i.rings.length?(r.push(s),o.push("simplify")):o.push(u?(0,f.Gh)(s):s)}}if(!r.length)return o;const i=await async function(e,t,n){const r="string"==typeof e?(0,m.An)(e):e,s=t[0].spatialReference,o=(0,d.$B)(t[0]),i={...n,query:{...r.query,f:"json",sr:(0,h.YX)(s),geometries:JSON.stringify((0,w.X)(t))}},{data:c}=await(0,g.A)(r.path+"/simplify",i);return(0,w.V)(c.geometries,o,s)}(s,r,n),c=[];for(let e=0;e<o.length;e++){const t=o[e];"simplify"!==t?c.push(t):c.push(u?(0,f.Gh)(i.shift()):i.shift())}return c}const O=[];for(let e=0;e<L.length;e++){const t=L[e];if("cut"!==t)O.push(t);else{const e=P.shift();O.push(!0===u?(0,f.Gh)(e):e)}}return O}function x(e,t,n){const r=(0,h.Vp)(n);if(null==r)return e;const[s,o]=r.valid,i=2*o;let c=0,a=0;t>o?c=Math.ceil(Math.abs(t-o)/i):t<s&&(c=-Math.ceil(Math.abs(t-s)/i)),e>o?a=Math.ceil(Math.abs(e-o)/i):e<s&&(a=-Math.ceil(Math.abs(e-s)/i));let u=e+(c-a)*i;const l=u-t;return l>o?u-=i:l<s&&(u+=i),u}function R(e){const t=(0,h.Vp)(e);if(null==t)return null;const[n,r]=t.valid;return new s.hr(n,r)}const F=R(u.A.WGS84);R(u.A.WebMercator)},80754(e,t,n){n.d(t,{j7:()=>i,kS:()=>a,kd:()=>c,r8:()=>u});var r=n(82799),s=n(16930),o=n(60408);const i={102100:{maxX:20037508.342788905,minX:-20037508.342788905,plus180Line:new r.A({paths:[[[20037508.342788905,-20037508.342788905],[20037508.342788905,20037508.342788905]]],spatialReference:s.A.WebMercator}),minus180Line:new r.A({paths:[[[-20037508.342788905,-20037508.342788905],[-20037508.342788905,20037508.342788905]]],spatialReference:s.A.WebMercator})},4326:{maxX:180,minX:-180,plus180Line:new r.A({paths:[[[180,-180],[180,180]]],spatialReference:s.A.WGS84}),minus180Line:new r.A({paths:[[[-180,-180],[-180,180]]],spatialReference:s.A.WGS84})}};function c(e,t){return Math.ceil((e-t)/(2*t))}function a(e,t){const n=u(e);for(const e of n)for(const n of e)n[0]+=t;return e}function u(e){return(0,o.Bi)(e)?e.rings:e.paths}},62815(e,t,n){n.d(t,{N:()=>c,d:()=>a});var r=n(86211),s=n(73941),o=n(21325),i=n(52006);function c(e,t,n){const r=a(t,n);if(1!==r)switch(e){case"point":case"esriGeometryPoint":return e=>function(e,t){null!=e?.z&&(e.z*=t)}(e,r);case"polyline":case"esriGeometryPolyline":return e=>function(e,t){if(e){if(e.curvePaths)for(const n of e.curvePaths)for(const e of n){const n=(0,i.yP)(e);n.length>2&&(n[2]*=t)}if(e.paths)for(const n of e.paths)for(const e of n)e.length>2&&(e[2]*=t)}}(e,r);case"polygon":case"esriGeometryPolygon":return e=>function(e,t){if(e){if(e.curveRings)for(const n of e.curveRings)for(const e of n){const n=(0,i.yP)(e);n.length>2&&(n[2]*=t)}if(e.rings)for(const n of e.rings)for(const e of n)e.length>2&&(e[2]*=t)}}(e,r);case"multipoint":case"esriGeometryMultipoint":return e=>function(e,t){if(e)for(const n of e.points)n.length>2&&(n[2]*=t)}(e,r);case"extent":case"esriGeometryEnvelope":return e=>function(e,t){e&&null!=e.zmin&&null!=e.zmax&&(e.zmin*=t,e.zmax*=t)}(e,r);default:return}}function a(e,t){return null==e||null==t||t.vcsWkid||(0,o.aI)(e,t)||(0,s.xP)(e)||(0,s.xP)(t)?1:(0,r.G9)(e)/(0,r.G9)(t)}},30624(e,t,n){n.r(t),n.d(t,{createConnection:()=>A});var r=n(5482),s=n(11254),o=n(49186),i=n(53966),c=n(74887),a=n(84952),u=n(91429),l=n(16930),h=n(65864),f=n(62815),g=n(65529);let d=class extends g.nJ{destroy(){this.emit("destroy")}get connectionError(){return this.errorString?new o.A("stream-connection",this.errorString):null}onFeature(e){this.emit("data-received",e)}onMessage(e){this.emit("message-received",e)}};(0,r.Cg)([(0,u.MZ)({readOnly:!0})],d.prototype,"connectionError",null),d=(0,r.Cg)([(0,u.$K)("esri.layers.support.StreamConnection")],d);let p=class extends d{constructor(e){super({}),this._outstandingMessages=[],this.errorString=null;const{geometryType:t,spatialReference:n,sourceSpatialReference:r}=e;this._config=e,this._featureZScaler=(0,f.N)(t,r,n),this._open()}normalizeCtorArgs(){return{}}async _open(){await this._tryCreateWebSocket(),this.destroyed||await this._handshake()}destroy(){super.destroy(),null!=this._websocket&&(this._websocket.onopen=null,this._websocket.onclose=null,this._websocket.onerror=null,this._websocket.onmessage=null,this._websocket.close()),this._websocket=null}get connectionStatus(){if(null==this._websocket)return"disconnected";switch(this._websocket.readyState){case 0:case 1:return"connected";case 2:case 3:return"disconnected"}}sendMessageToSocket(e){null!=this._websocket?this._websocket.send(JSON.stringify(e)):this._outstandingMessages.push(e)}sendMessageToClient(e){this._onMessage(e)}updateCustomParameters(e){this._config.customParameters=e,null!=this._websocket&&this._websocket.close()}async _tryCreateWebSocket(e=this._config.source.path,t=1e3,n=0){try{if(this.destroyed)return;const t=(0,a.a6)(e,this._config.customParameters??{});this._websocket=await this._createWebSocket(t),this.notifyChange("connectionStatus")}catch(r){const s=t/1e3;return this._config.maxReconnectionAttempts&&n>=this._config.maxReconnectionAttempts?(i.A.getLogger(this).error(new o.A("websocket-connection","Exceeded maxReconnectionAttempts attempts. No further attempts will be made")),void this.destroy()):(i.A.getLogger(this).error(new o.A("websocket-connection",`Failed to connect. Attempting to reconnect in ${s}s`,r)),await(0,c.Pl)(t),this._tryCreateWebSocket(e,Math.min(1.5*t,1e3*this._config.maxReconnectionInterval),n+1))}}_setWebSocketJSONParseHandler(e){e.onmessage=e=>{try{const t=JSON.parse(e.data);this._onMessage(t)}catch(e){return void i.A.getLogger(this).error(new o.A("websocket-connection","Failed to parse message, invalid JSON",{error:e}))}}}_createWebSocket(e){return new Promise((t,n)=>{const r=new WebSocket(e);r.onopen=()=>{if(r.onopen=null,this.destroyed)return r.onclose=null,void r.close();r.onclose=e=>this._onClose(e),r.onerror=e=>this._onError(e),this._setWebSocketJSONParseHandler(r),t(r)},r.onclose=e=>{r.onopen=r.onclose=null,n(e)}})}async _handshake(e=1e4){const t=this._websocket;if(null==t)return;const n=(0,c.Tw)(),r=t.onmessage,{filter:s,outFields:a,spatialReference:u}=this._config;return n.timeout(e),t.onmessage=e=>{let c=null;try{c=JSON.parse(e.data)}catch(e){}c&&"object"==typeof c||(i.A.getLogger(this).error(new o.A("websocket-connection","Protocol violation. Handshake failed - malformed message",e.data)),n.reject(),this.destroy()),c.spatialReference?.wkid!==u?.wkid&&(i.A.getLogger(this).error(new o.A("websocket-connection",`Protocol violation. Handshake failed - expected wkid of ${u.wkid}`,e.data)),n.reject(),this.destroy()),"json"!==c.format&&(i.A.getLogger(this).error(new o.A("websocket-connection","Protocol violation. Handshake failed - format is not set",e.data)),n.reject(),this.destroy()),s&&c.filter!==s&&i.A.getLogger(this).error(new o.A("websocket-connection","Tried to set filter, but server doesn't support it")),a&&c.outFields!==a&&i.A.getLogger(this).error(new o.A("websocket-connection","Tried to set outFields, but server doesn't support it")),t.onmessage=r;for(const e of this._outstandingMessages)t.send(JSON.stringify(e));this._outstandingMessages=[],n.resolve()},t.send(JSON.stringify({filter:s,outFields:a,format:"json",spatialReference:{wkid:u.wkid}})),n.promise}_onMessage(e){if(this.onMessage(e),"type"in e)switch(e.type){case"features":case"featureResult":for(const t of e.features)null!=this._featureZScaler&&this._featureZScaler(t.geometry),this.onFeature(t)}}_onError(e){const t="Encountered an error over WebSocket connection";this._set("errorString",t),i.A.getLogger(this).error("websocket-connection",t)}_onClose(e){this._websocket=null,this.notifyChange("connectionStatus"),1e3!==e.code&&i.A.getLogger(this).error("websocket-connection",`WebSocket closed unexpectedly with error code ${e.code}`),this.destroyed||this._open()}};(0,r.Cg)([(0,u.MZ)()],p.prototype,"connectionStatus",null),(0,r.Cg)([(0,u.MZ)()],p.prototype,"errorString",void 0),p=(0,r.Cg)([(0,u.$K)("esri.layers.graphics.sources.connections.WebSocketConnection")],p);var y=n(80893),m=n(61956);const w={maxQueryDepth:5,maxRecordCountFactor:3};let _=class extends p{constructor(e){super({...w,...e}),this._buddyServicesQuery=null,this._relatedFeatures=null}async _open(){const e=await this._fetchServiceDefinition(this._config.source);e.timeInfo.trackIdField||i.A.getLogger(this).warn("GeoEvent service was configured without a TrackIdField. This may result in certain functionality being disabled. The purgeOptions.maxObservations property will have no effect.");const t=this._fetchWebSocketUrl(e.streamUrls,this._config.spatialReference);this._buddyServicesQuery||(this._buddyServicesQuery=this._queryBuddyServices()),await this._buddyServicesQuery,await this._tryCreateWebSocket(t);const{filter:n,outFields:r}=this._config;this.destroyed||this._setFilter(n,r)}_onMessage(e){if("attributes"in e){let t;try{t=this._enrich(e),null!=this._featureZScaler&&this._featureZScaler(t.geometry)}catch(e){return void i.A.getLogger(this).error(new o.A("geoevent-connection","Failed to parse message",e))}this.onFeature(t)}else this.onMessage(e)}async _fetchServiceDefinition(e){const t={f:"json",...this._config.customParameters},n=(0,s.A)(e.path,{query:t,responseType:"json"}),r=(await n).data;return this._serviceDefinition=r,r}_fetchWebSocketUrl(e,t){const n=e[0],{urls:r,token:s}=n,o=this._inferWebSocketBaseUrl(r);return(0,a.a6)(`${o}/subscribe`,{outSR:""+t.wkid,token:s})}_inferWebSocketBaseUrl(e){if(1===e.length)return e[0];for(const t of e)if(t.includes("wss"))return t;return i.A.getLogger(this).error(new o.A("geoevent-connection","Unable to infer WebSocket url",e)),null}async _setFilter(e,t){const n=this._websocket;if(null==n||null==e&&null==t)return;const r=JSON.stringify({filter:this._serializeFilter(e,t)});let s=!1;const a=(0,c.Tw)();return n.onmessage=e=>{const t=JSON.parse(e.data);t.filter&&(t.error&&(i.A.getLogger(this).error(new o.A("geoevent-connection","Failed to set service filter",t.error)),this._set("errorString",`Could not set service filter - ${t.error}`),a.reject(t.error)),this._setWebSocketJSONParseHandler(n),s=!0,a.resolve())},n.send(r),setTimeout(()=>{s||(this.destroyed||this._websocket!==n||i.A.getLogger(this).error(new o.A("geoevent-connection","Server timed out when setting filter")),a.reject())},1e4),a.promise}_serializeFilter(e,t){const n={};if(null==e&&null==t)return n;if(e?.geometry)try{const t=(0,h.rS)(e.geometry);if("extent"!==t.type)throw new o.A("geoevent-connection",`Expected extent but found type ${t.type}`);n.geometry=JSON.stringify(t.shiftCentralMeridian())}catch(e){i.A.getLogger(this).error(new o.A("geoevent-connection","Encountered an error when setting connection geometryDefinition",e))}return e?.where&&"1 = 1"!==e.where&&"1=1"!==e.where&&(n.where=e.where),null!=t&&(n.outFields=t.join(",")),n}_enrich(e){if(!this._relatedFeatures)return e;const t=this._serviceDefinition.relatedFeatures.joinField,n=e.attributes[t],r=this._relatedFeatures.get(n);if(!r)return i.A.getLogger(this).warn("geoevent-connection","Feature join failed. Is the join field configured correctly?",e),e;const{attributes:s,geometry:c}=r;for(const t in s)e.attributes[t]=s[t];return c&&(e.geometry=c),e.geometry||e.centroid||i.A.getLogger(this).error(new o.A("geoevent-connection","Found malformed feature - no geometry found",e)),e}async _queryBuddyServices(){try{const{relatedFeatures:e,keepLatestArchive:t}=this._serviceDefinition,n=this._queryRelatedFeatures(e),r=this._queryArchive(t);await n;const s=await r;if(!s)return;for(const e of s.features)this.onFeature(this._enrich(e))}catch(e){i.A.getLogger(this).error(new o.A("geoevent-connection","Encountered an error when querying buddy services",{error:e}))}}async _queryRelatedFeatures(e){if(!e)return;const t=await this._queryBuddy(e.featuresUrl);this._addRelatedFeatures(t)}async _queryArchive(e){if(e)return this._queryBuddy(e.featuresUrl)}async _queryBuddy(e){const t=new((await Promise.all([n.e(7632),n.e(3508),n.e(6554),n.e(2869),n.e(3910),n.e(9953),n.e(4903),n.e(1214),n.e(8399),n.e(1017),n.e(4674),n.e(6606),n.e(9784),n.e(7609),n.e(812),n.e(8190)]).then(n.bind(n,29784))).default)({url:e}),{capabilities:r}=await t.load(),s=r.query.supportsMaxRecordCountFactor,o=r.query.supportsPagination,i=r.query.supportsCentroid,c=this._config.maxRecordCountFactor,a=t.capabilities.query.maxRecordCount,u=s?a*c:a,h=new m.A;if(h.outFields=this._config.outFields??["*"],h.where=this._config.filter?.where??"1=1",h.returnGeometry=!0,h.returnExceededLimitFeatures=!0,h.outSpatialReference=l.A.fromJSON(this._config.spatialReference),i&&(h.returnCentroid=!0),s&&(h.maxRecordCountFactor=c),o)return h.num=u,t.destroy(),this._queryPages(e,h);const f=await(0,y.eW)(e,h,this._config.sourceSpatialReference);return t.destroy(),f}async _queryPages(e,t,n=[],r=0){t.start=null!=t.num?r*t.num:null;const s=await(0,y.eW)(e,t,this._config.sourceSpatialReference);return s.exceededTransferLimit&&r<(this._config.maxQueryDepth??0)?(s.features.forEach(e=>n.push(e)),this._queryPages(e,t,n,r+1)):(n.forEach(e=>s.features.push(e)),s)}_addRelatedFeatures(e){const t=new Map,n=e.features,r=this._serviceDefinition.relatedFeatures.joinField;for(const e of n){const n=e.attributes[r];t.set(n,e)}this._relatedFeatures=t}};_=(0,r.Cg)([(0,u.$K)("esri.layers.graphics.sources.connections.GeoEventConnection")],_);var b=n(64108);let S=class extends d{constructor(e){super({}),this.connectionStatus="connected",this.errorString=null;const{geometryType:t,spatialReference:n,sourceSpatialReference:r}=e;this._featureZScaler=(0,f.N)(t,r,n)}normalizeCtorArgs(){return{}}updateCustomParameters(e){}sendMessageToSocket(e){}sendMessageToClient(e){if("type"in e)switch(e.type){case"features":case"featureResult":for(const t of e.features)null!=this._featureZScaler&&this._featureZScaler(t.geometry),this.onFeature(t)}this.onMessage(e)}};function k(e,t){if(null==e&&null==t)return null;const n={};return null!=t&&(n.geometry=t),null!=e&&(n.where=e),n}function A(e,t,n,r,s,o,i,c,a){const u={source:e,sourceSpatialReference:t,spatialReference:n,geometryType:r,filter:k(s,o),maxReconnectionAttempts:i,maxReconnectionInterval:c,customParameters:a};return e?e.path.startsWith("wss://")||e.path.startsWith("ws://")?new p(u):new _(u):new S(u)}(0,r.Cg)([(0,u.MZ)()],S.prototype,"connectionStatus",void 0),(0,r.Cg)([(0,u.MZ)()],S.prototype,"errorString",void 0),S=(0,r.Cg)([(0,b.$)("esri.layers.support.ClientSideConnection")],S)},92300(e,t,n){n.d(t,{V:()=>i,X:()=>o});var r=n(60408),s=n(65864);function o(e){return{geometryType:(0,r.$B)(e[0]),geometries:e.map(e=>e.toJSON())}}function i(e,t,n){const r=(0,s.xD)(t);return e.map(e=>{const t=r.fromJSON(e);return t.spatialReference=n,t})}},58501(e,t,n){n.d(t,{q:()=>s});var r=n(62815);function s(e,t,n){if(!n?.features||!n.hasZ)return;const s=(0,r.N)(n.geometryType,t,e.outSpatialReference);if(s)for(const e of n.features)s(e.geometry)}}}]);
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[2303,9397],{69052(e,t,n){n.d(t,{hr:()=>s,ie:()=>a,uC:()=>c});var r=n(34727);class s{constructor(e,t){this.min=e,this.max=t,this.range=t-e}normalize(e,t=0,n=!1){return o(this.range,this.min,this.max,e,t,n)}clamp(e,t=0){return(0,r.qE)(e-t,this.min,this.max)+t}monotonic(e,t,n){return e<t?t:t+i(this.range,e-t,n)}minimalMonotonic(e,t,n){return o(this.range,e,e+this.range,t,n)}center(e,t,n){return t=this.monotonic(e,t,n),this.normalize((e+t)/2,n)}diff(e,t,n){return this.monotonic(e,t,n)-e}shortestSignedDiff(e,t){e=this.normalize(e);const n=(t=this.normalize(t))-e,r=t<e?this.minimalMonotonic(e,t)-e:t-this.minimalMonotonic(t,e);return Math.abs(n)<Math.abs(r)?n:r}contains(e,t,n){return t=this.minimalMonotonic(e,t),(n=this.minimalMonotonic(e,n))>e&&n<t}}function o(e,t,n,r,s=0,o=!1){return(r-=s)<t?r+=i(e,t-r):r>n&&(r-=i(e,r-n)),o&&r===n&&(r=t),r+s}function i(e,t,n=0){return Math.ceil((t-n)/e)*e+n}const c=new s(0,2*Math.PI),a=(new s(-Math.PI,Math.PI),new s(0,360))},69397(e,t,n){n.d(t,{Qf:()=>a,Qh:()=>i,RS:()=>s,Ul:()=>g,i5:()=>f,lM:()=>o,qK:()=>l});var r=n(34275);const s=16;function o(e){if(!e)return 0;let t=l;for(const n in e)e.hasOwnProperty(n)&&(t+=c(e[n],!1));return t}function i(e){if(!e)return 0;if("number"==typeof e[0])return a(e);if(Array.isArray(e))return function(e){const t=e.length;if(0===t||"number"==typeof e[0])return u(e,8);let n=h;for(let r=0;r<t;r++)n+=c(e[r]);return n}(e);let t=l;for(const n in e)e.hasOwnProperty(n)&&(t+=c(e[n]));return t}function c(e,t=!0){switch(typeof e){case"object":return t?i(e):l;case"string":return function(e){return 32+e.length}(e);case"number":return s;case"boolean":return 4;default:return 8}}function a(...e){return e.reduce((e,t)=>e+(t?(0,r.iu)(t)?t.byteLength+f:Array.isArray(t)?u(t,s):0:0),0)}function u(e,t){return h+e.length*t}const l=32,h=16,f=145,g=64},17136(e,t,n){n.d(t,{Y_:()=>F,O7:()=>R,el:()=>M});var r=n(92602),s=n(69052),o=n(49186),i=n(53966),c=n(39829),a=n(82799),u=n(16930),l=n(80754),h=n(21325),f=n(28735),g=n(11254),d=n(60408),p=n(65864),y=n(2272),m=n(84952),w=n(92300);const _=()=>i.A.getLogger("esri.geometry.support.normalizeUtils");function b(e){return"polygon"===e[0].type}function S(e){return"polyline"===e[0].type}function k(e,t,n){if(t){const t=function(e,t){if(!(e instanceof a.A||e instanceof c.A)){const e="straightLineDensify: the input geometry is neither polyline nor polygon";throw _().error(e),new o.A("internal:geometry",e)}const n=(0,l.r8)(e),r=[];for(const e of n){const n=[];r.push(n),n.push([e[0][0],e[0][1]]);for(let r=0;r<e.length-1;r++){const s=e[r][0],o=e[r][1],i=e[r+1][0],c=e[r+1][1],a=Math.sqrt((i-s)*(i-s)+(c-o)*(c-o)),u=(c-o)/a,l=(i-s)/a,h=a/t;if(h>1){for(let e=1;e<=h-1;e++){const r=e*t,i=l*r+s,c=u*r+o;n.push([i,c])}const e=(a+Math.floor(h-1)*t)/2,r=l*e+s,i=u*e+o;n.push([r,i])}n.push([i,c])}}return function(e){return"polygon"===e.type}(e)?new c.A({rings:r,spatialReference:e.spatialReference}):new a.A({paths:r,spatialReference:e.spatialReference})}(e,1e6);e=(0,f.ci)(t,!0)}return n&&(e=(0,l.kS)(e,n)),e}function A(e,t,n){if(Array.isArray(e)){const r=e[0];if(r>t){const n=(0,l.kd)(r,t);e[0]=r+n*(-2*t)}else if(r<n){const t=(0,l.kd)(r,n);e[0]=r+t*(-2*n)}}else{const r=e.x;if(r>t){const n=(0,l.kd)(r,t);e=e.clone().offset(n*(-2*t),0)}else if(r<n){const t=(0,l.kd)(r,n);e=e.clone().offset(t*(-2*n),0)}}return e}function v(e,t){let n=-1;for(let r=0;r<t.cutIndexes.length;r++){const s=t.cutIndexes[r],o=t.geometries[r],i=(0,l.r8)(o);for(let e=0;e<i.length;e++){const t=i[e];t.some(n=>{if(n[0]<180)return!0;{let n=0;for(let e=0;e<t.length;e++){const r=t[e][0];n=r>n?r:n}n=Number(n.toFixed(9));const r=-360*(0,l.kd)(n,180);for(let n=0;n<t.length;n++){const t=o.getPoint(e,n);o.setPoint(e,n,t.clone().offset(r,0))}return!0}})}if(s===n){if(b(e))for(const t of(0,l.r8)(o))e[s]=e[s].addRing(t);else if(S(e))for(const t of(0,l.r8)(o))e[s]=e[s].addPath(t)}else n=s,e[s]=o}return e}async function M(e,t,n){if(!Array.isArray(e))return M([e],t);t&&"string"!=typeof t&&_().warn("normalizeCentralMeridian()","The url object is deprecated, use the url string instead");const s="string"==typeof t?t:t?.url??r.A.geometryServiceUrl;let o,i,u,b,S,R,x,F,C=0;const P=[],L=[];for(const t of e)if(null!=t)if(o||(o=t.spatialReference,i=(0,h.Vp)(o),u=o.isWebMercator,R=u?102100:4326,b=l.j7[R].maxX,S=l.j7[R].minX,x=l.j7[R].plus180Line,F=l.j7[R].minus180Line),i)if("mesh"===t.type)L.push(t);else if("point"===t.type)L.push(A(t.clone(),b,S));else if("multipoint"===t.type){const e=t.clone();e.points=e.points.map(e=>A(e,b,S)),L.push(e)}else if("extent"===t.type){const e=t.clone()._normalize(!1,!1,i);L.push(e.rings?new c.A(e):e)}else if(t.extent){const e=t.extent,n=(0,l.kd)(e.xmin,S)*(2*b);let r=0===n?t.clone():(0,l.kS)(t.clone(),n);e.offset(n,0);let{xmin:s,xmax:o}=e;s=Number(s.toFixed(9)),o=Number(o.toFixed(9)),e.intersects(x)&&o!==b?(C=o>C?o:C,r=k(r,u),P.push(r),L.push("cut")):e.intersects(F)&&s!==S?(C=o*(2*b)>C?o*(2*b):C,r=k(r,u,360),P.push(r),L.push("cut")):L.push(r)}else L.push(t.clone());else L.push(t);else L.push(t);let W=(0,l.kd)(C,b),q=-90;const N=W,j=new a.A;for(;W>0;){const e=360*W-180;j.addPath([[e,q],[e,-1*q]]),q*=-1,W--}if(P.length>0&&N>0){const t=v(P,await async function(e,t,n,r){const s=(0,y.Dl)(e),o=t[0].spatialReference,i={...r,responseType:"json",query:{...s.query,f:"json",sr:(0,h.YX)(o),target:JSON.stringify({geometryType:(0,d.$B)(t[0]),geometries:t}),cutter:JSON.stringify(n)}},c=await(0,g.A)(s.path+"/cut",i),{cutIndexes:a,geometries:u=[]}=c.data;return{cutIndexes:a,geometries:u.map(e=>{const t=(0,p.rS)(e);return t.spatialReference=o,t})}}(s,P,j,n)),r=[],o=[];for(let n=0;n<L.length;n++){const s=L[n];if("cut"!==s)o.push(s);else{const s=t.shift(),i=e[n];null!=i&&"polygon"===i.type&&i.rings&&i.rings.length>1&&s.rings.length>=i.rings.length?(r.push(s),o.push("simplify")):o.push(u?(0,f.Gh)(s):s)}}if(!r.length)return o;const i=await async function(e,t,n){const r="string"==typeof e?(0,m.An)(e):e,s=t[0].spatialReference,o=(0,d.$B)(t[0]),i={...n,query:{...r.query,f:"json",sr:(0,h.YX)(s),geometries:JSON.stringify((0,w.X)(t))}},{data:c}=await(0,g.A)(r.path+"/simplify",i);return(0,w.V)(c.geometries,o,s)}(s,r,n),c=[];for(let e=0;e<o.length;e++){const t=o[e];"simplify"!==t?c.push(t):c.push(u?(0,f.Gh)(i.shift()):i.shift())}return c}const O=[];for(let e=0;e<L.length;e++){const t=L[e];if("cut"!==t)O.push(t);else{const e=P.shift();O.push(!0===u?(0,f.Gh)(e):e)}}return O}function R(e,t,n){const r=(0,h.Vp)(n);if(null==r)return e;const[s,o]=r.valid,i=2*o;let c=0,a=0;t>o?c=Math.ceil(Math.abs(t-o)/i):t<s&&(c=-Math.ceil(Math.abs(t-s)/i)),e>o?a=Math.ceil(Math.abs(e-o)/i):e<s&&(a=-Math.ceil(Math.abs(e-s)/i));let u=e+(c-a)*i;const l=u-t;return l>o?u-=i:l<s&&(u+=i),u}function x(e){const t=(0,h.Vp)(e);if(null==t)return null;const[n,r]=t.valid;return new s.hr(n,r)}const F=x(u.A.WGS84);x(u.A.WebMercator)},80754(e,t,n){n.d(t,{j7:()=>i,kS:()=>a,kd:()=>c,r8:()=>u});var r=n(82799),s=n(16930),o=n(60408);const i={102100:{maxX:20037508.342788905,minX:-20037508.342788905,plus180Line:new r.A({paths:[[[20037508.342788905,-20037508.342788905],[20037508.342788905,20037508.342788905]]],spatialReference:s.A.WebMercator}),minus180Line:new r.A({paths:[[[-20037508.342788905,-20037508.342788905],[-20037508.342788905,20037508.342788905]]],spatialReference:s.A.WebMercator})},4326:{maxX:180,minX:-180,plus180Line:new r.A({paths:[[[180,-180],[180,180]]],spatialReference:s.A.WGS84}),minus180Line:new r.A({paths:[[[-180,-180],[-180,180]]],spatialReference:s.A.WGS84})}};function c(e,t){return Math.ceil((e-t)/(2*t))}function a(e,t){const n=u(e);for(const e of n)for(const n of e)n[0]+=t;return e}function u(e){return(0,o.Bi)(e)?e.rings:e.paths}},62815(e,t,n){n.d(t,{N:()=>c,d:()=>a});var r=n(86211),s=n(73941),o=n(21325),i=n(52006);function c(e,t,n){const r=a(t,n);if(1!==r)switch(e){case"point":case"esriGeometryPoint":return e=>function(e,t){null!=e?.z&&(e.z*=t)}(e,r);case"polyline":case"esriGeometryPolyline":return e=>function(e,t){if(e){if(e.curvePaths)for(const n of e.curvePaths)for(const e of n){const n=(0,i.yP)(e);n.length>2&&(n[2]*=t)}if(e.paths)for(const n of e.paths)for(const e of n)e.length>2&&(e[2]*=t)}}(e,r);case"polygon":case"esriGeometryPolygon":return e=>function(e,t){if(e){if(e.curveRings)for(const n of e.curveRings)for(const e of n){const n=(0,i.yP)(e);n.length>2&&(n[2]*=t)}if(e.rings)for(const n of e.rings)for(const e of n)e.length>2&&(e[2]*=t)}}(e,r);case"multipoint":case"esriGeometryMultipoint":return e=>function(e,t){if(e)for(const n of e.points)n.length>2&&(n[2]*=t)}(e,r);case"extent":case"esriGeometryEnvelope":return e=>function(e,t){e&&null!=e.zmin&&null!=e.zmax&&(e.zmin*=t,e.zmax*=t)}(e,r);default:return}}function a(e,t){return null==e||null==t||t.vcsWkid||(0,o.aI)(e,t)||(0,s.xP)(e)||(0,s.xP)(t)?1:(0,r.G9)(e)/(0,r.G9)(t)}},30624(e,t,n){n.r(t),n.d(t,{createConnection:()=>A});var r=n(5482),s=n(11254),o=n(49186),i=n(53966),c=n(84952),a=n(91429),u=n(16930),l=n(65864),h=n(17676),f=n(62815),g=n(65529);let d=class extends g.nJ{destroy(){this.emit("destroy")}get connectionError(){return this.errorString?new o.A("stream-connection",this.errorString):null}onFeature(e){this.emit("data-received",e)}onMessage(e){this.emit("message-received",e)}};(0,r.Cg)([(0,a.MZ)({readOnly:!0})],d.prototype,"connectionError",null),d=(0,r.Cg)([(0,a.$K)("esri.layers.support.StreamConnection")],d);let p=class extends d{constructor(e){super({}),this._outstandingMessages=[],this.errorString=null;const{geometryType:t,spatialReference:n,sourceSpatialReference:r}=e;this._config=e,this._featureZScaler=(0,f.N)(t,r,n),this._open()}normalizeCtorArgs(){return{}}async _open(){await this._tryCreateWebSocket(),this.destroyed||await this._handshake()}destroy(){super.destroy(),null!=this._websocket&&(this._websocket.onopen=null,this._websocket.onclose=null,this._websocket.onerror=null,this._websocket.onmessage=null,this._websocket.close()),this._websocket=null}get connectionStatus(){if(null==this._websocket)return"disconnected";switch(this._websocket.readyState){case 0:case 1:return"connected";case 2:case 3:return"disconnected"}}sendMessageToSocket(e){null!=this._websocket?this._websocket.send(JSON.stringify(e)):this._outstandingMessages.push(e)}sendMessageToClient(e){this._onMessage(e)}updateCustomParameters(e){this._config.customParameters=e,null!=this._websocket&&this._websocket.close()}async _tryCreateWebSocket(e=this._config.source.path,t=1e3,n=0){try{if(this.destroyed)return;const t=(0,c.a6)(e,this._config.customParameters??{});this._websocket=await this._createWebSocket(t),this.notifyChange("connectionStatus")}catch(r){const s=t/1e3;return this._config.maxReconnectionAttempts&&n>=this._config.maxReconnectionAttempts?(i.A.getLogger(this).error(new o.A("websocket-connection","Exceeded maxReconnectionAttempts attempts. No further attempts will be made")),void this.destroy()):(i.A.getLogger(this).error(new o.A("websocket-connection",`Failed to connect. Attempting to reconnect in ${s}s`,r)),await(0,h.Pl)(t),this._tryCreateWebSocket(e,Math.min(1.5*t,1e3*this._config.maxReconnectionInterval),n+1))}}_setWebSocketJSONParseHandler(e){e.onmessage=e=>{try{const t=JSON.parse(e.data);this._onMessage(t)}catch(e){return void i.A.getLogger(this).error(new o.A("websocket-connection","Failed to parse message, invalid JSON",{error:e}))}}}_createWebSocket(e){return new Promise((t,n)=>{const r=new WebSocket(e);r.onopen=()=>{if(r.onopen=null,this.destroyed)return r.onclose=null,void r.close();r.onclose=e=>this._onClose(e),r.onerror=e=>this._onError(e),this._setWebSocketJSONParseHandler(r),t(r)},r.onclose=e=>{r.onopen=r.onclose=null,n(e)}})}async _handshake(e=1e4){const t=this._websocket;if(null==t)return;const n=Promise.withResolvers(),r=t.onmessage,{filter:s,outFields:c,spatialReference:a}=this._config,u=setTimeout(()=>n.reject(),e),l=()=>{clearTimeout(u),n.reject()};return t.onmessage=e=>{let h=null;try{h=JSON.parse(e.data)}catch(e){}h&&"object"==typeof h||(i.A.getLogger(this).error(new o.A("websocket-connection","Protocol violation. Handshake failed - malformed message",e.data)),l(),this.destroy()),h.spatialReference?.wkid!==a?.wkid&&(i.A.getLogger(this).error(new o.A("websocket-connection",`Protocol violation. Handshake failed - expected wkid of ${a.wkid}`,e.data)),l(),this.destroy()),"json"!==h.format&&(i.A.getLogger(this).error(new o.A("websocket-connection","Protocol violation. Handshake failed - format is not set",e.data)),l(),this.destroy()),s&&h.filter!==s&&i.A.getLogger(this).error(new o.A("websocket-connection","Tried to set filter, but server doesn't support it")),c&&h.outFields!==c&&i.A.getLogger(this).error(new o.A("websocket-connection","Tried to set outFields, but server doesn't support it")),t.onmessage=r;for(const e of this._outstandingMessages)t.send(JSON.stringify(e));this._outstandingMessages=[],clearTimeout(u),n.resolve()},t.send(JSON.stringify({filter:s,outFields:c,format:"json",spatialReference:{wkid:a.wkid}})),n.promise}_onMessage(e){if(this.onMessage(e),"type"in e)switch(e.type){case"features":case"featureResult":for(const t of e.features)null!=this._featureZScaler&&this._featureZScaler(t.geometry),this.onFeature(t)}}_onError(e){const t="Encountered an error over WebSocket connection";this._set("errorString",t),i.A.getLogger(this).error("websocket-connection",t)}_onClose(e){this._websocket=null,this.notifyChange("connectionStatus"),1e3!==e.code&&i.A.getLogger(this).error("websocket-connection",`WebSocket closed unexpectedly with error code ${e.code}`),this.destroyed||this._open()}};(0,r.Cg)([(0,a.MZ)()],p.prototype,"connectionStatus",null),(0,r.Cg)([(0,a.MZ)()],p.prototype,"errorString",void 0),p=(0,r.Cg)([(0,a.$K)("esri.layers.graphics.sources.connections.WebSocketConnection")],p);var y=n(80893),m=n(61956);const w={maxQueryDepth:5,maxRecordCountFactor:3};let _=class extends p{constructor(e){super({...w,...e}),this._buddyServicesQuery=null,this._relatedFeatures=null}async _open(){const e=await this._fetchServiceDefinition(this._config.source);e.timeInfo.trackIdField||i.A.getLogger(this).warn("GeoEvent service was configured without a TrackIdField. This may result in certain functionality being disabled. The purgeOptions.maxObservations property will have no effect.");const t=this._fetchWebSocketUrl(e.streamUrls,this._config.spatialReference);this._buddyServicesQuery||(this._buddyServicesQuery=this._queryBuddyServices()),await this._buddyServicesQuery,await this._tryCreateWebSocket(t);const{filter:n,outFields:r}=this._config;this.destroyed||this._setFilter(n,r)}_onMessage(e){if("attributes"in e){let t;try{t=this._enrich(e),null!=this._featureZScaler&&this._featureZScaler(t.geometry)}catch(e){return void i.A.getLogger(this).error(new o.A("geoevent-connection","Failed to parse message",e))}this.onFeature(t)}else this.onMessage(e)}async _fetchServiceDefinition(e){const t={f:"json",...this._config.customParameters},n=(0,s.A)(e.path,{query:t,responseType:"json"}),r=(await n).data;return this._serviceDefinition=r,r}_fetchWebSocketUrl(e,t){const n=e[0],{urls:r,token:s}=n,o=this._inferWebSocketBaseUrl(r);return(0,c.a6)(`${o}/subscribe`,{outSR:""+t.wkid,token:s})}_inferWebSocketBaseUrl(e){if(1===e.length)return e[0];for(const t of e)if(t.includes("wss"))return t;return i.A.getLogger(this).error(new o.A("geoevent-connection","Unable to infer WebSocket url",e)),null}async _setFilter(e,t){const n=this._websocket;if(null==n||null==e&&null==t)return;const r=JSON.stringify({filter:this._serializeFilter(e,t)});let s=!1;const c=Promise.withResolvers();return n.onmessage=e=>{const t=JSON.parse(e.data);t.filter&&(t.error&&(i.A.getLogger(this).error(new o.A("geoevent-connection","Failed to set service filter",t.error)),this._set("errorString",`Could not set service filter - ${t.error}`),c.reject(t.error)),this._setWebSocketJSONParseHandler(n),s=!0,c.resolve())},n.send(r),setTimeout(()=>{s||(this.destroyed||this._websocket!==n||i.A.getLogger(this).error(new o.A("geoevent-connection","Server timed out when setting filter")),c.reject())},1e4),c.promise}_serializeFilter(e,t){const n={};if(null==e&&null==t)return n;if(e?.geometry)try{const t=(0,l.rS)(e.geometry);if("extent"!==t.type)throw new o.A("geoevent-connection",`Expected extent but found type ${t.type}`);n.geometry=JSON.stringify(t.shiftCentralMeridian())}catch(e){i.A.getLogger(this).error(new o.A("geoevent-connection","Encountered an error when setting connection geometryDefinition",e))}return e?.where&&"1 = 1"!==e.where&&"1=1"!==e.where&&(n.where=e.where),null!=t&&(n.outFields=t.join(",")),n}_enrich(e){if(!this._relatedFeatures)return e;const t=this._serviceDefinition.relatedFeatures.joinField,n=e.attributes[t],r=this._relatedFeatures.get(n);if(!r)return i.A.getLogger(this).warn("geoevent-connection","Feature join failed. Is the join field configured correctly?",e),e;const{attributes:s,geometry:c}=r;for(const t in s)e.attributes[t]=s[t];return c&&(e.geometry=c),e.geometry||e.centroid||i.A.getLogger(this).error(new o.A("geoevent-connection","Found malformed feature - no geometry found",e)),e}async _queryBuddyServices(){try{const{relatedFeatures:e,keepLatestArchive:t}=this._serviceDefinition,n=this._queryRelatedFeatures(e),r=this._queryArchive(t);await n;const s=await r;if(!s)return;for(const e of s.features)this.onFeature(this._enrich(e))}catch(e){i.A.getLogger(this).error(new o.A("geoevent-connection","Encountered an error when querying buddy services",{error:e}))}}async _queryRelatedFeatures(e){if(!e)return;const t=await this._queryBuddy(e.featuresUrl);this._addRelatedFeatures(t)}async _queryArchive(e){if(e)return this._queryBuddy(e.featuresUrl)}async _queryBuddy(e){const t=new((await Promise.all([n.e(7632),n.e(3508),n.e(6554),n.e(2869),n.e(3910),n.e(9953),n.e(4903),n.e(1214),n.e(8399),n.e(1017),n.e(4674),n.e(6606),n.e(9784),n.e(7609),n.e(812),n.e(8190)]).then(n.bind(n,29784))).default)({url:e}),{capabilities:r}=await t.load(),s=r.query.supportsMaxRecordCountFactor,o=r.query.supportsPagination,i=r.query.supportsCentroid,c=this._config.maxRecordCountFactor,a=t.capabilities.query.maxRecordCount,l=s?a*c:a,h=new m.A;if(h.outFields=this._config.outFields??["*"],h.where=this._config.filter?.where??"1=1",h.returnGeometry=!0,h.returnExceededLimitFeatures=!0,h.outSpatialReference=u.A.fromJSON(this._config.spatialReference),i&&(h.returnCentroid=!0),s&&(h.maxRecordCountFactor=c),o)return h.num=l,t.destroy(),this._queryPages(e,h);const f=await(0,y.eW)(e,h,this._config.sourceSpatialReference);return t.destroy(),f}async _queryPages(e,t,n=[],r=0){t.start=null!=t.num?r*t.num:null;const s=await(0,y.eW)(e,t,this._config.sourceSpatialReference);return s.exceededTransferLimit&&r<(this._config.maxQueryDepth??0)?(s.features.forEach(e=>n.push(e)),this._queryPages(e,t,n,r+1)):(n.forEach(e=>s.features.push(e)),s)}_addRelatedFeatures(e){const t=new Map,n=e.features,r=this._serviceDefinition.relatedFeatures.joinField;for(const e of n){const n=e.attributes[r];t.set(n,e)}this._relatedFeatures=t}};_=(0,r.Cg)([(0,a.$K)("esri.layers.graphics.sources.connections.GeoEventConnection")],_);var b=n(64108);let S=class extends d{constructor(e){super({}),this.connectionStatus="connected",this.errorString=null;const{geometryType:t,spatialReference:n,sourceSpatialReference:r}=e;this._featureZScaler=(0,f.N)(t,r,n)}normalizeCtorArgs(){return{}}updateCustomParameters(e){}sendMessageToSocket(e){}sendMessageToClient(e){if("type"in e)switch(e.type){case"features":case"featureResult":for(const t of e.features)null!=this._featureZScaler&&this._featureZScaler(t.geometry),this.onFeature(t)}this.onMessage(e)}};function k(e,t){if(null==e&&null==t)return null;const n={};return null!=t&&(n.geometry=t),null!=e&&(n.where=e),n}function A(e,t,n,r,s,o,i,c,a){const u={source:e,sourceSpatialReference:t,spatialReference:n,geometryType:r,filter:k(s,o),maxReconnectionAttempts:i,maxReconnectionInterval:c,customParameters:a};return e?e.path.startsWith("wss://")||e.path.startsWith("ws://")?new p(u):new _(u):new S(u)}(0,r.Cg)([(0,a.MZ)()],S.prototype,"connectionStatus",void 0),(0,r.Cg)([(0,a.MZ)()],S.prototype,"errorString",void 0),S=(0,r.Cg)([(0,b.$)("esri.layers.support.ClientSideConnection")],S)},92300(e,t,n){n.d(t,{V:()=>i,X:()=>o});var r=n(60408),s=n(65864);function o(e){return{geometryType:(0,r.$B)(e[0]),geometries:e.map(e=>e.toJSON())}}function i(e,t,n){const r=(0,s.xD)(t);return e.map(e=>{const t=r.fromJSON(e);return t.spatialReference=n,t})}},58501(e,t,n){n.d(t,{q:()=>s});var r=n(62815);function s(e,t,n){if(!n?.features||!n.hasZ)return;const s=(0,r.N)(n.geometryType,t,e.outSpatialReference);if(s)for(const e of n.features)s(e.geometry)}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[6052],{96052(r,e,t){t.d(e,{default:()=>n});var n=async function(r={}){var e,t=r,n="./this.program",a="";try{a=new URL(".","").href}catch{}e=async r=>{var e=await fetch(r,{credentials:"same-origin"});if(e.ok)return e.arrayBuffer();throw new Error(e.status+" : "+e.url)};var o,i,u,s,f,l,c,p,v,h,d,g,m,y,w=console.log.bind(console),T=console.error.bind(console),A=!1,b=!1;function C(){var r=s.buffer;f=new Int8Array(r),c=new Int16Array(r),t.HEAPU8=l=new Uint8Array(r),p=new Uint16Array(r),v=new Int32Array(r),t.HEAPU32=h=new Uint32Array(r),d=new Float32Array(r),t.HEAPF64=g=new Float64Array(r),m=new BigInt64Array(r),y=new BigUint64Array(r)}var P,W=0,F=null;function E(r){t.onAbort?.(r),T(r="Aborted("+r+")"),A=!0,r+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(r);throw u?.(e),e}async function R(r){if(!o)try{var t=await e(r);return new Uint8Array(t)}catch{}return function(r){if(r==P&&o)return new Uint8Array(o);throw"both async and sync fetching of the wasm failed"}(r)}var _=r=>{for(;r.length>0;)r.shift()(t)},k=[],$=r=>k.push(r),x=[],S=r=>x.push(r);class I{constructor(r){this.excPtr=r,this.ptr=r-24}set_type(r){h[this.ptr+4>>2]=r}get_type(){return h[this.ptr+4>>2]}set_destructor(r){h[this.ptr+8>>2]=r}get_destructor(){return h[this.ptr+8>>2]}set_caught(r){r=r?1:0,f[this.ptr+12]=r}get_caught(){return 0!=f[this.ptr+12]}set_rethrown(r){r=r?1:0,f[this.ptr+13]=r}get_rethrown(){return 0!=f[this.ptr+13]}init(r,e){this.set_adjusted_ptr(0),this.set_type(r),this.set_destructor(e)}set_adjusted_ptr(r){h[this.ptr+16>>2]=r}get_adjusted_ptr(){return h[this.ptr+16>>2]}}var U={},D=r=>{for(;r.length;){var e=r.pop();r.pop()(e)}};function B(r){return this.fromWireType(h[r>>2])}var M={},O={},V={},N=class extends Error{constructor(r){super(r),this.name="InternalError"}},j=r=>{throw new N(r)},L=(r,e,t)=>{function n(e){var n=t(e);n.length!==r.length&&j("Mismatched type converter count");for(var a=0;a<r.length;++a)q(r[a],n[a])}r.forEach(r=>V[r]=e);var a=new Array(e.length),o=[],i=0;e.forEach((r,e)=>{O.hasOwnProperty(r)?a[e]=O[r]:(o.push(r),M.hasOwnProperty(r)||(M[r]=[]),M[r].push(()=>{a[e]=O[r],++i===o.length&&n(a)}))}),0===o.length&&n(a)},H={},z=r=>{for(var e="";;){var t=l[r++];if(!t)return e;e+=String.fromCharCode(t)}},G=class extends Error{constructor(r){super(r),this.name="BindingError"}},Y=r=>{throw new G(r)};function q(r,e,t={}){return function(r,e,t={}){var n=e.name;if(r||Y(`type "${n}" must have a positive integer typeid pointer`),O.hasOwnProperty(r)){if(t.ignoreDuplicateRegistrations)return;Y(`Cannot register type '${n}' twice`)}if(O[r]=e,delete V[r],M.hasOwnProperty(r)){var a=M[r];delete M[r],a.forEach(r=>r())}}(r,e,t)}var J=(r,e,t)=>{switch(e){case 1:return t?r=>f[r]:r=>l[r];case 2:return t?r=>c[r>>1]:r=>p[r>>1];case 4:return t?r=>v[r>>2]:r=>h[r>>2];case 8:return t?r=>m[r>>3]:r=>y[r>>3];default:throw new TypeError(`invalid integer width (${e}): ${r}`)}},K=[],Q=[0,1,,1,null,1,!0,1,!1,1],X=r=>{r>9&&0===--Q[r+1]&&(Q[r]=void 0,K.push(r))},Z=r=>(r||Y(`Cannot use deleted val. handle = ${r}`),Q[r]),rr=r=>{switch(r){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:{const e=K.pop()||Q.length;return Q[e]=r,Q[e+1]=1,e}}},er={name:"emscripten::val",fromWireType:r=>{var e=Z(r);return X(r),e},toWireType:(r,e)=>rr(e),argPackAdvance:8,readValueFromPointer:B,destructorFunction:null},tr=(r,e)=>{switch(e){case 4:return function(r){return this.fromWireType(d[r>>2])};case 8:return function(r){return this.fromWireType(g[r>>3])};default:throw new TypeError(`invalid float width (${e}): ${r}`)}};var nr,ar=(r,e,t)=>{if(void 0===r[e].overloadTable){var n=r[e];r[e]=function(...n){return r[e].overloadTable.hasOwnProperty(n.length)||Y(`Function '${t}' called with an invalid number of arguments (${n.length}) - expects one of (${r[e].overloadTable})!`),r[e].overloadTable[n.length].apply(this,n)},r[e].overloadTable=[],r[e].overloadTable[n.argCount]=n}},or=(r,e,n)=>{t.hasOwnProperty(r)?((void 0===n||void 0!==t[r].overloadTable&&void 0!==t[r].overloadTable[n])&&Y(`Cannot register public name '${r}' twice`),ar(t,r,r),t[r].overloadTable.hasOwnProperty(n)&&Y(`Cannot register multiple overloads of a function with the same number of arguments (${n})!`),t[r].overloadTable[n]=e):(t[r]=e,t[r].argCount=n)},ir=(r,e,n)=>{t.hasOwnProperty(r)||j("Replacing nonexistent public symbol"),void 0!==t[r].overloadTable&&void 0!==n?t[r].overloadTable[n]=e:(t[r]=e,t[r].argCount=n)},ur=[],sr=r=>{var e=ur[r];return e||(ur[r]=e=nr.get(r)),e},fr=(r,e,t=!1)=>{r=z(r);var n=sr(e);return"function"!=typeof n&&Y(`unknown function pointer with signature ${r}: ${e}`),n};class lr extends Error{}var cr,pr,vr,hr,dr=r=>{var e=pr(r),t=z(e);return hr(e),t},gr=(r,e,t)=>((r,e,t,n)=>{if(!(n>0))return 0;for(var a=t,o=t+n-1,i=0;i<r.length;++i){var u=r.codePointAt(i);if(u<=127){if(t>=o)break;e[t++]=u}else if(u<=2047){if(t+1>=o)break;e[t++]=192|u>>6,e[t++]=128|63&u}else if(u<=65535){if(t+2>=o)break;e[t++]=224|u>>12,e[t++]=128|u>>6&63,e[t++]=128|63&u}else{if(t+3>=o)break;e[t++]=240|u>>18,e[t++]=128|u>>12&63,e[t++]=128|u>>6&63,e[t++]=128|63&u,i++}}return e[t]=0,t-a})(r,l,e,t),mr=r=>{for(var e=0,t=0;t<r.length;++t){var n=r.charCodeAt(t);n<=127?e++:n<=2047?e+=2:n>=55296&&n<=57343?(e+=4,++t):e+=3}return e},yr="undefined"!=typeof TextDecoder?new TextDecoder:void 0,wr=(r,e=0,t=NaN)=>{for(var n=e+t,a=e;r[a]&&!(a>=n);)++a;if(a-e>16&&r.buffer&&yr)return yr.decode(r.subarray(e,a));for(var o="";e<a;){var i=r[e++];if(128&i){var u=63&r[e++];if(192!=(224&i)){var s=63&r[e++];if((i=224==(240&i)?(15&i)<<12|u<<6|s:(7&i)<<18|u<<12|s<<6|63&r[e++])<65536)o+=String.fromCharCode(i);else{var f=i-65536;o+=String.fromCharCode(55296|f>>10,56320|1023&f)}}else o+=String.fromCharCode((31&i)<<6|u)}else o+=String.fromCharCode(i)}return o},Tr=(r,e)=>r?wr(l,r,e):"",Ar="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,br=(r,e)=>{for(var t=r>>1,n=t+e/2,a=t;!(a>=n)&&p[a];)++a;if(a-t>16&&Ar)return Ar.decode(p.subarray(t,a));for(var o="",i=t;!(i>=n);++i){var u=p[i];if(0==u)break;o+=String.fromCharCode(u)}return o},Cr=(r,e,t)=>{if(t??=2147483647,t<2)return 0;for(var n=e,a=(t-=2)<2*r.length?t/2:r.length,o=0;o<a;++o){var i=r.charCodeAt(o);c[e>>1]=i,e+=2}return c[e>>1]=0,e-n},Pr=r=>2*r.length,Wr=(r,e)=>{for(var t="",n=0;!(n>=e/4);n++){var a=v[r+4*n>>2];if(!a)break;t+=String.fromCodePoint(a)}return t},Fr=(r,e,t)=>{if(t??=2147483647,t<4)return 0;for(var n=e,a=n+t-4,o=0;o<r.length;++o){var i=r.codePointAt(o);if(i>65535&&o++,v[e>>2]=i,(e+=4)+4>a)break}return v[e>>2]=0,e-n},Er=r=>{for(var e=0,t=0;t<r.length;++t)r.codePointAt(t)>65535&&t++,e+=4;return e},Rr={},_r=(r,e)=>Math.ceil(r/e)*e,kr=r=>{var e=(r-s.buffer.byteLength+65535)/65536|0;try{return s.grow(e),C(),1}catch(r){}},$r={},xr=()=>{if(!xr.strings){var r={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.language||"C").replace("-","_")+".UTF-8",_:n||"./this.program"};for(var e in $r)void 0===$r[e]?delete r[e]:r[e]=$r[e];var t=[];for(var e in r)t.push(`${e}=${r[e]}`);xr.strings=t}return xr.strings},Sr=[null,[],[]],Ir=(r,e)=>{var t=Sr[r];0===e||10===e?((1===r?w:T)(wr(t)),t.length=0):t.push(e)},Ur=(r,e)=>{r<128?e.push(r):e.push(r%128|128,r>>7)},Dr=[],Br=(r,e)=>{nr.set(r,e),ur[r]=nr.get(r)};t.noExitRuntime&&t.noExitRuntime,t.print&&(w=t.print),t.printErr&&(T=t.printErr),t.wasmBinary&&(o=t.wasmBinary),t.arguments&&t.arguments,t.thisProgram&&(n=t.thisProgram),t.addFunction=(r,e)=>{var t=(r=>(cr||(cr=new WeakMap,((r,e)=>{if(cr)for(var t=0;t<0+e;t++){var n=sr(t);n&&cr.set(n,t)}})(0,nr.length)),cr.get(r)||0))(r);if(t)return t;var n=(()=>{if(Dr.length)return Dr.pop();try{nr.grow(1)}catch(r){if(!(r instanceof RangeError))throw r;throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH."}return nr.length-1})();try{Br(n,r)}catch(t){if(!(t instanceof TypeError))throw t;var a=((r,e)=>{if("function"==typeof WebAssembly.Function)return new WebAssembly.Function((r=>{for(var e={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"},t={parameters:[],results:"v"==r[0]?[]:[e[r[0]]]},n=1;n<r.length;++n)t.parameters.push(e[r[n]]);return t})(e),r);var t=[1];((r,e)=>{var t=r.slice(0,1),n=r.slice(1),a={i:127,p:127,j:126,f:125,d:124,e:111};for(var o of(e.push(96),Ur(n.length,e),n))e.push(a[o]);"v"==t?e.push(0):e.push(1,a[t])})(e,t);var n=[0,97,115,109,1,0,0,0,1];Ur(t.length,n),n.push(...t),n.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var a=new WebAssembly.Module(new Uint8Array(n));return new WebAssembly.Instance(a,{e:{f:r}}).exports.f})(r,e);Br(n,a)}return cr.set(r,n),n},t.UTF8ToString=Tr;var Mr={d:(r,e,t)=>{throw new I(r).init(e,t),r},y:()=>E(""),l:r=>{var e=U[r];delete U[r];var t=e.elements,n=t.length,a=t.map(r=>r.getterReturnType).concat(t.map(r=>r.setterArgumentType)),o=e.rawConstructor,i=e.rawDestructor;L([r],a,r=>(t.forEach((e,t)=>{var a=r[t],o=e.getter,i=e.getterContext,u=r[t+n],s=e.setter,f=e.setterContext;e.read=r=>a.fromWireType(o(i,r)),e.write=(r,e)=>{var t=[];s(f,r,u.toWireType(t,e)),D(t)}}),[{name:e.name,fromWireType:r=>{for(var e=new Array(n),a=0;a<n;++a)e[a]=t[a].read(r);return i(r),e},toWireType:(r,a)=>{if(n!==a.length)throw new TypeError(`Incorrect number of tuple elements for ${e.name}: expected=${n}, actual=${a.length}`);for(var u=o(),s=0;s<n;++s)t[s].write(u,a[s]);return null!==r&&r.push(i,u),u},argPackAdvance:8,readValueFromPointer:B,destructorFunction:i}]))},p:r=>{var e=H[r];delete H[r];var t=e.rawConstructor,n=e.rawDestructor,a=e.fields,o=a.map(r=>r.getterReturnType).concat(a.map(r=>r.setterArgumentType));L([r],o,r=>{var o={};return a.forEach((e,t)=>{var n=e.fieldName,i=r[t],u=r[t].optional,s=e.getter,f=e.getterContext,l=r[t+a.length],c=e.setter,p=e.setterContext;o[n]={read:r=>i.fromWireType(s(f,r)),write:(r,e)=>{var t=[];c(p,r,l.toWireType(t,e)),D(t)},optional:u}}),[{name:e.name,fromWireType:r=>{var e={};for(var t in o)e[t]=o[t].read(r);return n(r),e},toWireType:(r,e)=>{for(var a in o)if(!(a in e)&&!o[a].optional)throw new TypeError(`Missing field: "${a}"`);var i=t();for(a in o)o[a].write(i,e[a]);return null!==r&&r.push(n,i),i},argPackAdvance:8,readValueFromPointer:B,destructorFunction:n}]})},t:(r,e,t,n,a)=>{e=z(e);const o=0n===n;let i=r=>r;if(o){const r=8*t;i=e=>BigInt.asUintN(r,e),a=i(a)}q(r,{name:e,fromWireType:i,toWireType:(r,e)=>("number"==typeof e&&(e=BigInt(e)),e),argPackAdvance:8,readValueFromPointer:J(e,t,!o),destructorFunction:null})},D:(r,e,t,n)=>{q(r,{name:e=z(e),fromWireType:function(r){return!!r},toWireType:function(r,e){return e?t:n},argPackAdvance:8,readValueFromPointer:function(r){return this.fromWireType(l[r])},destructorFunction:null})},B:r=>q(r,er),s:(r,e,t)=>{q(r,{name:e=z(e),fromWireType:r=>r,toWireType:(r,e)=>e,argPackAdvance:8,readValueFromPointer:tr(e,t),destructorFunction:null})},b:(r,e,t,n,a,o,i,u)=>{var s=((r,e)=>{for(var t=[],n=0;n<r;n++)t.push(h[e+4*n>>2]);return t})(e,t);r=(r=>{const e=(r=r.trim()).indexOf("(");return-1===e?r:r.slice(0,e)})(r=z(r)),a=fr(n,a,i),or(r,function(){((r,e)=>{var t=[],n={};throw e.forEach(function r(e){n[e]||O[e]||(V[e]?V[e].forEach(r):(t.push(e),n[e]=!0))}),new lr(`${r}: `+t.map(dr).join([", "]))})(`Cannot call ${r} due to unbound types`,s)},e-1),L([],s,t=>{var n=[t[0],null].concat(t.slice(1));return ir(r,function(r,e,t,n,a){var o=e.length;o<2&&Y("argTypes array size mismatch! Must at least get return value and 'this' types!"),e[1];var i=function(r){for(var e=1;e<r.length;++e)if(null!==r[e]&&void 0===r[e].destructorFunction)return!0;return!1}(e),u="void"!==e[0].name,s=o-2,f=new Array(s),l=[],c=[];return((r,e)=>Object.defineProperty(e,"name",{value:r}))(r,function(...r){c.length=0,l.length=1,l[0]=a;for(var t=0;t<s;++t)f[t]=e[t+2].toWireType(c,r[t]),l.push(f[t]);return function(r){if(i)D(c);else for(var t=2;t<e.length;t++){var n=1===t?void 0:f[t-2];null!==e[t].destructorFunction&&e[t].destructorFunction(n)}if(u)return e[0].fromWireType(r)}(n(...l))})}(r,n,0,a,o),e-1),[]})},j:(r,e,t,n,a)=>{e=z(e);let o=r=>r;if(0===n){var i=32-8*t;o=r=>r<<i>>>i,a=o(a)}q(r,{name:e,fromWireType:o,toWireType:(r,e)=>e,argPackAdvance:8,readValueFromPointer:J(e,t,0!==n),destructorFunction:null})},f:(r,e,t)=>{var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][e];function a(r){var e=h[r>>2],t=h[r+4>>2];return new n(f.buffer,t,e)}q(r,{name:t=z(t),fromWireType:a,argPackAdvance:8,readValueFromPointer:a},{ignoreDuplicateRegistrations:!0})},C:(r,e)=>{q(r,{name:e=z(e),fromWireType(r){for(var e,t=h[r>>2],n=r+4,a=n,o=0;o<=t;++o){var i=n+o;if(o==t||0==l[i]){var u=Tr(a,i-a);void 0===e?e=u:(e+=String.fromCharCode(0),e+=u),a=i+1}}return hr(r),e},toWireType(r,e){var t;e instanceof ArrayBuffer&&(e=new Uint8Array(e));var n="string"==typeof e;n||ArrayBuffer.isView(e)&&1==e.BYTES_PER_ELEMENT||Y("Cannot pass non-string to std::string"),t=n?mr(e):e.length;var a=vr(4+t+1),o=a+4;return h[a>>2]=t,n?gr(e,o,t+1):l.set(e,o),null!==r&&r.push(hr,a),a},argPackAdvance:8,readValueFromPointer:B,destructorFunction(r){hr(r)}})},o:(r,e,t)=>{var n,a,o,i;t=z(t),2===e?(n=br,a=Cr,i=Pr,o=r=>p[r>>1]):4===e&&(n=Wr,a=Fr,i=Er,o=r=>h[r>>2]),q(r,{name:t,fromWireType:r=>{for(var t,a=h[r>>2],i=r+4,u=0;u<=a;++u){var s=r+4+u*e;if(u==a||0==o(s)){var f=n(i,s-i);void 0===t?t=f:(t+=String.fromCharCode(0),t+=f),i=s+e}}return hr(r),t},toWireType:(r,n)=>{"string"!=typeof n&&Y(`Cannot pass non-string to C++ string type ${t}`);var o=i(n),u=vr(4+o+e);return h[u>>2]=o/e,a(n,u+4,o+e),null!==r&&r.push(hr,u),u},argPackAdvance:8,readValueFromPointer:B,destructorFunction(r){hr(r)}})},m:(r,e,t,n,a,o)=>{U[r]={name:z(e),rawConstructor:fr(t,n),rawDestructor:fr(a,o),elements:[]}},i:(r,e,t,n,a,o,i,u,s)=>{U[r].elements.push({getterReturnType:e,getter:fr(t,n),getterContext:a,setterArgumentType:o,setter:fr(i,u),setterContext:s})},q:(r,e,t,n,a,o)=>{H[r]={name:z(e),rawConstructor:fr(t,n),rawDestructor:fr(a,o),fields:[]}},h:(r,e,t,n,a,o,i,u,s,f)=>{H[r].fields.push({fieldName:z(e),getterReturnType:t,getter:fr(n,a),getterContext:o,setterArgumentType:i,setter:fr(u,s),setterContext:f})},u:(r,e)=>{q(r,{isVoid:!0,name:e=z(e),argPackAdvance:0,fromWireType:()=>{},toWireType:(r,e)=>{}})},a:X,n:r=>{r>9&&(Q[r+1]+=1)},A:()=>rr([]),c:r=>rr((r=>{var e=Rr[r];return void 0===e?z(r):e})(r)),k:()=>rr({}),e:(r,e,t)=>{r=Z(r),e=Z(e),t=Z(t),r[e]=t},g:(r,e)=>{var t=(r=(r=>{var e=O[r];return void 0===e&&Y(`_emval_take_value has unknown type ${dr(r)}`),e})(r)).readValueFromPointer(e);return rr(t)},v:(r,e,t,n)=>{var a=(new Date).getFullYear(),o=new Date(a,0,1),i=new Date(a,6,1),u=o.getTimezoneOffset(),s=i.getTimezoneOffset(),f=Math.max(u,s);h[r>>2]=60*f,v[e>>2]=Number(u!=s);var l=r=>{var e=r>=0?"-":"+",t=Math.abs(r);return`UTC${e}${String(Math.floor(t/60)).padStart(2,"0")}${String(t%60).padStart(2,"0")}`},c=l(u),p=l(s);s<u?(gr(c,t,17),gr(p,n,17)):(gr(c,n,17),gr(p,t,17))},z:r=>{var e=l.length,t=2147483648;if((r>>>=0)>t)return!1;for(var n=1;n<=4;n*=2){var a=e*(1+.2/n);a=Math.min(a,r+100663296);var o=Math.min(t,_r(Math.max(r,a),65536));if(kr(o))return!0}return!1},w:(r,e)=>{var t=0,n=0;for(var a of xr()){var o=e+t;h[r+n>>2]=o,t+=gr(a,o,1/0)+1,n+=4}return 0},x:(r,e)=>{var t=xr();h[r>>2]=t.length;var n=0;for(var a of t)n+=mr(a)+1;return h[e>>2]=n,0},r:(r,e,t,n)=>{for(var a=0,o=0;o<t;o++){var i=h[e>>2],u=h[e+4>>2];e+=8;for(var s=0;s<u;s++)Ir(r,l[i+s]);a+=u}return h[n>>2]=a,0}},Or=await async function(){function r(r,e){return Or=r.exports,s=Or.E,C(),nr=Or.H,function(r){pr=r.G,t._malloc=vr=r.I,t._free=hr=r.J}(Or),function(){if(W--,t.monitorRunDependencies?.(W),0==W&&F){var r=F;F=null,r()}}(),Or}W++,t.monitorRunDependencies?.(W);var e={a:Mr};return t.instantiateWasm?new Promise((n,a)=>{t.instantiateWasm(e,(e,t)=>{n(r(e))})}):(P??=t.locateFile?function(r){return t.locateFile?t.locateFile(r,a):a+r}("lyr3DMain.wasm"):new URL("lyr3DMain.wasm","").href,function(e){return r(e.instance)}(await async function(r,e,t){if(!r&&"function"==typeof WebAssembly.instantiateStreaming)try{var n=fetch(e,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(n,t)}catch(r){T(`wasm streaming compile failed: ${r}`),T("falling back to ArrayBuffer instantiation")}return async function(r,e){try{var t=await R(r);return await WebAssembly.instantiate(t,e)}catch(r){T(`failed to asynchronously prepare wasm: ${r}`),E(r)}}(e,t)}(o,P,e)))}();return function(){if(t.preInit)for("function"==typeof t.preInit&&(t.preInit=[t.preInit]);t.preInit.length>0;)t.preInit.shift()()}(),function r(){function e(){t.calledRun=!0,A||(b=!0,Or.F(),i?.(t),t.onRuntimeInitialized?.(),function(){if(t.postRun)for("function"==typeof t.postRun&&(t.postRun=[t.postRun]);t.postRun.length;)$(t.postRun.shift());_(k)}())}W>0?F=r:(function(){if(t.preRun)for("function"==typeof t.preRun&&(t.preRun=[t.preRun]);t.preRun.length;)S(t.preRun.shift());_(x)}(),W>0?F=r:t.setStatus?(t.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>t.setStatus(""),1),e()},1)):e())}(),b?t:new Promise((r,e)=>{i=r,u=e})}}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[2741],{2741(e,t,r){r.d(t,{s:()=>i});var s=r(92602),n=(r(11254),r(49186)),o=r(53966),a=r(84952);function i(e){if(!s.A.assetsPath)throw o.A.getLogger("esri.assets").errorOnce("The API assets location needs to be set using config.assetsPath. More information: https://arcg.is/1OzLe50"),new n.A("assets:path-not-set","config.assetsPath is not set");return(0,a.fj)(s.A.assetsPath,e)}},97159(e,t,r){r.d(t,{a:()=>y,b:()=>w,e:()=>h,f:()=>a,i:()=>p,p:()=>f,r:()=>l,t:()=>i,w:()=>u});var s=r(70333),n=r(84952),o=r(39131);function a(e,t){const r=t?.url?.path;if(e&&r&&(e=(0,n.s2)(e,r,{preserveProtocolRelative:!0}),t.portalItem&&t.readResourcePaths)){const r=(0,n.V1)(e,t.portalItem.itemUrl);null!=r&&r.startsWith(d)&&t.readResourcePaths.push(t.portalItem.resourceFromPath(r).path)}return(e=m(e,t?.portal))&&c.test(e)?y(e):e}function i(e,t,r=0){if(null==(e=e&&c.test(e)?g(e):e))return e;!(0,n.oP)(e)&&t?.blockedRelativeUrls&&t.blockedRelativeUrls.push(e);let s=(0,n.s2)(e);if(t){const r=t.verifyItemRelativeUrls?.rootPath||t.url?.path;if(r){const o=m(r,t.portal),a=m(s,t.portal);s=(0,n.V1)(a,o,o),null!=s&&s!==a&&s!==e&&t.verifyItemRelativeUrls&&t.verifyItemRelativeUrls.writtenUrls.push(s)}}return s=h(s,t?.portal),(0,n.oP)(s)&&(s=(0,n.S8)(s)),t?.resources&&t?.portalItem&&!(0,n.oP)(s)&&!(0,n.DB)(s)&&0===r&&t.resources.toKeep.push({resource:t.portalItem.resourceFromPath(s),compress:!1}),s}function l(e,t,r){return a(e,r)}function u(e,t,r,s){const n=i(e,s);void 0!==n&&(t[r]=n)}const c=/\/items\/([^/]+)\/resources\/(.*)/,d="./resources/";function p(e){const t=e?.match(c)??null;return t?.[1]??null}function f(e){const t=e?.match(c)??null;if(null==t)return null;const r=t[2],s=r.lastIndexOf("/");if(-1===s){const{path:e,extension:t}=(0,n.xw)(r);return{prefix:null,filename:e,extension:t}}const{path:o,extension:a}=(0,n.xw)(r.slice(s+1));return{prefix:r.slice(0,s),filename:o,extension:a}}function h(e,t){return t&&!t.isPortal&&t.urlKey&&t.customBaseUrl?(0,n.T1)(e,`${t.urlKey}.${t.customBaseUrl}`,t.portalHostname):e}function m(e,t){if(!t||t.isPortal||!t.urlKey||!t.customBaseUrl)return e;const r=`${t.urlKey}.${t.customBaseUrl}`,s=(0,n.Xq)();return(0,n.FX)(s,`${s.scheme}://${r}`)?(0,n.T1)(e,t.portalHostname,r):(0,n.T1)(e,r,t.portalHostname)}function y(e){if(!e)return e||null;let t=e;return t&&s.id&&!s.id.findCredential(t)&&(t=(0,o.qG)(t),t=t.replace(/^https?:\/\/www\.arcgis\.com/,"https://cdn.arcgis.com"),t=t.replace(/^https?:\/\/devext\.arcgis\.com/,"https://cdndev.arcgis.com"),t=t.replace(/^https?:\/\/qaext\.arcgis\.com/,"https://cdnqa.arcgis.com")),t}function g(e){if(!e)return e||null;let t=e;return t=t.replace(/^https?:\/\/cdn\.arcgis\.com/,"https://www.arcgis.com"),t=t.replace(/^https?:\/\/cdndev\.arcgis\.com/,"https://devext.arcgis.com"),t=t.replace(/^https?:\/\/cdnqa\.arcgis\.com/,"https://qaext.arcgis.com"),t&&s.id&&!s.id.findCredential(t)&&(t=(0,o.qG)(t)),t}const w=Object.freeze(Object.defineProperty({__proto__:null,ensureMainOnlineDomain:h,fromCDNUrl:g,fromJSON:a,itemIdFromResourceUrl:p,prefixAndFilenameFromResourceUrl:f,read:l,toCDNUrl:y,toJSON:i,write:u},Symbol.toStringTag,{value:"Module"}))},91869(e,t,r){function s(e,t){for(const r of e.values())if(t(r))return!0;return!1}function n(e,t,r){const s=e.get(t);if(void 0!==s)return s;const n=r();return e.set(t,n),n}function o(e){const t=new Map;return r=>(t.has(r)||t.set(r,e(r)),t.get(r))}r.d(t,{Bj:()=>o,Bs:()=>s,tE:()=>n})},60694(e,t,r){r.d(t,{Fi:()=>d,HZ:()=>b,Jf:()=>v,LS:()=>q,Wo:()=>g,bd:()=>S,cr:()=>h,iz:()=>f,qg:()=>p,uV:()=>w,yG:()=>m});var s=r(84952),n=r(39131),o=r(97159);const a={mapserver:"MapServer",imageserver:"ImageServer",featureserver:"FeatureServer",knowledgegraphserver:"KnowledgeGraphServer",sceneserver:"SceneServer",streamserver:"StreamServer",vectortileserver:"VectorTileServer","3dtilesserver":"3DTilesServer",videoserver:"VideoServer"},i=Object.values(a),l=new RegExp(`^(?<path>(?:https?:)?\\/\\/\\S+?\\/rest\\/services\\/(?<serviceTitle>.+?)\\/(?<serverType>${i.join("|")})(?:\\/exts\\/(?<soeTitle>.+?)\\/(?<soeServerType>${i.join("|")}))?)(?:\\/(?:layers))?(?:\\/(?<sublayer>\\d+))?`,"i"),u=new RegExp(`^(?<path>(?:https?:)?\\/\\/\\S+?\\/(?<serviceTitle>[^/\\n]+)\\/(?<serverType>${i.join("|")}))(?:\\/(?:layers))?(?:\\/(?<sublayer>\\d+))?`,"i"),c=/(.*?)\/(?:layers\/)?(\d+)\/?$/i;function d(e){return l.test(e)}function p(e){if(null==e)return null;const t=(0,s.An)(e),r=t?.path.match(l)||t?.path.match(u);if(!r)return null;const{path:n,serviceTitle:o,serverType:i,soeTitle:c,soeServerType:d,sublayer:p}=r.groups??{},f=c||o,m=f.indexOf("/");return{title:h(-1!==m?f.slice(m+1):f),serverType:a[(d||i).toLowerCase()],sublayer:null!=p&&""!==p?parseInt(p,10):null,url:{path:n}}}function f(e){const t=(0,s.An)(e).path.match(c);return t?{serviceUrl:t[1],sublayerId:Number(t[2])}:null}function h(e){return(e=e.replaceAll(/\s*[/_]+\s*/g," "))[0].toUpperCase()+e.slice(1)}function m(e,t){const r=[];if(e){const t=p(e);null!=t&&t.title&&r.push(t.title)}if(t){const e=h(t);r.push(e)}if(2===r.length){if(r[0].toLowerCase().includes(r[1].toLowerCase()))return r[0];if(r[1].toLowerCase().includes(r[0].toLowerCase()))return r[1]}return r.join(" - ")}const y=["services","features","tiles","elevation3d","basemaps3d"];function g(e){let t=(0,s.$z)(e,!0);return!!t&&(t=t.toLowerCase(),!!t.endsWith(".arcgis.com")&&(!!y.some(e=>t.startsWith(e))||/^[a-z\d-]+\.svcs[a-z\d-]*\./.test(t)))}function w(e){return(0,n.$E)(e)&&function(e){const t=(0,s.$z)(e);return!!t&&t.toLowerCase().endsWith(".arcgis.com")}(e)}function v(e,t){return e?(0,s.UC)((0,s.zi)(e,t)):e}function b(e){let{url:t}=e;if(!t)return{url:t};t=(0,s.zi)(t,e.logger);const r=(0,s.An)(t),n=p(r.path);let o;if(null!=n)null!=n.sublayer&&null==e.layer.layerId&&(o=n.sublayer),t=n.url.path;else if(e.nonStandardUrlAllowed){const e=f(r.path);null!=e&&(t=e.serviceUrl,o=e.sublayerId)}return{url:(0,s.UC)(t),layerId:o}}function q(e,t,r,n,a){(0,o.w)(t,n,"url",a),n.url&&null!=e.layerId&&(n.url=(0,s.fj)(n.url,r,e.layerId.toString()))}function S(e){if(!e)return!1;const t=e.toLowerCase(),r=t.includes("/services/"),s=t.includes("/mapserver/wmsserver"),n=t.includes("/imageserver/wmsserver"),o=t.includes("/wmsserver");return r&&(s||n||o)}},11254(e,t,r){r.d(t,{A:()=>g});var s=r(92602),n=r(49186),o=r(44208),a=r(74887),i=r(84952),l=r(56152),u=r(51699),c=r(91869),d=r(60694);async function p(e){const t=function(e){let t,r=!1;return"string"==typeof e?(t=(0,i.$z)(e,!0),r=(0,d.Wo)(e)):(t=e.origin,r=(0,d.Wo)(e.toString())),null==t?null:new y(t,r)}(e.parameters.url);if(!t)return null;const{QueueProcessor:s,SharedConcurrency:n}=await r.e(563).then(r.bind(r,563));return(0,c.tE)(f,t.origin,()=>{const e=(t.isHosted?(0,o.A)("request-queue-concurrency-hosted"):(0,o.A)("request-queue-concurrency-non-hosted"))??4;return h??=new n((0,o.A)("request-queue-concurrency-global")??50),new s({concurrency:e,sharedConcurrency:h,process:e=>{if((0,a.G4)(e.parameters.requestOptions))throw(0,u.YB)("",(0,a.NK)("Request canceled"),e.parameters);return(0,u.zc)(e)}})})}const f=new Map;let h,m;class y{constructor(e,t){this.origin=e,this.isHosted=t}}async function g(e,t){e instanceof URL&&(e=e.toString());const s=(0,i.DB)(e),n=(0,i.w8)(e);n||s||(e=(0,i.S8)(e));const c={url:e,requestOptions:{...t}};t?.query&&(c.requestOptions.query=t?.query instanceof URLSearchParams?(0,i.zf)(t.query.toString().replaceAll("+"," ")):t?.query);const d=e=>({data:e,getAllHeaders:v,getHeader:v,httpStatus:200,requestOptions:c.requestOptions,url:c.url}),f=(0,i.sC)(e,w.internalInterceptors);if(f){const e=await b(f,c);if(null!=e)return d(e)}let h=(0,i.sC)(e);if(h){const e=await b(h,c);if(null!=e)return d(e);h.after||h.error||(h=null)}if(e=c.url,"image"===(t=c.requestOptions).responseType&&((0,o.A)("host-webworker")||(0,o.A)("host-node")))throw(0,u.YB)("request:invalid-parameters",new Error("responseType 'image' is not supported in Web Workers or Node environment"),c);if("head"===t.method){if(t.body)throw(0,u.YB)("request:invalid-parameters",new Error("body parameter cannot be set when method is 'head'"),c);if(s||n)throw(0,u.YB)("request:invalid-parameters",new Error("data and blob URLs are not supported for method 'head'"),c)}if(await async function(){(0,o.A)("host-webworker")&&(!m&&globalThis.invokeStaticMessage?m=await r.e(369).then(r.bind(r,40369)):l.i.isForeignWorker=!0)}(),m)return m.execute(e,t);const y=new AbortController,g=(0,a.u7)(t,()=>y.abort()),q={controller:y,credential:void 0,credentialToken:void 0,fetchOptions:void 0,hasToken:!1,interceptor:h,parameters:c,redoRequest:!1,useIdentity:w.useIdentity,useProxy:!1,useSSL:!1,withCredentials:!1},S=t.useQueue?async function(e){const t=await p(e);return t?t.push(e):(0,u.zc)(e)}(q):(0,u.zc)(q),T=await S.finally(()=>g?.remove());return h?.after?.(T),T}const w=s.A.request,v=()=>null;async function b(e,t){if(null!=e.responseData)return e.responseData;if(e.headers&&(t.requestOptions.headers={...t.requestOptions.headers,...e.headers}),e.query&&(t.requestOptions.query={...t.requestOptions.query,...e.query}),e.before){let r,s;try{s=await e.before(t)}catch(e){r=(0,u.YB)("request:interceptor",e,t)}if((s instanceof Error||s instanceof n.A)&&(r=(0,u.YB)("request:interceptor",s,t)),r)throw e.error&&e.error(r),r;return s}}},56152(e,t,r){r.d(t,{i:()=>s});const s={corsServers:["https://server.arcgisonline.com","https://services.arcgisonline.com"],beforeFetch:void 0,afterFetch:void 0,isForeignWorker:!1}},95117(e,t,r){r.d(t,{y:()=>n});var s=r(74887);function n(e,t,r=!1,n){return new Promise((o,a)=>{if((0,s.G4)(n))return void a((0,s.NK)());let i=()=>{c(),a(new Error(`Unable to load ${t}`))},l=async()=>{const t=e;try{await t.decode()}catch{}c(),o(t)},u=()=>{if(!e)return;const t=e;c(),t.src="",a((0,s.NK)())};const c=()=>{e&&(e.removeEventListener("error",i),e.removeEventListener("load",l),i=null,l=null,e=null,n?.removeEventListener("abort",u),u=null,r&&URL.revokeObjectURL(t))};n?.addEventListener("abort",u),e.addEventListener("error",i),e.addEventListener("load",l)})}},51699(e,t,r){r.d(t,{YB:()=>U,c8:()=>I,zc:()=>S});var s=r(92602),n=r(70333),o=r(49186),a=r(44208),i=r(4718),l=r(74887),u=r(84952),c=r(39131),d=r(56152);class p{constructor(e,t){this.element=e,this.type="image+type",this.isOpaque="image/jpeg"===t}}var f=r(95117),h=r(60694);const m=new Map;function y(e,t){const r=t?.preferredHost;if(!r||(0,u.FX)(e,`https://${r}`,!0))return;const s=(0,h.qg)(e);if(!s||"FeatureServer"!==s.serverType||(0,c.$E)(e))return;const n=s.url.path.toLowerCase();m.has(n)||m.set(n,r)}function g(e){const t=(0,h.qg)(e)?.url.path.toLowerCase();if(!t)return e;const r=m.get(t);return r?(0,u.hf)(e,r):e}const w="FormData"in globalThis,v=new Set([499,498,403,401]),b=new Set(["COM_0056","COM_0057","SB_0008"]),q=[/\/arcgis\/tokens/i,/\/sharing(\/rest)?\/generatetoken/i,/\/rest\/info/i];async function S(e){let t,o;await async function(e){const t=e.parameters.url,o=e.parameters.requestOptions,a=e.controller.signal,i=o.body;let u=null,c=null;if(w&&"HTMLFormElement"in globalThis&&(i instanceof FormData?u=i:i instanceof HTMLFormElement&&(u=new FormData(i))),"string"==typeof i&&(c=i),e.fetchOptions={cache:o.cacheMode??(o.cacheBust?"no-cache":"default"),credentials:"same-origin",headers:o.headers||{},keepalive:o.keepAlive??!1,method:"head"===o.method?"HEAD":"GET",mode:"cors",priority:o.priority??s.A.request.priority,redirect:"follow",signal:a},(u||c)&&(e.fetchOptions.body=u||c),(d.i.isForeignWorker||"anonymous"===o.authMode)&&(e.useIdentity=!1),e.hasToken=!!(/token=/i.test(t)||o.query?.token||u?.get("token")),!e.hasToken){const{getApiKey:s,getSessionToken:n}=await r.e(926).then(r.bind(r,926)),a=await n(t)??s(t);a&&(o.query??={},o.query.token=a,e.hasToken=!0)}if(e.useIdentity&&!e.hasToken&&!e.credential&&!e.credentialToken&&!O(t)&&!(0,l.G4)(a)){let r;"immediate"===o.authMode?(await k(),r=await n.id.getCredential(t,{signal:a})):"no-prompt"===o.authMode?(await k(),r=await n.id.getCredential(t,{prompt:!1,signal:a}).catch(()=>{})):n.id&&(r=n.id.findCredential(t)),r&&(e.credential=r,e.credentialToken=r.token,e.useSSL=!!r.ssl)}}(e);try{do{[t,o]=await T(e)}while(!await x(e,t,o))}catch(r){const s=U("request:server",r,e.parameters,t);throw s.details.ssl=e.useSSL,e.interceptor?.error?.(s),s}const a=e.parameters.url;if(o)if(/\/sharing\/rest\/(accounts|portals)\/self/i.test(a)){if(!e.hasToken&&!e.credentialToken&&o.user?.username&&!(0,u.FL)(a)){const e=(0,u.$z)(a,!0);e&&s.A.request.trustedServers.push(e)}Array.isArray(o.authorizedCrossOriginNoCorsDomains)&&function(e){s.A.request.crossOriginNoCorsDomains||(s.A.request.crossOriginNoCorsDomains={});const t=s.A.request.crossOriginNoCorsDomains;for(let r of e)r=r.toLowerCase(),/^https?:\/\//.test(r)?t[(0,u.$z)(r)??""]=0:(t[(0,u.$z)("http://"+r)??""]=0,t[(0,u.$z)("https://"+r)??""]=0)}(o.authorizedCrossOriginNoCorsDomains)}else"json"===(e.parameters.requestOptions.responseType||"json")&&y(a,o);const i=e.credential;if(i&&n.id){const e=n.id.findServerInfo(i.server);let t=e?.owningSystemUrl;if(t){t=t.replace(/\/?$/,"/sharing");const e=n.id.findCredential(t,i.userId);e&&-1===n.id._getIdenticalSvcIdx(t,e)&&e.resources.unshift(t)}}return{data:o,getAllHeaders:t?()=>Array.from(t.headers):P,getHeader:t?e=>t.headers.get(e):P,httpStatus:t?.status??200,requestOptions:e.parameters.requestOptions,ssl:e.useSSL,url:e.parameters.url}}async function T(e){let t=e.parameters.url,r=g(t);const o=e.parameters.requestOptions,i=e.fetchOptions??{},f=(0,u.w8)(t)||(0,u.DB)(t),h=o.responseType??"json",m="image"===h&&o.imageWithType,y=f?0:null!=o.timeout?o.timeout:s.A.request.timeout;let v=!1;if(!f){e.useSSL&&(t=(0,u.lM)(t));let l={...o.query};e.credentialToken&&(l.token=e.credentialToken);let d=(0,u.x0)(l);(0,a.A)("esri-url-encodes-apostrophe")&&(d=d.replaceAll("'","%27"));const p=r.length+1+d.length;let f;v="delete"===o.method||"post"===o.method||"put"===o.method||!!o.body||p>s.A.request.maxUrlLength;const h=o.useProxy||!!(0,u.zs)(t);if(h){const e=(0,u.s_)(t);f=e.path,!v&&f.length+1+p>s.A.request.maxUrlLength&&(v=!0),e.query&&(l={...e.query,...l})}if("HEAD"===i.method&&(v||h)){if(v){if(p>s.A.request.maxUrlLength)throw U("request:invalid-parameters",new Error("URL exceeds maximum length"),e.parameters);throw U("request:invalid-parameters",new Error("cannot use POST request when method is 'head'"),e.parameters)}if(h)throw U("request:invalid-parameters",new Error("cannot use proxy when method is 'head'"),e.parameters)}if(v?(i.method="delete"===o.method?"DELETE":"put"===o.method?"PUT":"POST",o.body?t=(0,u.a6)(t,l):(i.body=(0,u.x0)(l),i.headers||(i.headers={}),i.headers["Content-Type"]="application/x-www-form-urlencoded")):t=(0,u.a6)(t,l),h&&(e.useProxy=!0,t=`${f}?${t}`),l.token&&w&&i.body instanceof FormData&&!(0,c.$E)(t)&&i.body.set("token",l.token),o.hasOwnProperty("withCredentials"))e.withCredentials=o.withCredentials;else if(!(0,u.FX)(t,(0,u.Xq)()))if((0,u.FL)(t))e.withCredentials=!0;else if(n.id){const r=n.id.findServerInfo(t);r?.webTierAuth&&(e.withCredentials=!0)}e.withCredentials&&(i.credentials="include",function(e){const t=s.A.request.crossOriginNoCorsDomains;if(t){let r=(0,u.$z)(e);if(r)return r=r.toLowerCase(),!(0,u.FX)(r,(0,u.Xq)())&&t[r]<Date.now()-36e5}return!1}(t)&&await async function(e){const t=(0,u.An)(e);e=t.path,"json"===t.query?.f&&(e+="?f=json");try{await fetch(e,{mode:"no-cors",credentials:"include"})}catch{}const r=s.A.request.crossOriginNoCorsDomains,n=(0,u.$z)(e);r&&n&&(r[n.toLowerCase()]=Date.now())}(v?(0,u.a6)(t,l):t)),r=g(t)}let b,q,S=0,k=!1;y>0&&(S=setTimeout(()=>{k=!0,e.controller.abort()},y));try{if("native-request-init"===o.responseType)q=i,q.url=r,o.signal?q.signal=o.signal:delete q.signal;else if("image"!==o.responseType||"default"!==i.cache||i.keepalive||"GET"!==i.method||v||function(e){if(e)for(const t of Object.getOwnPropertyNames(e))if(e[t])return!0;return!1}(o.headers)||!f&&!e.useProxy&&s.A.request.proxyUrl&&!A(t)){if(await(d.i.beforeFetch?.(t,i)),b=await fetch(r,i),await(d.i.afterFetch?.(b)),e.useProxy||function(e){const t=(0,u.$z)(e);t&&!d.i.corsServers.includes(t)&&d.i.corsServers.push(t)}(t),"native"===o.responseType)q=b;else if("HEAD"!==i.method)if(b.ok){switch(h){case"array-buffer":q=await b.arrayBuffer();break;case"blob":q=await b.blob();break;case"image":q=await(m?b.arrayBuffer():b.blob());break;default:q=await b.text()}if(S&&(clearTimeout(S),S=0),"json"===h||"xml"===h||"document"===h)if(q)switch(h){case"json":q=JSON.parse(q);break;case"xml":q=L(q,"application/xml");break;case"document":q=L(q,"text/html")}else q=null;if(q){if(("array-buffer"===h||"blob"===h)&&q["blob"===h?"size":"byteLength"]<=750)try{const e=await new Response(q).json();e.error&&(q=e)}catch{}if(m&&q instanceof ArrayBuffer){const t=function(e){if(e.byteLength<2)return"unknown";const t=new Uint8Array(e,0,e.byteLength);return 137===t[0]&&80===t[1]?"image/png":71===t[0]&&73===t[1]?"image/gif":66===t[0]&&77===t[1]?"image/bmp":255===t[0]&&216===t[1]?"image/jpeg":"unknown"}(q);if("unknown"===t)return o.responseType="image",await T(e);q=await b.blob(),q=await C(URL.createObjectURL(q),e,!0),q=new p(q,t)}"image"===h&&q instanceof Blob&&(q=await C(URL.createObjectURL(q),e,!0))}}else{q=await b.text();try{q=JSON.parse(q)}catch{}}}else q=await C(r,e)}catch(r){if("AbortError"===r.name){if(k)throw new Error($);throw(0,l.NK)("Request canceled")}if(!(!b&&r instanceof TypeError&&s.A.request.proxyUrl)||o.body||"delete"===o.method||"head"===o.method||"post"===o.method||"put"===o.method||e.useProxy||A(t))throw r;e.redoRequest=!0,(0,u.oy)({proxyUrl:s.A.request.proxyUrl,urlPrefix:(0,u.$z)(t)??""})}finally{S&&clearTimeout(S)}return[b,q]}function C(e,t,r=!1){const n=t.controller.signal,o=new Image;return t.withCredentials?o.crossOrigin="use-credentials":o.crossOrigin="anonymous",o.alt="",o.fetchPriority=s.A.request.priority,o.src=e,(0,f.y)(o,e,r,n)}function A(e){const t=(0,u.$z)(e);return!t||t.endsWith(".arcgis.com")||d.i.corsServers.includes(t)||(0,u.FL)(t)}async function k(){n.id||await Promise.all([r.e(7632),r.e(6408),r.e(3501),r.e(9466),r.e(5482),r.e(148),r.e(7581)]).then(r.bind(r,50148))}function O(e){return q.some(t=>t.test(e))}function L(e,t){let r;try{r=(new DOMParser).parseFromString(e,t)}catch{}if(!r||r.getElementsByTagName("parsererror").length)throw new SyntaxError("XML Parse error");return r}async function x(e,t,r){if(e.redoRequest)return e.redoRequest=!1,!1;const s=e.parameters.requestOptions;if(!t||"native"===s.responseType||"native-request-init"===s.responseType)return!0;let o,a;if(r&&(r.error&&"object"==typeof r.error?o=r.error:"error"===r.status&&Array.isArray(r.messages)&&(o={...r},o[E]=r,o.details=r.messages)),!o&&!t.ok)throw o=new Error(`Unable to load ${t.url} status: ${t.status}`),o[E]=r,o;let i,l=null;o&&(a=Number(o.code),l=o.hasOwnProperty("subcode")?Number(o.subcode):null,i=o.messageCode,i=i?.toUpperCase());const u=s.authMode;if(403===a&&(4===l||o.message?.toLowerCase().includes("ssl")&&!o.message.toLowerCase().includes("permission"))){if(!e.useSSL)return e.useSSL=!0,!1}else if(!e.hasToken&&e.useIdentity&&("no-prompt"!==u||498===a)&&void 0!==a&&v.has(a)&&!O(e.parameters.url)&&(403!==a||(!i||!b.has(i))&&(null==l||2===l&&e.credentialToken))){await k();try{const t=await n.id.getCredential(e.parameters.url,{error:U("request:server",o,e.parameters),credential:e.credential,prompt:"no-prompt"!==u,signal:e.controller.signal,token:e.credentialToken});return e.credential=t,e.credentialToken=t.token,e.useSSL=e.useSSL||t.ssl,!1}catch(t){if("no-prompt"===u)return e.credential=void 0,e.credentialToken=void 0,!1;o=t}}if(o)throw o;return!0}function U(e,t,r,s){let n;const a={url:r.url,requestOptions:r.requestOptions,getAllHeaders:P,getHeader:P,ssl:!1};if(t instanceof o.A)return t.details?(t.details=(0,i.o8)(t.details),t.details.url=r.url,t.details.requestOptions=r.requestOptions):t.details=a,t;if(t){const e=s&&(()=>Array.from(s.headers)),r=s&&(e=>s.headers.get(e)),o=s?.status,i=t.message;i&&(n=i),e&&r&&(a.getAllHeaders=e,a.getHeader=r),a.httpStatus=(null!=t.httpCode?t.httpCode:t.code)||o||0,a.subCode=t.subcode,a.messageCode=t.messageCode,"string"==typeof t.details?(a.messages=[t.details],n??=t.details):(a.messages=t.details,n??=a.messages?.[0]),a.raw=E in t?t[E]:t}return n??="Error",(0,l.zf)(t)?(0,l.NK)():new o.A(e,n,a)}const E=Symbol(),P=()=>null,$="Timeout exceeded";function I(e){return"object"==typeof e&&!!e&&"message"in e&&e.message===$}}}]);
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[2741],{2741(e,t,r){r.d(t,{s:()=>i});var s=r(92602),n=(r(11254),r(49186)),o=r(53966),a=r(84952);function i(e){if(!s.A.assetsPath)throw o.A.getLogger("esri.assets").errorOnce("The API assets location needs to be set using config.assetsPath. More information: https://arcg.is/1OzLe50"),new n.A("assets:path-not-set","config.assetsPath is not set");return(0,a.fj)(s.A.assetsPath,e)}},97159(e,t,r){r.d(t,{a:()=>y,b:()=>w,e:()=>h,f:()=>a,i:()=>p,p:()=>f,r:()=>l,t:()=>i,w:()=>u});var s=r(70333),n=r(84952),o=r(39131);function a(e,t){const r=t?.url?.path;if(e&&r&&(e=(0,n.s2)(e,r,{preserveProtocolRelative:!0}),t.portalItem&&t.readResourcePaths)){const r=(0,n.V1)(e,t.portalItem.itemUrl);null!=r&&r.startsWith(d)&&t.readResourcePaths.push(t.portalItem.resourceFromPath(r).path)}return(e=m(e,t?.portal))&&c.test(e)?y(e):e}function i(e,t,r=0){if(null==(e=e&&c.test(e)?g(e):e))return e;!(0,n.oP)(e)&&t?.blockedRelativeUrls&&t.blockedRelativeUrls.push(e);let s=(0,n.s2)(e);if(t){const r=t.verifyItemRelativeUrls?.rootPath||t.url?.path;if(r){const o=m(r,t.portal),a=m(s,t.portal);s=(0,n.V1)(a,o,o),null!=s&&s!==a&&s!==e&&t.verifyItemRelativeUrls&&t.verifyItemRelativeUrls.writtenUrls.push(s)}}return s=h(s,t?.portal),(0,n.oP)(s)&&(s=(0,n.S8)(s)),t?.resources&&t?.portalItem&&!(0,n.oP)(s)&&!(0,n.DB)(s)&&0===r&&t.resources.toKeep.push({resource:t.portalItem.resourceFromPath(s),compress:!1}),s}function l(e,t,r){return a(e,r)}function u(e,t,r,s){const n=i(e,s);void 0!==n&&(t[r]=n)}const c=/\/items\/([^/]+)\/resources\/(.*)/,d="./resources/";function p(e){const t=e?.match(c)??null;return t?.[1]??null}function f(e){const t=e?.match(c)??null;if(null==t)return null;const r=t[2],s=r.lastIndexOf("/");if(-1===s){const{path:e,extension:t}=(0,n.xw)(r);return{prefix:null,filename:e,extension:t}}const{path:o,extension:a}=(0,n.xw)(r.slice(s+1));return{prefix:r.slice(0,s),filename:o,extension:a}}function h(e,t){return t&&!t.isPortal&&t.urlKey&&t.customBaseUrl?(0,n.T1)(e,`${t.urlKey}.${t.customBaseUrl}`,t.portalHostname):e}function m(e,t){if(!t||t.isPortal||!t.urlKey||!t.customBaseUrl)return e;const r=`${t.urlKey}.${t.customBaseUrl}`,s=(0,n.Xq)();return(0,n.FX)(s,`${s.scheme}://${r}`)?(0,n.T1)(e,t.portalHostname,r):(0,n.T1)(e,r,t.portalHostname)}function y(e){if(!e)return e||null;let t=e;return t&&s.id&&!s.id.findCredential(t)&&(t=(0,o.qG)(t),t=t.replace(/^https?:\/\/www\.arcgis\.com/,"https://cdn.arcgis.com"),t=t.replace(/^https?:\/\/devext\.arcgis\.com/,"https://cdndev.arcgis.com"),t=t.replace(/^https?:\/\/qaext\.arcgis\.com/,"https://cdnqa.arcgis.com")),t}function g(e){if(!e)return e||null;let t=e;return t=t.replace(/^https?:\/\/cdn\.arcgis\.com/,"https://www.arcgis.com"),t=t.replace(/^https?:\/\/cdndev\.arcgis\.com/,"https://devext.arcgis.com"),t=t.replace(/^https?:\/\/cdnqa\.arcgis\.com/,"https://qaext.arcgis.com"),t&&s.id&&!s.id.findCredential(t)&&(t=(0,o.qG)(t)),t}const w=Object.freeze(Object.defineProperty({__proto__:null,ensureMainOnlineDomain:h,fromCDNUrl:g,fromJSON:a,itemIdFromResourceUrl:p,prefixAndFilenameFromResourceUrl:f,read:l,toCDNUrl:y,toJSON:i,write:u},Symbol.toStringTag,{value:"Module"}))},91869(e,t,r){function s(e,t){for(const r of e.values())if(t(r))return!0;return!1}function n(e,t,r){const s=e.get(t);if(void 0!==s)return s;const n=r();return e.set(t,n),n}function o(e){const t=new Map;return r=>(t.has(r)||t.set(r,e(r)),t.get(r))}r.d(t,{Bj:()=>o,Bs:()=>s,tE:()=>n})},60694(e,t,r){r.d(t,{Fi:()=>d,HZ:()=>b,Jf:()=>v,LS:()=>q,Wo:()=>g,bd:()=>S,cr:()=>h,iz:()=>f,qg:()=>p,uV:()=>w,yG:()=>m});var s=r(84952),n=r(39131),o=r(97159);const a={mapserver:"MapServer",imageserver:"ImageServer",featureserver:"FeatureServer",knowledgegraphserver:"KnowledgeGraphServer",sceneserver:"SceneServer",streamserver:"StreamServer",vectortileserver:"VectorTileServer","3dtilesserver":"3DTilesServer",videoserver:"VideoServer"},i=Object.values(a),l=new RegExp(`^(?<path>(?:https?:)?\\/\\/\\S+?\\/rest\\/services\\/(?<serviceTitle>.+?)\\/(?<serverType>${i.join("|")})(?:\\/exts\\/(?<soeTitle>.+?)\\/(?<soeServerType>${i.join("|")}))?)(?:\\/(?:layers))?(?:\\/(?<sublayer>\\d+))?`,"i"),u=new RegExp(`^(?<path>(?:https?:)?\\/\\/\\S+?\\/(?<serviceTitle>[^/\\n]+)\\/(?<serverType>${i.join("|")}))(?:\\/(?:layers))?(?:\\/(?<sublayer>\\d+))?`,"i"),c=/(.*?)\/(?:layers\/)?(\d+)\/?$/i;function d(e){return l.test(e)}function p(e){if(null==e)return null;const t=(0,s.An)(e),r=t?.path.match(l)||t?.path.match(u);if(!r)return null;const{path:n,serviceTitle:o,serverType:i,soeTitle:c,soeServerType:d,sublayer:p}=r.groups??{},f=c||o,m=f.indexOf("/");return{title:h(-1!==m?f.slice(m+1):f),serverType:a[(d||i).toLowerCase()],sublayer:null!=p&&""!==p?parseInt(p,10):null,url:{path:n}}}function f(e){const t=(0,s.An)(e).path.match(c);return t?{serviceUrl:t[1],sublayerId:Number(t[2])}:null}function h(e){return(e=e.replaceAll(/\s*[/_]+\s*/g," "))[0].toUpperCase()+e.slice(1)}function m(e,t){const r=[];if(e){const t=p(e);null!=t&&t.title&&r.push(t.title)}if(t){const e=h(t);r.push(e)}if(2===r.length){if(r[0].toLowerCase().includes(r[1].toLowerCase()))return r[0];if(r[1].toLowerCase().includes(r[0].toLowerCase()))return r[1]}return r.join(" - ")}const y=["services","features","tiles","elevation3d","basemaps3d"];function g(e){let t=(0,s.$z)(e,!0);return!!t&&(t=t.toLowerCase(),!!t.endsWith(".arcgis.com")&&(!!y.some(e=>t.startsWith(e))||/^[a-z\d-]+\.svcs[a-z\d-]*\./.test(t)))}function w(e){return(0,n.$E)(e)&&function(e){const t=(0,s.$z)(e);return!!t&&t.toLowerCase().endsWith(".arcgis.com")}(e)}function v(e,t){return e?(0,s.UC)((0,s.zi)(e,t)):e}function b(e){let{url:t}=e;if(!t)return{url:t};t=(0,s.zi)(t,e.logger);const r=(0,s.An)(t),n=p(r.path);let o;if(null!=n)null!=n.sublayer&&null==e.layer.layerId&&(o=n.sublayer),t=n.url.path;else if(e.nonStandardUrlAllowed){const e=f(r.path);null!=e&&(t=e.serviceUrl,o=e.sublayerId)}return{url:(0,s.UC)(t),layerId:o}}function q(e,t,r,n,a){(0,o.w)(t,n,"url",a),n.url&&null!=e.layerId&&(n.url=(0,s.fj)(n.url,r,e.layerId.toString()))}function S(e){if(!e)return!1;const t=e.toLowerCase(),r=t.includes("/services/"),s=t.includes("/mapserver/wmsserver"),n=t.includes("/imageserver/wmsserver"),o=t.includes("/wmsserver");return r&&(s||n||o)}},11254(e,t,r){r.d(t,{A:()=>g});var s=r(92602),n=r(49186),o=r(44208),a=r(17676),i=r(84952),l=r(56152),u=r(51699),c=r(91869),d=r(60694);async function p(e){const t=function(e){let t,r=!1;return"string"==typeof e?(t=(0,i.$z)(e,!0),r=(0,d.Wo)(e)):(t=e.origin,r=(0,d.Wo)(e.toString())),null==t?null:new y(t,r)}(e.parameters.url);if(!t)return null;const{QueueProcessor:s,SharedConcurrency:n}=await r.e(563).then(r.bind(r,563));return(0,c.tE)(f,t.origin,()=>{const e=(t.isHosted?(0,o.A)("request-queue-concurrency-hosted"):(0,o.A)("request-queue-concurrency-non-hosted"))??4;return h??=new n((0,o.A)("request-queue-concurrency-global")??50),new s({concurrency:e,sharedConcurrency:h,process:e=>{if((0,a.G4)(e.parameters.requestOptions))throw(0,u.YB)("",(0,a.NK)("Request canceled"),e.parameters);return(0,u.zc)(e)}})})}const f=new Map;let h,m;class y{constructor(e,t){this.origin=e,this.isHosted=t}}async function g(e,t){e instanceof URL&&(e=e.toString());const s=(0,i.DB)(e),n=(0,i.w8)(e);n||s||(e=(0,i.S8)(e));const c={url:e,requestOptions:{...t}};t?.query&&(c.requestOptions.query=t?.query instanceof URLSearchParams?(0,i.zf)(t.query.toString().replaceAll("+"," ")):t?.query);const d=e=>({data:e,getAllHeaders:v,getHeader:v,httpStatus:200,requestOptions:c.requestOptions,url:c.url}),f=(0,i.sC)(e,w.internalInterceptors);if(f){const e=await b(f,c);if(null!=e)return d(e)}let h=(0,i.sC)(e);if(h){const e=await b(h,c);if(null!=e)return d(e);h.after||h.error||(h=null)}if(e=c.url,"image"===(t=c.requestOptions).responseType&&((0,o.A)("host-webworker")||(0,o.A)("host-node")))throw(0,u.YB)("request:invalid-parameters",new Error("responseType 'image' is not supported in Web Workers or Node environment"),c);if("head"===t.method){if(t.body)throw(0,u.YB)("request:invalid-parameters",new Error("body parameter cannot be set when method is 'head'"),c);if(s||n)throw(0,u.YB)("request:invalid-parameters",new Error("data and blob URLs are not supported for method 'head'"),c)}if(await async function(){(0,o.A)("host-webworker")&&(!m&&globalThis.invokeStaticMessage?m=await r.e(369).then(r.bind(r,40369)):l.i.isForeignWorker=!0)}(),m)return m.execute(e,t);const y=new AbortController,g=(0,a.u7)(t,()=>y.abort()),q={controller:y,credential:void 0,credentialToken:void 0,fetchOptions:void 0,hasToken:!1,interceptor:h,parameters:c,redoRequest:!1,useIdentity:w.useIdentity,useProxy:!1,useSSL:!1,withCredentials:!1},S=t.useQueue?async function(e){const t=await p(e);return t?t.push(e):(0,u.zc)(e)}(q):(0,u.zc)(q),T=await S.finally(()=>g?.remove());return h?.after?.(T),T}const w=s.A.request,v=()=>null;async function b(e,t){if(null!=e.responseData)return e.responseData;if(e.headers&&(t.requestOptions.headers={...t.requestOptions.headers,...e.headers}),e.query&&(t.requestOptions.query={...t.requestOptions.query,...e.query}),e.before){let r,s;try{s=await e.before(t)}catch(e){r=(0,u.YB)("request:interceptor",e,t)}if((s instanceof Error||s instanceof n.A)&&(r=(0,u.YB)("request:interceptor",s,t)),r)throw e.error&&e.error(r),r;return s}}},56152(e,t,r){r.d(t,{i:()=>s});const s={corsServers:["https://server.arcgisonline.com","https://services.arcgisonline.com"],beforeFetch:void 0,afterFetch:void 0,isForeignWorker:!1}},95117(e,t,r){r.d(t,{y:()=>n});var s=r(17676);function n(e,t,r=!1,n){return new Promise((o,a)=>{if((0,s.G4)(n))return void a((0,s.NK)());let i=()=>{c(),a(new Error(`Unable to load ${t}`))},l=async()=>{const t=e;try{await t.decode()}catch{}c(),o(t)},u=()=>{if(!e)return;const t=e;c(),t.src="",a((0,s.NK)())};const c=()=>{e&&(e.removeEventListener("error",i),e.removeEventListener("load",l),i=null,l=null,e=null,n?.removeEventListener("abort",u),u=null,r&&URL.revokeObjectURL(t))};n?.addEventListener("abort",u),e.addEventListener("error",i),e.addEventListener("load",l)})}},51699(e,t,r){r.d(t,{YB:()=>U,c8:()=>I,zc:()=>S});var s=r(92602),n=r(70333),o=r(49186),a=r(44208),i=r(4718),l=r(17676),u=r(84952),c=r(39131),d=r(56152);class p{constructor(e,t){this.element=e,this.type="image+type",this.isOpaque="image/jpeg"===t}}var f=r(95117),h=r(60694);const m=new Map;function y(e,t){const r=t?.preferredHost;if(!r||(0,u.FX)(e,`https://${r}`,!0))return;const s=(0,h.qg)(e);if(!s||"FeatureServer"!==s.serverType||(0,c.$E)(e))return;const n=s.url.path.toLowerCase();m.has(n)||m.set(n,r)}function g(e){const t=(0,h.qg)(e)?.url.path.toLowerCase();if(!t)return e;const r=m.get(t);return r?(0,u.hf)(e,r):e}const w="FormData"in globalThis,v=new Set([499,498,403,401]),b=new Set(["COM_0056","COM_0057","SB_0008"]),q=[/\/arcgis\/tokens/i,/\/sharing(\/rest)?\/generatetoken/i,/\/rest\/info/i];async function S(e){let t,o;await async function(e){const t=e.parameters.url,o=e.parameters.requestOptions,a=e.controller.signal,i=o.body;let u=null,c=null;if(w&&"HTMLFormElement"in globalThis&&(i instanceof FormData?u=i:i instanceof HTMLFormElement&&(u=new FormData(i))),"string"==typeof i&&(c=i),e.fetchOptions={cache:o.cacheMode??(o.cacheBust?"no-cache":"default"),credentials:"same-origin",headers:o.headers||{},keepalive:o.keepAlive??!1,method:"head"===o.method?"HEAD":"GET",mode:"cors",priority:o.priority??s.A.request.priority,redirect:"follow",signal:a},(u||c)&&(e.fetchOptions.body=u||c),(d.i.isForeignWorker||"anonymous"===o.authMode)&&(e.useIdentity=!1),e.hasToken=!!(/token=/i.test(t)||o.query?.token||u?.get("token")),!e.hasToken){const{getApiKey:s,getSessionToken:n}=await r.e(926).then(r.bind(r,926)),a=await n(t)??s(t);a&&(o.query??={},o.query.token=a,e.hasToken=!0)}if(e.useIdentity&&!e.hasToken&&!e.credential&&!e.credentialToken&&!O(t)&&!(0,l.G4)(a)){let r;"immediate"===o.authMode?(await k(),r=await n.id.getCredential(t,{signal:a})):"no-prompt"===o.authMode?(await k(),r=await n.id.getCredential(t,{prompt:!1,signal:a}).catch(()=>{})):n.id&&(r=n.id.findCredential(t)),r&&(e.credential=r,e.credentialToken=r.token,e.useSSL=!!r.ssl)}}(e);try{do{[t,o]=await T(e)}while(!await x(e,t,o))}catch(r){const s=U("request:server",r,e.parameters,t);throw s.details.ssl=e.useSSL,e.interceptor?.error?.(s),s}const a=e.parameters.url;if(o)if(/\/sharing\/rest\/(accounts|portals)\/self/i.test(a)){if(!e.hasToken&&!e.credentialToken&&o.user?.username&&!(0,u.FL)(a)){const e=(0,u.$z)(a,!0);e&&s.A.request.trustedServers.push(e)}Array.isArray(o.authorizedCrossOriginNoCorsDomains)&&function(e){s.A.request.crossOriginNoCorsDomains||(s.A.request.crossOriginNoCorsDomains={});const t=s.A.request.crossOriginNoCorsDomains;for(let r of e)r=r.toLowerCase(),/^https?:\/\//.test(r)?t[(0,u.$z)(r)??""]=0:(t[(0,u.$z)("http://"+r)??""]=0,t[(0,u.$z)("https://"+r)??""]=0)}(o.authorizedCrossOriginNoCorsDomains)}else"json"===(e.parameters.requestOptions.responseType||"json")&&y(a,o);const i=e.credential;if(i&&n.id){const e=n.id.findServerInfo(i.server);let t=e?.owningSystemUrl;if(t){t=t.replace(/\/?$/,"/sharing");const e=n.id.findCredential(t,i.userId);e&&-1===n.id._getIdenticalSvcIdx(t,e)&&e.resources.unshift(t)}}return{data:o,getAllHeaders:t?()=>Array.from(t.headers):P,getHeader:t?e=>t.headers.get(e):P,httpStatus:t?.status??200,requestOptions:e.parameters.requestOptions,ssl:e.useSSL,url:e.parameters.url}}async function T(e){let t=e.parameters.url,r=g(t);const o=e.parameters.requestOptions,i=e.fetchOptions??{},f=(0,u.w8)(t)||(0,u.DB)(t),h=o.responseType??"json",m="image"===h&&o.imageWithType,y=f?0:null!=o.timeout?o.timeout:s.A.request.timeout;let v=!1;if(!f){e.useSSL&&(t=(0,u.lM)(t));let l={...o.query};e.credentialToken&&(l.token=e.credentialToken);let d=(0,u.x0)(l);(0,a.A)("esri-url-encodes-apostrophe")&&(d=d.replaceAll("'","%27"));const p=r.length+1+d.length;let f;v="delete"===o.method||"post"===o.method||"put"===o.method||!!o.body||p>s.A.request.maxUrlLength;const h=o.useProxy||!!(0,u.zs)(t);if(h){const e=(0,u.s_)(t);f=e.path,!v&&f.length+1+p>s.A.request.maxUrlLength&&(v=!0),e.query&&(l={...e.query,...l})}if("HEAD"===i.method&&(v||h)){if(v){if(p>s.A.request.maxUrlLength)throw U("request:invalid-parameters",new Error("URL exceeds maximum length"),e.parameters);throw U("request:invalid-parameters",new Error("cannot use POST request when method is 'head'"),e.parameters)}if(h)throw U("request:invalid-parameters",new Error("cannot use proxy when method is 'head'"),e.parameters)}if(v?(i.method="delete"===o.method?"DELETE":"put"===o.method?"PUT":"POST",o.body?t=(0,u.a6)(t,l):(i.body=(0,u.x0)(l),i.headers||(i.headers={}),i.headers["Content-Type"]="application/x-www-form-urlencoded")):t=(0,u.a6)(t,l),h&&(e.useProxy=!0,t=`${f}?${t}`),l.token&&w&&i.body instanceof FormData&&!(0,c.$E)(t)&&i.body.set("token",l.token),o.hasOwnProperty("withCredentials"))e.withCredentials=o.withCredentials;else if(!(0,u.FX)(t,(0,u.Xq)()))if((0,u.FL)(t))e.withCredentials=!0;else if(n.id){const r=n.id.findServerInfo(t);r?.webTierAuth&&(e.withCredentials=!0)}e.withCredentials&&(i.credentials="include",function(e){const t=s.A.request.crossOriginNoCorsDomains;if(t){let r=(0,u.$z)(e);if(r)return r=r.toLowerCase(),!(0,u.FX)(r,(0,u.Xq)())&&t[r]<Date.now()-36e5}return!1}(t)&&await async function(e){const t=(0,u.An)(e);e=t.path,"json"===t.query?.f&&(e+="?f=json");try{await fetch(e,{mode:"no-cors",credentials:"include"})}catch{}const r=s.A.request.crossOriginNoCorsDomains,n=(0,u.$z)(e);r&&n&&(r[n.toLowerCase()]=Date.now())}(v?(0,u.a6)(t,l):t)),r=g(t)}let b,q,S=0,k=!1;y>0&&(S=setTimeout(()=>{k=!0,e.controller.abort()},y));try{if("native-request-init"===o.responseType)q=i,q.url=r,o.signal?q.signal=o.signal:delete q.signal;else if("image"!==o.responseType||"default"!==i.cache||i.keepalive||"GET"!==i.method||v||function(e){if(e)for(const t of Object.getOwnPropertyNames(e))if(e[t])return!0;return!1}(o.headers)||!f&&!e.useProxy&&s.A.request.proxyUrl&&!A(t)){if(await(d.i.beforeFetch?.(t,i)),b=await fetch(r,i),await(d.i.afterFetch?.(b)),e.useProxy||function(e){const t=(0,u.$z)(e);t&&!d.i.corsServers.includes(t)&&d.i.corsServers.push(t)}(t),"native"===o.responseType)q=b;else if("HEAD"!==i.method)if(b.ok){switch(h){case"array-buffer":q=await b.arrayBuffer();break;case"blob":q=await b.blob();break;case"image":q=await(m?b.arrayBuffer():b.blob());break;default:q=await b.text()}if(S&&(clearTimeout(S),S=0),"json"===h||"xml"===h||"document"===h)if(q)switch(h){case"json":q=JSON.parse(q);break;case"xml":q=L(q,"application/xml");break;case"document":q=L(q,"text/html")}else q=null;if(q){if(("array-buffer"===h||"blob"===h)&&q["blob"===h?"size":"byteLength"]<=750)try{const e=await new Response(q).json();e.error&&(q=e)}catch{}if(m&&q instanceof ArrayBuffer){const t=function(e){if(e.byteLength<2)return"unknown";const t=new Uint8Array(e,0,e.byteLength);return 137===t[0]&&80===t[1]?"image/png":71===t[0]&&73===t[1]?"image/gif":66===t[0]&&77===t[1]?"image/bmp":255===t[0]&&216===t[1]?"image/jpeg":"unknown"}(q);if("unknown"===t)return o.responseType="image",await T(e);q=await b.blob(),q=await C(URL.createObjectURL(q),e,!0),q=new p(q,t)}"image"===h&&q instanceof Blob&&(q=await C(URL.createObjectURL(q),e,!0))}}else{q=await b.text();try{q=JSON.parse(q)}catch{}}}else q=await C(r,e)}catch(r){if("AbortError"===r.name){if(k)throw new Error($);throw(0,l.NK)("Request canceled")}if(!(!b&&r instanceof TypeError&&s.A.request.proxyUrl)||o.body||"delete"===o.method||"head"===o.method||"post"===o.method||"put"===o.method||e.useProxy||A(t))throw r;e.redoRequest=!0,(0,u.oy)({proxyUrl:s.A.request.proxyUrl,urlPrefix:(0,u.$z)(t)??""})}finally{S&&clearTimeout(S)}return[b,q]}function C(e,t,r=!1){const n=t.controller.signal,o=new Image;return t.withCredentials?o.crossOrigin="use-credentials":o.crossOrigin="anonymous",o.alt="",o.fetchPriority=s.A.request.priority,o.src=e,(0,f.y)(o,e,r,n)}function A(e){const t=(0,u.$z)(e);return!t||t.endsWith(".arcgis.com")||d.i.corsServers.includes(t)||(0,u.FL)(t)}async function k(){n.id||await Promise.all([r.e(7632),r.e(6408),r.e(318),r.e(9466),r.e(5482),r.e(148),r.e(7581)]).then(r.bind(r,50148))}function O(e){return q.some(t=>t.test(e))}function L(e,t){let r;try{r=(new DOMParser).parseFromString(e,t)}catch{}if(!r||r.getElementsByTagName("parsererror").length)throw new SyntaxError("XML Parse error");return r}async function x(e,t,r){if(e.redoRequest)return e.redoRequest=!1,!1;const s=e.parameters.requestOptions;if(!t||"native"===s.responseType||"native-request-init"===s.responseType)return!0;let o,a;if(r&&(r.error&&"object"==typeof r.error?o=r.error:"error"===r.status&&Array.isArray(r.messages)&&(o={...r},o[E]=r,o.details=r.messages)),!o&&!t.ok)throw o=new Error(`Unable to load ${t.url} status: ${t.status}`),o[E]=r,o;let i,l=null;o&&(a=Number(o.code),l=o.hasOwnProperty("subcode")?Number(o.subcode):null,i=o.messageCode,i=i?.toUpperCase());const u=s.authMode;if(403===a&&(4===l||o.message?.toLowerCase().includes("ssl")&&!o.message.toLowerCase().includes("permission"))){if(!e.useSSL)return e.useSSL=!0,!1}else if(!e.hasToken&&e.useIdentity&&("no-prompt"!==u||498===a)&&void 0!==a&&v.has(a)&&!O(e.parameters.url)&&(403!==a||(!i||!b.has(i))&&(null==l||2===l&&e.credentialToken))){await k();try{const t=await n.id.getCredential(e.parameters.url,{error:U("request:server",o,e.parameters),credential:e.credential,prompt:"no-prompt"!==u,signal:e.controller.signal,token:e.credentialToken});return e.credential=t,e.credentialToken=t.token,e.useSSL=e.useSSL||t.ssl,!1}catch(t){if("no-prompt"===u)return e.credential=void 0,e.credentialToken=void 0,!1;o=t}}if(o)throw o;return!0}function U(e,t,r,s){let n;const a={url:r.url,requestOptions:r.requestOptions,getAllHeaders:P,getHeader:P,ssl:!1};if(t instanceof o.A)return t.details?(t.details=(0,i.o8)(t.details),t.details.url=r.url,t.details.requestOptions=r.requestOptions):t.details=a,t;if(t){const e=s&&(()=>Array.from(s.headers)),r=s&&(e=>s.headers.get(e)),o=s?.status,i=t.message;i&&(n=i),e&&r&&(a.getAllHeaders=e,a.getHeader=r),a.httpStatus=(null!=t.httpCode?t.httpCode:t.code)||o||0,a.subCode=t.subcode,a.messageCode=t.messageCode,"string"==typeof t.details?(a.messages=[t.details],n??=t.details):(a.messages=t.details,n??=a.messages?.[0]),a.raw=E in t?t[E]:t}return n??="Error",(0,l.zf)(t)?(0,l.NK)():new o.A(e,n,a)}const E=Symbol(),P=()=>null,$="Timeout exceeded";function I(e){return"object"==typeof e&&!!e&&"message"in e&&e.message===$}}}]);