@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([[5482],{69622(e,t,r){r.d(t,{A:()=>B});var s=r(51447),i=r(71511),n=r(53966),o=r(97768),a=r(56454),l=r(16649),c=r(85537),u=r(96156),h=(r(44208),r(4718)),d=r(93687),f=r(11406),p=r(62788),g=r(47328),_=r(67867);class v extends f.T{constructor(e,t){super(),this.propertyName=e,this.metadata=t,this.trackingTarget=new _.R(this),this.flags=0,this.flags=g.i.Dirty|(t.nonNullable?g.i.NonNullable:0)|(t.hasOwnProperty("value")?g.i.HasDefaultValue:0)|(void 0===t.get?g.i.DepTrackingInitialized:0)|(void 0===t.dependsOn?g.i.AutoTracked:0)}destroy(){this.flags&g.i.Dirty&&this.onCommitted(),super.destroy(),this.trackingTarget.destroy()}getComputed(e,t){e.mutable&&(0,p.gc)(this);const r=e.store,s=this.propertyName,i=this.flags,n=r.get(s);if(i&g.i.Computing)return n;if(!(i&g.i.Dirty)&&r.has(s))return n;let o;this.flags|=g.i.Computing;const{host:a}=e;i&g.i.AutoTracked?o=(0,p.a)(this.trackingTarget,t,a):((0,p.Xr)(a,this),o=t.call(a)),this.flags|=g.i.DepTrackingInitialized,r.set(s,o,1);const l=r.get(s);return l===n?this.flags&=~g.i.Dirty:(0,p.F_)(this.commit,this),this.flags&=~g.i.Computing,l}notifyChange(){this.onInvalidated(),this.onCommitted()}invalidate(){this.onInvalidated()}commit(){this.flags&=~g.i.Dirty,this.onCommitted()}onInvalidated(){~this.flags&g.i.Overridden&&(this.flags|=g.i.Dirty);const e=this._observers;if(e&&e.length>0)for(const t of e)t.onInvalidated()}onCommitted(){const e=this._observers;if(e&&e.length>0){const t=e.slice();for(const e of t)e.onCommitted()}}}var m=r(35666);class y{constructor(){this._values=new Map,this.multipleOriginsSupported=!1}clone(e){const t=new y;return this._values.forEach((r,s)=>{e&&e.has(s)||t.set(s,(0,h.o8)(r))}),t}get(e){return this._values.get(e)}originOf(){return 7}keys(){return[...this._values.keys()]}set(e,t){this._values.set(e,t)}delete(e){this._values.delete(e)}has(e){return this._values.has(e)}isAtOrigin(e,t){return this.has(e)}isBelowOrigin(e,t){return!this.has(e)}forEach(e){this._values.forEach(e)}}function w(e,t,r){return void 0!==e}function O(e,t,r,s){return!(void 0===e||null==r&&e.flags&g.i.NonNullable&&(s.lifecycle,c.v.INITIALIZING,1))}class b{constructor(e){this.host=e,this.propertiesByName=new Map,this.ctorArgs=null,this.lifecycle=c.v.INITIALIZING,this.store=new y,this.mutable=!0,this._origin=7;const t=this.host.constructor.__accessorMetadata__;for(const e in t){const r=new v(e,t[e]);this.propertiesByName.set(e,r)}this.metadata=t}initialize(){this.lifecycle=c.v.CONSTRUCTING}constructed(){this.lifecycle=c.v.CONSTRUCTED}destroy(){this.lifecycle=c.v.DESTROYED,this.propertiesByName.forEach(e=>e.destroy())}get initialized(){return this.lifecycle!==c.v.INITIALIZING}get(e){const t=this.propertiesByName.get(e);if(!w(t))return;const r=t.metadata.get;if(r)return t.getComputed(this,r);this.mutable&&(0,p.gc)(t);const s=this.store;return s.has(e)?s.get(e):t.metadata.value}originOf(e){const t=this.store.originOf(e);if(void 0===t){const t=this.propertiesByName.get(e);if(void 0!==t&&t.flags&g.i.HasDefaultValue)return"defaults"}return(0,m.OL)(t)}has(e){return this.propertiesByName.has(e)&&this.store.has(e)}keys(){return[...this.propertiesByName.keys()]}internalGet(e){const t=this.propertiesByName.get(e);if(w(t))return this.store.has(e)?this.store.get(e):t.metadata.value}internalSet(e,t){const r=this.propertiesByName.get(e);w(r)&&this._internalSet(r,t)}getDependsInfo(e,t,r){const s=this.propertiesByName.get(t);if(!w(s))return"";const i=new _.R,n=(0,p.a)(i,()=>s.metadata.get?.call(e));let o=`${r}${e.declaredClass.split(".").pop()}.${t}: ${n}\n`;const a=i.accessed??new Set;if(0===a.size)return o;r+=" ";for(const e of a)e instanceof v&&(o+=`${r}${e.propertyName}: undefined\n`);return o}setAtOrigin(e,t,r){const s=this.propertiesByName.get(e);if(w(s))return this._setAtOrigin(s,t,r)}isOverridden(e){const t=this.propertiesByName.get(e);return void 0!==t&&!!(t.flags&g.i.Overridden)}clearOrigin(e,t){const r=this.store,s=this.propertiesByName.get(e);if(!w(s))return;const i=r.isAtOrigin(e,t)&&!(s.flags&g.i.Overridden);r.delete(e,t),i&&s.notifyChange()}clearOverride(e){const t=this.propertiesByName.get(e);t&&t.flags&g.i.Overridden&&(t.flags&=~g.i.Overridden,t.notifyChange())}override(e,t){const r=this.propertiesByName.get(e);if(!O(r,0,t,this))return;const s=r.metadata.cast;if(s){const e=this._cast(s,t),{valid:r,value:i}=e;if(N.release(e),!r)return;t=i}r.flags|=g.i.Overridden,this._internalSet(r,t)}set(e,t){const r=this.propertiesByName.get(e);if(!O(r,0,t,this))return;const s=r.metadata.cast;if(s){const e=this._cast(s,t),{valid:r,value:i}=e;if(N.release(e),!r)return;t=i}const i=r.metadata.set;i?i.call(this.host,t):this._internalSet(r,t)}setDefaultOrigin(e){this._origin=(0,m.aB)(e)}getDefaultOrigin(){return(0,m.OL)(this._origin)}notifyChange(e){this.propertiesByName.get(e)?.notifyChange()}invalidate(e){this.propertiesByName.get(e)?.invalidate()}commit(e){this.propertiesByName.get(e)?.commit()}_internalSet(e,t){const r=this.lifecycle!==c.v.INITIALIZING?this._origin:0;this._setAtOrigin(e,t,r)}_setAtOrigin(e,t,r){const s=this.store,i=e.propertyName,n=s.isAtOrigin(i,r);if(n&&~e.flags&g.i.Overridden&&(0,h.aI)(t,s.get(i)))return;const o=s.isBelowOrigin(i,r)||n;o&&e.invalidate(),s.set(i,t,r),o&&e.commit(),(0,p.fE)(this.host,e)}_cast(e,t){const r=N.acquire();return r.valid=!0,r.value=t,e&&(r.value=e.call(this.host,t,r)),r}}class A{constructor(){this.value=null,this.valid=!0}acquire(){this.valid=!0}release(){this.value=null}}const N=new d.A(()=>new A);var k=r(47821);var S,C,D=r(14012),T=r(10107),E=r(64108);function I(e){if(null==e)return{value:e};if(Array.isArray(e))return{type:[e[0]],value:null};switch(typeof e){case"object":return e.constructor?.__accessorMetadata__||e instanceof Date?{type:e.constructor,value:e}:e;case"boolean":return{type:Boolean,value:e};case"string":return{type:String,value:e};case"number":return{type:Number,value:e};case"function":return{type:e,value:null};default:return}}const q=Symbol("Accessor-Handles"),z=Symbol("Accessor-Initialized");class B{static{S=q,C=z}static createSubclass(e={}){if(Array.isArray(e))throw new Error("Multi-inheritance unsupported since 4.16");const{properties:t,declaredClass:r,constructor:s}=e;delete e.declaredClass,delete e.properties,delete e.constructor;const i=this;class n extends i{constructor(...e){super(...e),this.inherited=null,s&&s.apply(this,e)}}(0,u.tD)(n.prototype);for(const t in e){const r=e[t];n.prototype[t]="function"==typeof r?function(...e){const s=this.inherited;let n;this.inherited=function(...e){if(i.prototype[t])return i.prototype[t].apply(this,e)};try{n=r.apply(this,e)}catch(e){throw this.inherited=s,e}return this.inherited=s,n}:e[t]}for(const e in t){const r=I(t[e]);(0,T.MZ)(r)(n.prototype,e)}return(0,E.$)(r)(n)}static freeze(e){return e instanceof B?e.__accessor__.mutable=!1:Object.freeze(e),e}static isFrozen(e){return e instanceof B?!e.__accessor__.mutable:Object.isFrozen(e)}constructor(...e){if(this[S]=null,this[C]=!1,this.constructor===B)throw new Error("[accessor] cannot instantiate Accessor. This can be fixed by creating a subclass of Accessor");const t=new b(this);Object.defineProperty(this,"__accessor__",{enumerable:!1,value:t}),e.length>0&&(t.ctorArgs=this.normalizeCtorArgs?.apply(this,e)??e[0])}postscript(){const e=this.__accessor__,t=e.ctorArgs;e.initialize(),t&&(this.set(t),e.ctorArgs=null),e.constructed(),this.initialize(),this[z]=!0}initialize(){}[a.G](){this[q]=(0,o.pR)(this[q])}destroy(){this.destroyed||((0,D.iS)(this),this.__accessor__.destroy())}[Symbol.dispose](){this.destroy()}get constructed(){return this.__accessor__&&this.__accessor__.initialized||!1}get initialized(){return this[z]}get destroyed(){return this.__accessor__?.lifecycle===c.v.DESTROYED||!1}get destroying(){return this.__accessor__?.lifecycle===c.v.DESTROYING||!1}commitProperty(e){(0,l.Jt)(this,e)}hasOwnProperty(e){return this.__accessor__?this.__accessor__.has(e):Object.prototype.hasOwnProperty.call(this,e)}keys(){return this.__accessor__?this.__accessor__.keys():[]}set(e,t){return(0,k.h)(this,e,t),this}watch(e,t,r){return(0,s.eO)(n.A.getLogger(this),"`watch` is deprecated in favor of reactiveUtils.watch",{replacement:"reactiveUtils.watch",version:"4.32",see:"https://arcg.is/1vaqf42#watch",warnOnce:!0}),(0,D.wB)(this,e,t,r)}addHandles(e,t){if(this.destroyed){const t=Array.isArray(e)?e:[e];for(const e of t)e.remove();return}(this[q]??=new i.A).add(e,t)}removeHandles(e){this[q]?.remove(e)}removeAllHandles(){this[q]?.removeAll()}removeHandlesReference(e){this[q]?.removeReference(e)}hasHandles(e){return!0===this[q]?.has(e)}_override(e,t){void 0===t?this.__accessor__.clearOverride(e):this.__accessor__.override(e,t)}_clearOverride(e){return this.__accessor__.clearOverride(e)}_overrideIfSome(e,t){null==t?this.__accessor__.clearOverride(e):this.__accessor__.override(e,t)}_isOverridden(e){return this.__accessor__.isOverridden(e)}notifyChange(e){this.__accessor__.notifyChange(e)}_get(e){return this.__accessor__.internalGet(e)}_set(e,t){return this.__accessor__.internalSet(e,t),this}}},98291(e,t,r){r.d(t,{A:()=>n});var s=r(93687);function i(e){e.length=0}class n{constructor(e=50,t=50){this._pool=new s.A(()=>[],void 0,i,t,e)}acquire(){return this._pool.acquire()}release(e){this._pool.release(e)}prune(){this._pool.prune(0)}static acquire(){return o.acquire()}static release(e){return o.release(e)}static prune(){o.prune()}}const o=new n(100)},71511(e,t,r){r.d(t,{A:()=>i});var s=r(5479);class i{constructor(){this._groups=new Map}destroy(){this.removeAll()}get size(){let e=0;return this._groups.forEach(t=>{e+=t.length}),e}add(e,t){if((0,s.xZ)(e)){const r=this._getOrCreateGroup(t);for(const t of e)a(t)&&r.push(t)}else a(e)&&this._getOrCreateGroup(t).push(e);return this}forEach(e,t){if("function"==typeof e)this._groups.forEach(t=>t.forEach(e));else{const r=this._getGroup(e);r&&t&&r.forEach(t)}}has(e){return this._groups.has(n(e))}remove(e){if("string"!=typeof e&&(0,s.xZ)(e)){for(const t of e)this.remove(t);return this}return this.has(e)?(o(this._getGroup(e)),this._groups.delete(n(e)),this):this}removeAll(){return this._groups.forEach(o),this._groups.clear(),this}removeReference(e){return this._groups.delete(e),this}_getOrCreateGroup(e){if(this.has(e))return this._getGroup(e);const t=[];return this._groups.set(n(e),t),t}_getGroup(e){return this._groups.get(n(e))}}function n(e){return e||"_default_"}function o(e){for(const t of e)t instanceof i?t.removeAll():t.remove()}function a(e){return null!=e&&(!!e.remove||e instanceof i)}},25482(e,t,r){r.d(t,{o:()=>g,T:()=>f});var s=r(5482),i=r(69622),n=r(4718);class o{constructor(){this._values=new Map,this.multipleOriginsSupported=!1}clone(e){const t=new o;return this._values.forEach((r,s)=>{e&&e.has(s)||t.set(s,(0,n.o8)(r.value),r.origin)}),t}get(e,t){t=this._normalizeOrigin(t);const r=this._values.get(e);return null==t||r?.origin===t?r?.value:void 0}originOf(e){return this._values.get(e)?.origin??7}keys(e){e=this._normalizeOrigin(e);const t=[...this._values.keys()];return null==e?t:t.filter(t=>this._values.get(t)?.origin===e)}set(e,t,r){if(0===(r=this._normalizeOrigin(r))){const t=this._values.get(e);if(null!=t?.origin&&t.origin>r)return}this._values.set(e,new a(t,r))}delete(e,t){null!=(t=this._normalizeOrigin(t))&&this._values.get(e)?.origin!==t||this._values.delete(e)}has(e,t){return null!=(t=this._normalizeOrigin(t))?this._values.get(e)?.origin===t:this._values.has(e)}isAtOrigin(e,t){return t=this._normalizeOrigin(t),this.has(e,t)&&this.originOf(e)===t}isBelowOrigin(e,t){return t=this._normalizeOrigin(t),!this.has(e)||this.originOf(e)<t}forEach(e){this._values.forEach(({value:t},r)=>e(t,r))}_normalizeOrigin(e){if(null!=e)return 0===e?e:7}}class a{constructor(e,t){this.value=e,this.origin=t}}var l=r(76953),c=r(45917),u=r(88620),h=r(49422),d=r(64108);const f=e=>{const t=e;let r=class extends t{constructor(...e){super(...e);const t=(0,u.oY)(this),r=t.store,s=new o;t.store=s,(0,l.k)(t,r,s)}read(e,t){(0,c.L)(this,e,t)}write(e,t){return(0,h.M)(this,e??{},t)}toJSON(e){return this.write({},e)}static fromJSON(e,t){return p.call(this,e,t)}};return r=(0,s.Cg)([(0,d.$)("esri.core.JSONSupport")],r),r.prototype.toJSON.isDefaultToJSON=!0,r};function p(e,t){if(!e)return null;if(e.declaredClass)throw new Error("JSON object is already hydrated");const r=new this;return r.read(e,t),r}const g=f(i.A)},11406(e,t,r){r.d(t,{T:()=>n});var s=r(36563);class i{constructor(e,t){this._observers=e,this._observer=t}remove(){const{_observers:e,_observer:t}=this;if(e[e.length-1]===t)return void e.pop();const r=e.indexOf(this._observer);-1!==r&&e.splice(r,1)}}class n{constructor(){this._observers=null,this.destroyed=!1}observe(e){if(this.destroyed||e.destroyed)return o;null==this._observers&&(this._observers=[]);const t=this._observers;let r=!1,s=!1;for(const i of t)if(i.destroyed)s=!0;else if(i===e){r=!0;break}return r||(t.push(e),s&&this._removeDestroyedObservers()),new i(t,e)}_removeDestroyedObservers(){const e=this._observers;if(!e)return;const t=e.length;if(0===t)return;let r=0;for(let s=0;s<t;++s){for(;s+r<t&&e[s+r].destroyed;)++r;if(r>0){if(!(s+r<t))break;e[s]=e[s+r]}}e.length=t-r}destroy(){if(this.destroyed)return;this.destroyed=!0;const e=this._observers;if(null!=e){for(const t of e)t.onCommitted();this._observers=null}}}const o=(0,s.hA)()},35666(e,t,r){r.d(t,{AU:()=>s,OL:()=>n,aB:()=>i,in:()=>o});const s=8;function i(e){switch(e){case"defaults":return 0;case"service":return 2;case"portal-item":return 3;case"web-scene":return 4;case"web-map":return 5;case"link-chart":return 6;case"user":return 7;default:return null}}function n(e){switch(e){case 0:return"defaults";case 2:return"service";case 3:return"portal-item";case 4:return"web-scene";case 5:return"web-map";case 6:return"link-chart";case 7:return"user"}}function o(e){return n(e)}},76953(e,t,r){function s(e,t,r){t.keys().forEach(e=>{r.set(e,t.get(e),0)});const s=e.metadata;Object.keys(s).forEach(t=>{e.internalGet(t)&&r.set(t,e.internalGet(t),0)})}r.d(t,{k:()=>s})},45917(e,t,r){r.d(t,{L:()=>u,t:()=>h});var s=r(16649),i=r(88620),n=r(7142);function o(e,t,r){if(!e?.read||!1===e.read.enabled||!e.read.source)return!1;const i=e.read.source;if("string"==typeof i){if(i===t)return!0;if(i.includes(".")&&i.startsWith(t)&&(0,s.t2)(i,r))return!0}else for(const e of i){if(e===t)return!0;if(e.includes(".")&&e.startsWith(t)&&(0,s.t2)(e,r))return!0}return!1}function a(e,t,r,s,i){let a=(0,n.N5)(t[r],i);(function(e){return e&&(!e.read||!1!==e.read.enabled&&!e.read.source)})(a)&&(e[r]=!0);for(const l of Object.getOwnPropertyNames(t))a=(0,n.N5)(t[l],i),o(a,r,s)&&(e[l]=!0)}function l(e,t,r,s){const i=r.metadata,o=(0,n.xF)(i[t],s),a=o?.default;if(void 0===a)return;const l="function"==typeof a?a.call(e,t,s):a;void 0!==l&&r.set(t,l)}const c={origin:"service"};function u(e,t,r=c){if(!t||"object"!=typeof t)return;const o=(0,i.oY)(e),u=o.metadata,h={};for(const e of Object.getOwnPropertyNames(t))a(h,u,e,t,r);o.setDefaultOrigin(r.origin);for(const i of Object.getOwnPropertyNames(h)){const a=(0,n.N5)(u[i],r).read,l=a?.source;let c;c=l&&"string"==typeof l?(0,s.RP)(t,l):t[i],a?.reader&&(c=a.reader.call(e,c,t,r)),void 0!==c&&o.set(i,c)}if(!r||!r.ignoreDefaults){o.setDefaultOrigin("defaults");for(const t of Object.getOwnPropertyNames(u))h[t]||l(e,t,o,r)}o.setDefaultOrigin("user")}function h(e,t,r,s=c){const i={...s,messages:[]};r(i),i.messages?.forEach(t=>{"warning"!==t.type||e.loaded?s?.messages&&s.messages.push(t):e.loadWarnings.push(t)})}},71429(e,t,r){r.d(t,{r:()=>i});var s=r(67867);class i extends s.R{constructor(e){super(new n(e)),this._observer&&o.register(this,new WeakRef(this._observer),this)}destroy(){this._observer&&o.unregister(this._observer),this.accessed?.clear(),this.clear(),this._observer?.destroy()}}class n{constructor(e){this._notify=e,this._invalidCount=0,this.destroyed=!1}onInvalidated(){this._invalidCount++}onCommitted(){if(this.destroyed)return;const e=this._invalidCount;if(1===e)return this._invalidCount=0,void this._notify();this._invalidCount=e>0?e-1:0}destroy(){this.destroyed=!0,this._notify=a}}const o=new FinalizationRegistry(e=>{e.deref()?.destroy()});function a(){}},80559(e,t,r){r.d(t,{Df:()=>c,fm:()=>u,mJ:()=>l});var s=r(36563),i=r(62788),n=r(71429);let o=!1;const a=[];function l(e,t){let r=new n.r(function s(){if(!r||l)return;if(o)return void h(s);const n=a;r.clear(),o=!0,l=!0,a=(0,i.a)(r,e),l=!1,o=!1,t(a,n),d()}),a=null,l=!1;return l=!0,a=(0,i.a)(r,e),l=!1,(0,s.hA)(function(){r&&(r.destroy(),r=null,a=null)})}function c(e,t){let r=new n.r(function(){t(o,a)}),o=null;function a(){return r?(r.clear(),o=(0,i.a)(r,e),o):null}return a(),(0,s.hA)(function(){r&&(r.destroy(),r=null),o=null})}function u(e,t){let r=!1,a=!1;const l=!!t?.sync;let c=new n.r(()=>{r||a||(a=!0,l?u():queueMicrotask(u))});function u(){a=!1,c&&!r&&(o?h(u):(c.clear(),o=!0,r=!0,(0,i.a)(c,e),r=!1,o=!1,d()))}return r=!0,(0,i.a)(c,e),r=!1,(0,s.hA)(function(){c&&(c.destroy(),c=null)})}function h(e){a.includes(e)||a.unshift(e)}function d(){for(;a.length;)a.pop()()}},14012(e,t,r){r.d(t,{iS:()=>w,wB:()=>N,Cn:()=>k});var s=r(98291),i=r(36563),n=r(4718),o=r(93687);class a extends o.A{constructor(){super(...arguments),this._set=new Set}destroy(){super.destroy(),this._set=null}acquire(...e){const t=super.acquire(...e);return this._set.delete(t),t}release(e){e&&!this._set.has(e)&&(super.release(e),this._set.add(e))}_dispose(e){this._set.delete(e),super._dispose(e)}}var l=r(76030),c=r(24326),u=r(16649),h=r(85537),d=r(80559),f=r(88620);class p{constructor(){this.uid=(0,c.c)(),this.removed=!1,this.type=null,this.oldValue=null,this.callback=null,this.getValue=null,this.target=null,this.path=null,this.equals=null}static{this.pool=new a(()=>new p)}static acquireUntracked(e,t,r,s,i){return this.pool.acquire(0,e,t,r,s,i,n.aI)}static acquireTracked(e,t,r,s){return this.pool.acquire(1,e,t,r,null,null,s)}notify(e,t){0===this.type?this.callback.call(this.target,e,t,this.path,this.target):this.callback.call(null,e,t,void 0,void 0)}acquire(e,t,r,s,i,n,o){this.uid=(0,c.c)(),this.removed=!1,this.type=e,this.oldValue=t,this.callback=r,this.getValue=s,this.target=i,this.path=n,this.equals=o}release(){this.target=this.path=this.oldValue=this.callback=this.getValue=null,this.uid=(0,c.c)(),this.removed=!0}}const g=new s.A,_=new Set;let v;function m(e){_.delete(e),_.add(e),v||(v=(0,l._)(O))}function y(e){if(e.removed)return;const t=e.oldValue,r=e.getValue();e.equals(t,r)||(e.oldValue=r,e.notify(r,t))}function w(e){for(const t of _.values())t.target===e&&(t.removed=!0)}function O(){let e=10;for(;v&&e--;){v=null;const e=b(),t=g.acquire();for(const r of e){const e=r.uid;y(r),e===r.uid&&r.removed&&t.push(r)}for(const e of _)e.removed&&(t.push(e),_.delete(e));for(const e of t)p.pool.release(e);g.release(t),g.release(e),A.forEach(e=>e())}}function b(){const e=g.acquire();e.length=_.size;let t=0;for(const r of _)e[t]=r,++t;return _.clear(),e}const A=new Set;function N(e,t,r,s=!1){return e.__accessor__&&e.__accessor__.lifecycle!==h.v.DESTROYED?s?function(e,t,r){const s=(0,f.qg)(e,t,r,(e,t,r)=>{let i=!1;return(0,d.mJ)(()=>(0,u.RP)(e,t),(o,a)=>{e.__accessor__.lifecycle!==h.v.DESTROYED?i||(i=!0,(0,n.aI)(a,o)||r.call(e,o,a,t,e),i=!1):s.remove()})});return s}(e,t,r):function(e,t,r){let s=(0,f.qg)(e,t,r,(e,t,r)=>{let n,o,a=(0,d.Df)(()=>(0,u.RP)(e,t),(i,a)=>{e.__accessor__?.lifecycle===h.v.DESTROYED||n&&n.uid!==o?s.remove():(n||(n=p.acquireUntracked(i,r,a,e,t),o=n.uid),m(n))});return(0,i.hA)(()=>{a.remove(),n&&(n.uid!==o||n.removed||(n.removed=!0,m(n)),n=null),s=a=null})});return s}(e,t,r):(0,i.hA)()}function k(e,t,r=!1,s=n.gh){return r?function(e,t,r){let s=!1;return(0,d.mJ)(e,(e,i)=>{s||(s=!0,r(i,e)||t(e,i),s=!1)})}(e,t,s):function(e,t,r){let s,n,o=(0,d.Df)(e,(e,i)=>{s&&s.uid!==n?o.remove():(s||(s=p.acquireTracked(e,t,i,r),n=s.uid),m(s))});return(0,i.hA)(()=>{o.remove(),s&&(s.uid!==n||s.removed||(s.removed=!0,m(s)),s=null),o=null})}(e,t,s)}},49422(e,t,r){r.d(t,{M:()=>f,R:()=>d});var s=r(4576),i=r(49186),n=r(53966),o=r(16649),a=r(35666),l=r(88620),c=r(7142);function u(e,t,r,s,i){const n={};return t.write?.writer?.call(e,s,n,r,i),n}function h(e,t,r,l,c,u){if(!l?.write)return!1;const h=(0,o.Jt)(e,r);if(!c&&l.write.overridePolicy){const t=l.write.overridePolicy.call(e,h,r,u??void 0);void 0!==t&&(c=t)}if(c||(c=l.write),!c||!1===c.enabled)return!1;if(c.layerContainerTypes&&u?.layerContainerType&&!c.layerContainerTypes.includes(u.layerContainerType))return!1;if((null===h&&!c.allowNull&&!c.writerEnsuresNonNull||void 0===h)&&c.isRequired){const t=new i.A("web-document-write:property-required",`Missing value for required property '${r}' on '${e.declaredClass}'`,{propertyName:r,target:e});return t&&u?.messages?u.messages.push(t):t&&!u&&n.A.getLogger("esri.core.accessorSupport.write").error(t.name,t.message),!1}return!(void 0===h||null===h&&!c.allowNull&&!c.writerEnsuresNonNull||!(c.alwaysWriteDefaults||t.store.multipleOriginsSupported&&0!==t.store.originOf(r))&&function(e,t,r,i,n){const o=i.default;if(void 0===o)return!1;if(null!=i.defaultEquals)return i.defaultEquals(n);if("function"==typeof o){if(Array.isArray(n)){const i=o.call(e,t,r??void 0);return(0,s.aI)(i,n)}return!1}return o===n}(e,r,u,l,h)||!c.ignoreOrigin&&u?.origin&&t.store.multipleOriginsSupported&&t.store.originOf(r)<(0,a.aB)(u.origin))}function d(e,t,r,s){const i=(0,l.oY)(e),n=i.metadata,o=(0,c.k4)(n[t],s);return!!o&&h(e,i,t,o,r,s)}function f(e,t,r){if(e&&"function"==typeof e.toJSON&&(!e.toJSON.isDefaultToJSON||!e.write))return(0,l.h1)(t,e.toJSON(r));const s=(0,l.oY)(e),i=s.metadata;for(const n in i){const d=(0,c.k4)(i[n],r);if(!h(e,s,n,d,void 0,r))continue;const f=(0,o.Jt)(e,n),p=u(e,d,d.write&&"string"==typeof d.write.target?d.write.target:n,f,r);Object.keys(p).length>0&&(t=(0,l.h1)(t,p),r?.resources?.pendingOperations?.length&&r.resources.pendingOperations.push(Promise.all(r.resources.pendingOperations).then(()=>(0,l.h1)(t,p,()=>"replace-arrays"))),r?.writtenProperties&&r.writtenProperties.push({target:e,propName:n,oldOrigin:(0,a.in)(s.store.originOf(n)),newOrigin:r.origin}))}return t}},5479(e,t,r){function s(e){const t=[];return function*(){yield*t;let r,s=t.length;for(;!(r=e.next()).done;)for(t.push(r.value),yield r.value;++s<t.length;)yield t[s]}}r.d(t,{I6:()=>o,N5:()=>n,PP:()=>s,xZ:()=>l,zN:()=>a});const i=Object.freeze({done:!0,value:void 0});function n(e){const t=[];let r=null,s=null,n=!1;async function o(){if(n)return i;if(null!=s)return s;s=e.next();try{const e=await s;return s=null,e.done?(n=!0,i):(t.push(e.value),e)}catch(e){throw n=!0,s=null,r=e,e}}return async function*(){yield*t;let e,s=t.length;for(;!(e=await o()).done;)for(yield e.value;++s<t.length;)yield t[s];if(null!=r)throw r}}function o(e,t){for(const r of e)if(null!=r&&t(r))return r}function a(e,t){for(const r of e)if(t(r))return!0;return!1}function l(e){return null!=e&&"function"==typeof e[Symbol.iterator]}},76030(e,t,r){r.d(t,{_:()=>_,$m:()=>A,md:()=>b});var s=r(26390);function i(e,t,r,s,i){console.timeStamp(e,t,r,i,s)}class n{constructor(e,t=30){this.name=e,this._counter=0,this._samples=new Array(t)}push(e){null!=e&&(this._samples[++this._counter%this._samples.length]=e)}set(e){null!=e&&(this._samples[this._counter%this._samples.length]=e)}get median(){return this._samples.slice().sort((e,t)=>e-t)[Math.floor(this._samples.length/2)]}get average(){return this._samples.reduce((e,t)=>e+t,0)/this._samples.length}get last(){return this._samples[this._counter%this._samples.length]}}var o=r(15142),a=r(74887),l=r(78659);class c{constructor(e){this.callback=e,this.isActive=!0}remove(){this.isActive=!1}}let u=0;const h={time:(0,l.l5)(0),deltaTime:(0,l.l5)(0),elapsedFrameTime:(0,l.l5)(0),frameDuration:(0,l.l5)(0)},d=["prepare","preRender","render","postRender","update","finish"],f=[],p=new o.A,g={frameTasks:p,willDispatch:!1,clearFrameTasks:function(e=!1){p.forAll(e=>{e.removed=!0}),e&&w()},dispatch:O,executeFrameTasks:function(e){const t=(0,l.l5)(e-u);u=e;const r=1e3/60,s=Math.max(0,t-r);h.time=e,h.frameDuration=(0,l.l5)(r-s);for(let r=0;r<d.length;r++){const s=performance.now(),n=d[r];p.forAll(s=>{s.paused||s.removed||(0===r&&s.ticks++,s.phases[n]&&(h.elapsedFrameTime=(0,l.l5)(performance.now()-e),h.deltaTime=0===s.ticks?(0,l.l5)(0):t,s.phases[n]?.call(s,h)))});const o=performance.now();N[r].push(o-s),i(n,s,o,"Maps SDK","Scheduling")}w();const n=performance.now();k.push(n-e),i("Animation Frame",e,n,"Maps SDK","Scheduling")},reschedule:function(){null!=v&&(cancelAnimationFrame(v),v=requestAnimationFrame(m))}};function _(e){const t=new c(e);return f.push(t),g.willDispatch||(g.willDispatch=!0,(0,s.d)(O)),t}let v=null;function m(){const e=performance.now();v=null;const t=p.some(e=>!e.paused&&!e.removed);v=t?requestAnimationFrame(m):null,g.executeFrameTasks(e)}const y=new o.A;function w(){p.forAll(e=>{e.removed&&y.push(e)}),p.removeUnorderedMany(y.data,y.length),y.clear()}function O(){for(;f.length;){const e=f.shift();e.isActive&&e.callback()}g.willDispatch=!1}function b(e=1,t){const r=(0,a.Tw)(),i=()=>{(0,a.G4)(t)?r.reject((0,a.NK)()):0===e?r():(--e,(0,s.d)(()=>i()))};return i(),r.promise}async function A(e){await function(e){return b(1,e)}(e),await new Promise(t=>requestAnimationFrame(()=>{e?.aborted||t()}))}const N=d.map(e=>new n(e)),k=new n("total")},78659(e,t,r){function s(e){return e}function i(e){return 1e3*e}function n(e){return e}r.d(t,{Kp:()=>n,gr:()=>i,l5:()=>s})}}]);
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[5482],{69622(e,t,r){r.d(t,{A:()=>B});var s=r(51447),i=r(71511),n=r(53966),o=r(97768),a=r(56454),l=r(16649),c=r(85537),u=r(96156),h=(r(44208),r(4718)),d=r(93687),f=r(11406),p=r(62788),g=r(47328),_=r(67867);class v extends f.T{constructor(e,t){super(),this.propertyName=e,this.metadata=t,this.trackingTarget=new _.R(this),this.flags=0,this.flags=g.i.Dirty|(t.nonNullable?g.i.NonNullable:0)|(t.hasOwnProperty("value")?g.i.HasDefaultValue:0)|(void 0===t.get?g.i.DepTrackingInitialized:0)|(void 0===t.dependsOn?g.i.AutoTracked:0)}destroy(){this.flags&g.i.Dirty&&this.onCommitted(),super.destroy(),this.trackingTarget.destroy()}getComputed(e,t){e.mutable&&(0,p.gc)(this);const r=e.store,s=this.propertyName,i=this.flags,n=r.get(s);if(i&g.i.Computing)return n;if(!(i&g.i.Dirty)&&r.has(s))return n;let o;this.flags|=g.i.Computing;const{host:a}=e;i&g.i.AutoTracked?o=(0,p.a)(this.trackingTarget,t,a):((0,p.Xr)(a,this),o=t.call(a)),this.flags|=g.i.DepTrackingInitialized,r.set(s,o,1);const l=r.get(s);return l===n?this.flags&=~g.i.Dirty:(0,p.F_)(this.commit,this),this.flags&=~g.i.Computing,l}notifyChange(){this.onInvalidated(),this.onCommitted()}invalidate(){this.onInvalidated()}commit(){this.flags&=~g.i.Dirty,this.onCommitted()}onInvalidated(){~this.flags&g.i.Overridden&&(this.flags|=g.i.Dirty);const e=this._observers;if(e&&e.length>0)for(const t of e)t.onInvalidated()}onCommitted(){const e=this._observers;if(e&&e.length>0){const t=e.slice();for(const e of t)e.onCommitted()}}}var m=r(35666);class y{constructor(){this._values=new Map,this.multipleOriginsSupported=!1}clone(e){const t=new y;return this._values.forEach((r,s)=>{e&&e.has(s)||t.set(s,(0,h.o8)(r))}),t}get(e){return this._values.get(e)}originOf(){return 7}keys(){return[...this._values.keys()]}set(e,t){this._values.set(e,t)}delete(e){this._values.delete(e)}has(e){return this._values.has(e)}isAtOrigin(e,t){return this.has(e)}isBelowOrigin(e,t){return!this.has(e)}forEach(e){this._values.forEach(e)}}function w(e,t,r){return void 0!==e}function O(e,t,r,s){return!(void 0===e||null==r&&e.flags&g.i.NonNullable&&(s.lifecycle,c.v.INITIALIZING,1))}class b{constructor(e){this.host=e,this.propertiesByName=new Map,this.ctorArgs=null,this.lifecycle=c.v.INITIALIZING,this.store=new y,this.mutable=!0,this._origin=7;const t=this.host.constructor.__accessorMetadata__;for(const e in t){const r=new v(e,t[e]);this.propertiesByName.set(e,r)}this.metadata=t}initialize(){this.lifecycle=c.v.CONSTRUCTING}constructed(){this.lifecycle=c.v.CONSTRUCTED}destroy(){this.lifecycle=c.v.DESTROYED,this.propertiesByName.forEach(e=>e.destroy())}get initialized(){return this.lifecycle!==c.v.INITIALIZING}get(e){const t=this.propertiesByName.get(e);if(!w(t))return;const r=t.metadata.get;if(r)return t.getComputed(this,r);this.mutable&&(0,p.gc)(t);const s=this.store;return s.has(e)?s.get(e):t.metadata.value}originOf(e){const t=this.store.originOf(e);if(void 0===t){const t=this.propertiesByName.get(e);if(void 0!==t&&t.flags&g.i.HasDefaultValue)return"defaults"}return(0,m.OL)(t)}has(e){return this.propertiesByName.has(e)&&this.store.has(e)}keys(){return[...this.propertiesByName.keys()]}internalGet(e){const t=this.propertiesByName.get(e);if(w(t))return this.store.has(e)?this.store.get(e):t.metadata.value}internalSet(e,t){const r=this.propertiesByName.get(e);w(r)&&this._internalSet(r,t)}getDependsInfo(e,t,r){const s=this.propertiesByName.get(t);if(!w(s))return"";const i=new _.R,n=(0,p.a)(i,()=>s.metadata.get?.call(e));let o=`${r}${e.declaredClass.split(".").pop()}.${t}: ${n}\n`;const a=i.accessed??new Set;if(0===a.size)return o;r+=" ";for(const e of a)e instanceof v&&(o+=`${r}${e.propertyName}: undefined\n`);return o}setAtOrigin(e,t,r){const s=this.propertiesByName.get(e);if(w(s))return this._setAtOrigin(s,t,r)}isOverridden(e){const t=this.propertiesByName.get(e);return void 0!==t&&!!(t.flags&g.i.Overridden)}clearOrigin(e,t){const r=this.store,s=this.propertiesByName.get(e);if(!w(s))return;const i=r.isAtOrigin(e,t)&&!(s.flags&g.i.Overridden);r.delete(e,t),i&&s.notifyChange()}clearOverride(e){const t=this.propertiesByName.get(e);t&&t.flags&g.i.Overridden&&(t.flags&=~g.i.Overridden,t.notifyChange())}override(e,t){const r=this.propertiesByName.get(e);if(!O(r,0,t,this))return;const s=r.metadata.cast;if(s){const e=this._cast(s,t),{valid:r,value:i}=e;if(N.release(e),!r)return;t=i}r.flags|=g.i.Overridden,this._internalSet(r,t)}set(e,t){const r=this.propertiesByName.get(e);if(!O(r,0,t,this))return;const s=r.metadata.cast;if(s){const e=this._cast(s,t),{valid:r,value:i}=e;if(N.release(e),!r)return;t=i}const i=r.metadata.set;i?i.call(this.host,t):this._internalSet(r,t)}setDefaultOrigin(e){this._origin=(0,m.aB)(e)}getDefaultOrigin(){return(0,m.OL)(this._origin)}notifyChange(e){this.propertiesByName.get(e)?.notifyChange()}invalidate(e){this.propertiesByName.get(e)?.invalidate()}commit(e){this.propertiesByName.get(e)?.commit()}_internalSet(e,t){const r=this.lifecycle!==c.v.INITIALIZING?this._origin:0;this._setAtOrigin(e,t,r)}_setAtOrigin(e,t,r){const s=this.store,i=e.propertyName,n=s.isAtOrigin(i,r);if(n&&~e.flags&g.i.Overridden&&(0,h.aI)(t,s.get(i)))return;const o=s.isBelowOrigin(i,r)||n;o&&e.invalidate(),s.set(i,t,r),o&&e.commit(),(0,p.fE)(this.host,e)}_cast(e,t){const r=N.acquire();return r.valid=!0,r.value=t,e&&(r.value=e.call(this.host,t,r)),r}}class A{constructor(){this.value=null,this.valid=!0}acquire(){this.valid=!0}release(){this.value=null}}const N=new d.A(()=>new A);var k=r(47821);var S,C,D=r(14012),T=r(10107),E=r(64108);function I(e){if(null==e)return{value:e};if(Array.isArray(e))return{type:[e[0]],value:null};switch(typeof e){case"object":return e.constructor?.__accessorMetadata__||e instanceof Date?{type:e.constructor,value:e}:e;case"boolean":return{type:Boolean,value:e};case"string":return{type:String,value:e};case"number":return{type:Number,value:e};case"function":return{type:e,value:null};default:return}}const q=Symbol("Accessor-Handles"),z=Symbol("Accessor-Initialized");class B{static{S=q,C=z}static createSubclass(e={}){if(Array.isArray(e))throw new Error("Multi-inheritance unsupported since 4.16");const{properties:t,declaredClass:r,constructor:s}=e;delete e.declaredClass,delete e.properties,delete e.constructor;const i=this;class n extends i{constructor(...e){super(...e),this.inherited=null,s&&s.apply(this,e)}}(0,u.tD)(n.prototype);for(const t in e){const r=e[t];n.prototype[t]="function"==typeof r?function(...e){const s=this.inherited;let n;this.inherited=function(...e){if(i.prototype[t])return i.prototype[t].apply(this,e)};try{n=r.apply(this,e)}catch(e){throw this.inherited=s,e}return this.inherited=s,n}:e[t]}for(const e in t){const r=I(t[e]);(0,T.MZ)(r)(n.prototype,e)}return(0,E.$)(r)(n)}static freeze(e){return e instanceof B?e.__accessor__.mutable=!1:Object.freeze(e),e}static isFrozen(e){return e instanceof B?!e.__accessor__.mutable:Object.isFrozen(e)}constructor(...e){if(this[S]=null,this[C]=!1,this.constructor===B)throw new Error("[accessor] cannot instantiate Accessor. This can be fixed by creating a subclass of Accessor");const t=new b(this);Object.defineProperty(this,"__accessor__",{enumerable:!1,value:t}),e.length>0&&(t.ctorArgs=this.normalizeCtorArgs?.apply(this,e)??e[0])}postscript(){const e=this.__accessor__,t=e.ctorArgs;e.initialize(),t&&(this.set(t),e.ctorArgs=null),e.constructed(),this.initialize(),this[z]=!0}initialize(){}[a.G](){this[q]=(0,o.pR)(this[q])}destroy(){this.destroyed||((0,D.iS)(this),this.__accessor__.destroy())}[Symbol.dispose](){this.destroy()}get constructed(){return this.__accessor__&&this.__accessor__.initialized||!1}get initialized(){return this[z]}get destroyed(){return this.__accessor__?.lifecycle===c.v.DESTROYED||!1}get destroying(){return this.__accessor__?.lifecycle===c.v.DESTROYING||!1}commitProperty(e){(0,l.Jt)(this,e)}hasOwnProperty(e){return this.__accessor__?this.__accessor__.has(e):Object.prototype.hasOwnProperty.call(this,e)}keys(){return this.__accessor__?this.__accessor__.keys():[]}set(e,t){return(0,k.h)(this,e,t),this}watch(e,t,r){return(0,s.eO)(n.A.getLogger(this),"`watch` is deprecated in favor of reactiveUtils.watch",{replacement:"reactiveUtils.watch",version:"4.32",see:"https://arcg.is/1vaqf42#watch",warnOnce:!0}),(0,D.wB)(this,e,t,r)}addHandles(e,t){if(this.destroyed){const t=Array.isArray(e)?e:[e];for(const e of t)e.remove();return}(this[q]??=new i.A).add(e,t)}removeHandles(e){this[q]?.remove(e)}removeAllHandles(){this[q]?.removeAll()}removeHandlesReference(e){this[q]?.removeReference(e)}hasHandles(e){return!0===this[q]?.has(e)}_override(e,t){void 0===t?this.__accessor__.clearOverride(e):this.__accessor__.override(e,t)}_clearOverride(e){return this.__accessor__.clearOverride(e)}_overrideIfSome(e,t){null==t?this.__accessor__.clearOverride(e):this.__accessor__.override(e,t)}_isOverridden(e){return this.__accessor__.isOverridden(e)}notifyChange(e){this.__accessor__.notifyChange(e)}_get(e){return this.__accessor__.internalGet(e)}_set(e,t){return this.__accessor__.internalSet(e,t),this}}},98291(e,t,r){r.d(t,{A:()=>n});var s=r(93687);function i(e){e.length=0}class n{constructor(e=50,t=50){this._pool=new s.A(()=>[],void 0,i,t,e)}acquire(){return this._pool.acquire()}release(e){this._pool.release(e)}prune(){this._pool.prune(0)}static acquire(){return o.acquire()}static release(e){return o.release(e)}static prune(){o.prune()}}const o=new n(100)},71511(e,t,r){r.d(t,{A:()=>i});var s=r(5479);class i{constructor(){this._groups=new Map}destroy(){this.removeAll()}get size(){let e=0;return this._groups.forEach(t=>{e+=t.length}),e}add(e,t){if((0,s.xZ)(e)){const r=this._getOrCreateGroup(t);for(const t of e)a(t)&&r.push(t)}else a(e)&&this._getOrCreateGroup(t).push(e);return this}forEach(e,t){if("function"==typeof e)this._groups.forEach(t=>t.forEach(e));else{const r=this._getGroup(e);r&&t&&r.forEach(t)}}has(e){return this._groups.has(n(e))}remove(e){if("string"!=typeof e&&(0,s.xZ)(e)){for(const t of e)this.remove(t);return this}return this.has(e)?(o(this._getGroup(e)),this._groups.delete(n(e)),this):this}removeAll(){return this._groups.forEach(o),this._groups.clear(),this}removeReference(e){return this._groups.delete(e),this}_getOrCreateGroup(e){if(this.has(e))return this._getGroup(e);const t=[];return this._groups.set(n(e),t),t}_getGroup(e){return this._groups.get(n(e))}}function n(e){return e||"_default_"}function o(e){for(const t of e)t instanceof i?t.removeAll():t.remove()}function a(e){return null!=e&&(!!e.remove||e instanceof i)}},25482(e,t,r){r.d(t,{o:()=>g,T:()=>f});var s=r(5482),i=r(69622),n=r(4718);class o{constructor(){this._values=new Map,this.multipleOriginsSupported=!1}clone(e){const t=new o;return this._values.forEach((r,s)=>{e&&e.has(s)||t.set(s,(0,n.o8)(r.value),r.origin)}),t}get(e,t){t=this._normalizeOrigin(t);const r=this._values.get(e);return null==t||r?.origin===t?r?.value:void 0}originOf(e){return this._values.get(e)?.origin??7}keys(e){e=this._normalizeOrigin(e);const t=[...this._values.keys()];return null==e?t:t.filter(t=>this._values.get(t)?.origin===e)}set(e,t,r){if(0===(r=this._normalizeOrigin(r))){const t=this._values.get(e);if(null!=t?.origin&&t.origin>r)return}this._values.set(e,new a(t,r))}delete(e,t){null!=(t=this._normalizeOrigin(t))&&this._values.get(e)?.origin!==t||this._values.delete(e)}has(e,t){return null!=(t=this._normalizeOrigin(t))?this._values.get(e)?.origin===t:this._values.has(e)}isAtOrigin(e,t){return t=this._normalizeOrigin(t),this.has(e,t)&&this.originOf(e)===t}isBelowOrigin(e,t){return t=this._normalizeOrigin(t),!this.has(e)||this.originOf(e)<t}forEach(e){this._values.forEach(({value:t},r)=>e(t,r))}_normalizeOrigin(e){if(null!=e)return 0===e?e:7}}class a{constructor(e,t){this.value=e,this.origin=t}}var l=r(76953),c=r(45917),u=r(88620),h=r(49422),d=r(64108);const f=e=>{const t=e;let r=class extends t{constructor(...e){super(...e);const t=(0,u.oY)(this),r=t.store,s=new o;t.store=s,(0,l.k)(t,r,s)}read(e,t){(0,c.L)(this,e,t)}write(e,t){return(0,h.M)(this,e??{},t)}toJSON(e){return this.write({},e)}static fromJSON(e,t){return p.call(this,e,t)}};return r=(0,s.Cg)([(0,d.$)("esri.core.JSONSupport")],r),r.prototype.toJSON.isDefaultToJSON=!0,r};function p(e,t){if(!e)return null;if(e.declaredClass)throw new Error("JSON object is already hydrated");const r=new this;return r.read(e,t),r}const g=f(i.A)},11406(e,t,r){r.d(t,{T:()=>n});var s=r(36563);class i{constructor(e,t){this._observers=e,this._observer=t}remove(){const{_observers:e,_observer:t}=this;if(e[e.length-1]===t)return void e.pop();const r=e.indexOf(this._observer);-1!==r&&e.splice(r,1)}}class n{constructor(){this._observers=null,this.destroyed=!1}observe(e){if(this.destroyed||e.destroyed)return o;null==this._observers&&(this._observers=[]);const t=this._observers;let r=!1,s=!1;for(const i of t)if(i.destroyed)s=!0;else if(i===e){r=!0;break}return r||(t.push(e),s&&this._removeDestroyedObservers()),new i(t,e)}_removeDestroyedObservers(){const e=this._observers;if(!e)return;const t=e.length;if(0===t)return;let r=0;for(let s=0;s<t;++s){for(;s+r<t&&e[s+r].destroyed;)++r;if(r>0){if(!(s+r<t))break;e[s]=e[s+r]}}e.length=t-r}destroy(){if(this.destroyed)return;this.destroyed=!0;const e=this._observers;if(null!=e){for(const t of e)t.onCommitted();this._observers=null}}}const o=(0,s.hA)()},35666(e,t,r){r.d(t,{AU:()=>s,OL:()=>n,aB:()=>i,in:()=>o});const s=8;function i(e){switch(e){case"defaults":return 0;case"service":return 2;case"portal-item":return 3;case"web-scene":return 4;case"web-map":return 5;case"link-chart":return 6;case"user":return 7;default:return null}}function n(e){switch(e){case 0:return"defaults";case 2:return"service";case 3:return"portal-item";case 4:return"web-scene";case 5:return"web-map";case 6:return"link-chart";case 7:return"user"}}function o(e){return n(e)}},76953(e,t,r){function s(e,t,r){t.keys().forEach(e=>{r.set(e,t.get(e),0)});const s=e.metadata;Object.keys(s).forEach(t=>{e.internalGet(t)&&r.set(t,e.internalGet(t),0)})}r.d(t,{k:()=>s})},45917(e,t,r){r.d(t,{L:()=>u,t:()=>h});var s=r(16649),i=r(88620),n=r(7142);function o(e,t,r){if(!e?.read||!1===e.read.enabled||!e.read.source)return!1;const i=e.read.source;if("string"==typeof i){if(i===t)return!0;if(i.includes(".")&&i.startsWith(t)&&(0,s.t2)(i,r))return!0}else for(const e of i){if(e===t)return!0;if(e.includes(".")&&e.startsWith(t)&&(0,s.t2)(e,r))return!0}return!1}function a(e,t,r,s,i){let a=(0,n.N5)(t[r],i);(function(e){return e&&(!e.read||!1!==e.read.enabled&&!e.read.source)})(a)&&(e[r]=!0);for(const l of Object.getOwnPropertyNames(t))a=(0,n.N5)(t[l],i),o(a,r,s)&&(e[l]=!0)}function l(e,t,r,s){const i=r.metadata,o=(0,n.xF)(i[t],s),a=o?.default;if(void 0===a)return;const l="function"==typeof a?a.call(e,t,s):a;void 0!==l&&r.set(t,l)}const c={origin:"service"};function u(e,t,r=c){if(!t||"object"!=typeof t)return;const o=(0,i.oY)(e),u=o.metadata,h={};for(const e of Object.getOwnPropertyNames(t))a(h,u,e,t,r);o.setDefaultOrigin(r.origin);for(const i of Object.getOwnPropertyNames(h)){const a=(0,n.N5)(u[i],r).read,l=a?.source;let c;c=l&&"string"==typeof l?(0,s.RP)(t,l):t[i],a?.reader&&(c=a.reader.call(e,c,t,r)),void 0!==c&&o.set(i,c)}if(!r||!r.ignoreDefaults){o.setDefaultOrigin("defaults");for(const t of Object.getOwnPropertyNames(u))h[t]||l(e,t,o,r)}o.setDefaultOrigin("user")}function h(e,t,r,s=c){const i={...s,messages:[]};r(i),i.messages?.forEach(t=>{"warning"!==t.type||e.loaded?s?.messages&&s.messages.push(t):e.loadWarnings.push(t)})}},71429(e,t,r){r.d(t,{r:()=>i});var s=r(67867);class i extends s.R{constructor(e){super(new n(e)),this._observer&&o.register(this,new WeakRef(this._observer),this)}destroy(){this._observer&&o.unregister(this._observer),this.accessed?.clear(),this.clear(),this._observer?.destroy()}}class n{constructor(e){this._notify=e,this._invalidCount=0,this.destroyed=!1}onInvalidated(){this._invalidCount++}onCommitted(){if(this.destroyed)return;const e=this._invalidCount;if(1===e)return this._invalidCount=0,void this._notify();this._invalidCount=e>0?e-1:0}destroy(){this.destroyed=!0,this._notify=a}}const o=new FinalizationRegistry(e=>{e.deref()?.destroy()});function a(){}},80559(e,t,r){r.d(t,{Df:()=>c,fm:()=>u,mJ:()=>l});var s=r(36563),i=r(62788),n=r(71429);let o=!1;const a=[];function l(e,t){let r=new n.r(function s(){if(!r||l)return;if(o)return void h(s);const n=a;r.clear(),o=!0,l=!0,a=(0,i.a)(r,e),l=!1,o=!1,t(a,n),d()}),a=null,l=!1;return l=!0,a=(0,i.a)(r,e),l=!1,(0,s.hA)(function(){r&&(r.destroy(),r=null,a=null)})}function c(e,t){let r=new n.r(function(){t(o,a)}),o=null;function a(){return r?(r.clear(),o=(0,i.a)(r,e),o):null}return a(),(0,s.hA)(function(){r&&(r.destroy(),r=null),o=null})}function u(e,t){let r=!1,a=!1;const l=!!t?.sync;let c=new n.r(()=>{r||a||(a=!0,l?u():queueMicrotask(u))});function u(){a=!1,c&&!r&&(o?h(u):(c.clear(),o=!0,r=!0,(0,i.a)(c,e),r=!1,o=!1,d()))}return r=!0,(0,i.a)(c,e),r=!1,(0,s.hA)(function(){c&&(c.destroy(),c=null)})}function h(e){a.includes(e)||a.unshift(e)}function d(){for(;a.length;)a.pop()()}},14012(e,t,r){r.d(t,{iS:()=>w,wB:()=>N,Cn:()=>k});var s=r(98291),i=r(36563),n=r(4718),o=r(93687);class a extends o.A{constructor(){super(...arguments),this._set=new Set}destroy(){super.destroy(),this._set=null}acquire(...e){const t=super.acquire(...e);return this._set.delete(t),t}release(e){e&&!this._set.has(e)&&(super.release(e),this._set.add(e))}_dispose(e){this._set.delete(e),super._dispose(e)}}var l=r(76030),c=r(24326),u=r(16649),h=r(85537),d=r(80559),f=r(88620);class p{constructor(){this.uid=(0,c.c)(),this.removed=!1,this.type=null,this.oldValue=null,this.callback=null,this.getValue=null,this.target=null,this.path=null,this.equals=null}static{this.pool=new a(()=>new p)}static acquireUntracked(e,t,r,s,i){return this.pool.acquire(0,e,t,r,s,i,n.aI)}static acquireTracked(e,t,r,s){return this.pool.acquire(1,e,t,r,null,null,s)}notify(e,t){0===this.type?this.callback.call(this.target,e,t,this.path,this.target):this.callback.call(null,e,t,void 0,void 0)}acquire(e,t,r,s,i,n,o){this.uid=(0,c.c)(),this.removed=!1,this.type=e,this.oldValue=t,this.callback=r,this.getValue=s,this.target=i,this.path=n,this.equals=o}release(){this.target=this.path=this.oldValue=this.callback=this.getValue=null,this.uid=(0,c.c)(),this.removed=!0}}const g=new s.A,_=new Set;let v;function m(e){_.delete(e),_.add(e),v||(v=(0,l._)(O))}function y(e){if(e.removed)return;const t=e.oldValue,r=e.getValue();e.equals(t,r)||(e.oldValue=r,e.notify(r,t))}function w(e){for(const t of _.values())t.target===e&&(t.removed=!0)}function O(){let e=10;for(;v&&e--;){v=null;const e=b(),t=g.acquire();for(const r of e){const e=r.uid;y(r),e===r.uid&&r.removed&&t.push(r)}for(const e of _)e.removed&&(t.push(e),_.delete(e));for(const e of t)p.pool.release(e);g.release(t),g.release(e),A.forEach(e=>e())}}function b(){const e=g.acquire();e.length=_.size;let t=0;for(const r of _)e[t]=r,++t;return _.clear(),e}const A=new Set;function N(e,t,r,s=!1){return e.__accessor__&&e.__accessor__.lifecycle!==h.v.DESTROYED?s?function(e,t,r){const s=(0,f.qg)(e,t,r,(e,t,r)=>{let i=!1;return(0,d.mJ)(()=>(0,u.RP)(e,t),(o,a)=>{e.__accessor__.lifecycle!==h.v.DESTROYED?i||(i=!0,(0,n.aI)(a,o)||r.call(e,o,a,t,e),i=!1):s.remove()})});return s}(e,t,r):function(e,t,r){let s=(0,f.qg)(e,t,r,(e,t,r)=>{let n,o,a=(0,d.Df)(()=>(0,u.RP)(e,t),(i,a)=>{e.__accessor__?.lifecycle===h.v.DESTROYED||n&&n.uid!==o?s.remove():(n||(n=p.acquireUntracked(i,r,a,e,t),o=n.uid),m(n))});return(0,i.hA)(()=>{a.remove(),n&&(n.uid!==o||n.removed||(n.removed=!0,m(n)),n=null),s=a=null})});return s}(e,t,r):(0,i.hA)()}function k(e,t,r=!1,s=n.gh){return r?function(e,t,r){let s=!1;return(0,d.mJ)(e,(e,i)=>{s||(s=!0,r(i,e)||t(e,i),s=!1)})}(e,t,s):function(e,t,r){let s,n,o=(0,d.Df)(e,(e,i)=>{s&&s.uid!==n?o.remove():(s||(s=p.acquireTracked(e,t,i,r),n=s.uid),m(s))});return(0,i.hA)(()=>{o.remove(),s&&(s.uid!==n||s.removed||(s.removed=!0,m(s)),s=null),o=null})}(e,t,s)}},49422(e,t,r){r.d(t,{M:()=>f,R:()=>d});var s=r(4576),i=r(49186),n=r(53966),o=r(16649),a=r(35666),l=r(88620),c=r(7142);function u(e,t,r,s,i){const n={};return t.write?.writer?.call(e,s,n,r,i),n}function h(e,t,r,l,c,u){if(!l?.write)return!1;const h=(0,o.Jt)(e,r);if(!c&&l.write.overridePolicy){const t=l.write.overridePolicy.call(e,h,r,u??void 0);void 0!==t&&(c=t)}if(c||(c=l.write),!c||!1===c.enabled)return!1;if(c.layerContainerTypes&&u?.layerContainerType&&!c.layerContainerTypes.includes(u.layerContainerType))return!1;if((null===h&&!c.allowNull&&!c.writerEnsuresNonNull||void 0===h)&&c.isRequired){const t=new i.A("web-document-write:property-required",`Missing value for required property '${r}' on '${e.declaredClass}'`,{propertyName:r,target:e});return t&&u?.messages?u.messages.push(t):t&&!u&&n.A.getLogger("esri.core.accessorSupport.write").error(t.name,t.message),!1}return!(void 0===h||null===h&&!c.allowNull&&!c.writerEnsuresNonNull||!(c.alwaysWriteDefaults||t.store.multipleOriginsSupported&&0!==t.store.originOf(r))&&function(e,t,r,i,n){const o=i.default;if(void 0===o)return!1;if(null!=i.defaultEquals)return i.defaultEquals(n);if("function"==typeof o){if(Array.isArray(n)){const i=o.call(e,t,r??void 0);return(0,s.aI)(i,n)}return!1}return o===n}(e,r,u,l,h)||!c.ignoreOrigin&&u?.origin&&t.store.multipleOriginsSupported&&t.store.originOf(r)<(0,a.aB)(u.origin))}function d(e,t,r,s){const i=(0,l.oY)(e),n=i.metadata,o=(0,c.k4)(n[t],s);return!!o&&h(e,i,t,o,r,s)}function f(e,t,r){if(e&&"function"==typeof e.toJSON&&(!e.toJSON.isDefaultToJSON||!e.write))return(0,l.h1)(t,e.toJSON(r));const s=(0,l.oY)(e),i=s.metadata;for(const n in i){const d=(0,c.k4)(i[n],r);if(!h(e,s,n,d,void 0,r))continue;const f=(0,o.Jt)(e,n),p=u(e,d,d.write&&"string"==typeof d.write.target?d.write.target:n,f,r);Object.keys(p).length>0&&(t=(0,l.h1)(t,p),r?.resources?.pendingOperations?.length&&r.resources.pendingOperations.push(Promise.all(r.resources.pendingOperations).then(()=>(0,l.h1)(t,p,()=>"replace-arrays"))),r?.writtenProperties&&r.writtenProperties.push({target:e,propName:n,oldOrigin:(0,a.in)(s.store.originOf(n)),newOrigin:r.origin}))}return t}},5479(e,t,r){function s(e){const t=[];return function*(){yield*t;let r,s=t.length;for(;!(r=e.next()).done;)for(t.push(r.value),yield r.value;++s<t.length;)yield t[s]}}r.d(t,{I6:()=>o,N5:()=>n,PP:()=>s,xZ:()=>l,zN:()=>a});const i=Object.freeze({done:!0,value:void 0});function n(e){const t=[];let r=null,s=null,n=!1;async function o(){if(n)return i;if(null!=s)return s;s=e.next();try{const e=await s;return s=null,e.done?(n=!0,i):(t.push(e.value),e)}catch(e){throw n=!0,s=null,r=e,e}}return async function*(){yield*t;let e,s=t.length;for(;!(e=await o()).done;)for(yield e.value;++s<t.length;)yield t[s];if(null!=r)throw r}}function o(e,t){for(const r of e)if(null!=r&&t(r))return r}function a(e,t){for(const r of e)if(t(r))return!0;return!1}function l(e){return null!=e&&"function"==typeof e[Symbol.iterator]}},76030(e,t,r){r.d(t,{_:()=>_,$m:()=>A,md:()=>b});var s=r(26390);function i(e,t,r,s,i){console.timeStamp(e,t,r,i,s)}class n{constructor(e,t=30){this.name=e,this._counter=0,this._samples=new Array(t)}push(e){null!=e&&(this._samples[++this._counter%this._samples.length]=e)}set(e){null!=e&&(this._samples[this._counter%this._samples.length]=e)}get median(){return this._samples.slice().sort((e,t)=>e-t)[Math.floor(this._samples.length/2)]}get average(){return this._samples.reduce((e,t)=>e+t,0)/this._samples.length}get last(){return this._samples[this._counter%this._samples.length]}}var o=r(15142),a=r(17676),l=r(78659);class c{constructor(e){this.callback=e,this.isActive=!0}remove(){this.isActive=!1}}let u=0;const h={time:(0,l.l5)(0),deltaTime:(0,l.l5)(0),elapsedFrameTime:(0,l.l5)(0),frameDuration:(0,l.l5)(0)},d=["prepare","preRender","render","postRender","update","finish"],f=[],p=new o.A,g={frameTasks:p,willDispatch:!1,clearFrameTasks:function(e=!1){p.forAll(e=>{e.removed=!0}),e&&w()},dispatch:O,executeFrameTasks:function(e){const t=(0,l.l5)(e-u);u=e;const r=1e3/60,s=Math.max(0,t-r);h.time=e,h.frameDuration=(0,l.l5)(r-s);for(let r=0;r<d.length;r++){const s=performance.now(),n=d[r];p.forAll(s=>{s.paused||s.removed||(0===r&&s.ticks++,s.phases[n]&&(h.elapsedFrameTime=(0,l.l5)(performance.now()-e),h.deltaTime=0===s.ticks?(0,l.l5)(0):t,s.phases[n]?.call(s,h)))});const o=performance.now();N[r].push(o-s),i(n,s,o,"Maps SDK","Scheduling")}w();const n=performance.now();k.push(n-e),i("Animation Frame",e,n,"Maps SDK","Scheduling")},reschedule:function(){null!=v&&(cancelAnimationFrame(v),v=requestAnimationFrame(m))}};function _(e){const t=new c(e);return f.push(t),g.willDispatch||(g.willDispatch=!0,(0,s.d)(O)),t}let v=null;function m(){const e=performance.now();v=null;const t=p.some(e=>!e.paused&&!e.removed);v=t?requestAnimationFrame(m):null,g.executeFrameTasks(e)}const y=new o.A;function w(){p.forAll(e=>{e.removed&&y.push(e)}),p.removeUnorderedMany(y.data,y.length),y.clear()}function O(){for(;f.length;){const e=f.shift();e.isActive&&e.callback()}g.willDispatch=!1}function b(e=1,t){const r=Promise.withResolvers(),i=()=>{(0,a.G4)(t)?r.reject((0,a.NK)()):0===e?r.resolve():(--e,(0,s.d)(()=>i()))};return i(),r.promise}async function A(e){await function(e){return b(1,e)}(e),await new Promise(t=>requestAnimationFrame(()=>{e?.aborted||t()}))}const N=d.map(e=>new n(e)),k=new n("total")},78659(e,t,r){function s(e){return e}function i(e){return 1e3*e}function n(e){return e}r.d(t,{Kp:()=>n,gr:()=>i,l5:()=>s})}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[1698],{24045(e,t,r){function o(e,t){const r=e.count;t||(t=new e.TypedArrayConstructor(r));for(let o=0;o<r;o++)t[o]=e.get(o);return t}r.d(t,{m:()=>o}),Object.freeze(Object.defineProperty({__proto__:null,makeDense:o},Symbol.toStringTag,{value:"Module"}))},51698(e,t,r){r.d(t,{loadGLTF:()=>P});var o=r(53966),n=r(93637),s=r(9093),a=r(49186),i=r(91869),u=r(74887),l=r(84952),c=r(46140),f=r(58083),d=r(67026),p=r(82534),m=r(13030),h=r(24045),T=r(2741);let w;function g(){return w??=(async()=>{const{default:e}=await r.e(2423).then(r.bind(r,2423));return await e({locateFile:e=>(0,T.s)(`esri/libs/dracoMeshDecoder/${e}`)})})(),w}class b{constructor(e){this._data=e,this._offset4=0,this._dataUint32=new Uint32Array(this._data,0,Math.floor(this._data.byteLength/4))}readUint32(){const e=this._offset4;return this._offset4+=1,this._dataUint32[e]}readUint8Array(e){const t=4*this._offset4;return this._offset4+=e/4,new Uint8Array(this._data,t,e)}remainingBytes(){return this._data.byteLength-4*this._offset4}}const y={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1},x={pbrMetallicRoughness:y,emissiveFactor:[0,0,0],alphaMode:"OPAQUE",alphaCutoff:.5,doubleSided:!1},_={ESRI_externalColorMixMode:"tint",ESRI_receiveShadows:!0,ESRI_receiveAmbientOcclusion:!0},S=(e={})=>{const t={...y,...e.pbrMetallicRoughness},r=function(e){switch(e.ESRI_externalColorMixMode){case"multiply":case"tint":case"ignore":case"replace":break;default:e.ESRI_externalColorMixMode,e.ESRI_externalColorMixMode="tint"}return e}({..._,...e.extras});return{...x,...e,pbrMetallicRoughness:t,extras:r}},A={magFilter:9729,minFilter:9987,wrapS:10497,wrapT:10497};var O=r(51530),v=r(63907);const R=1179937895;class N{constructor(e,t,r,o){if(this._context=e,this.uri=t,this.json=r,this._glbBuffer=o,this._bufferLoaders=new Map,this._textureLoaders=new Map,this._dracoBuffersSize=0,this._textureCache=new Map,this._materialCache=new Map,this._nodeParentMap=new Map,this._nodeTransformCache=new Map,this._supportedExtensions=["KHR_texture_basisu","KHR_texture_transform","KHR_draco_mesh_compression","KHR_materials_emissive_strength"],this._baseUri=function(e){let t,r;return e.replace(/^(.*\/)?([^/]*)$/,(e,o,n)=>(t=o||"",r=n||"","")),{dirPart:t,filePart:r}}(this.uri).dirPart,this._checkVersionSupported(),this._checkRequiredExtensionsSupported(),null==r.scenes)throw new a.A("gltf-loader-unsupported-feature","Scenes must be defined.");if(null==r.meshes)throw new a.A("gltf-loader-unsupported-feature","Meshes must be defined");if(null==r.nodes)throw new a.A("gltf-loader-unsupported-feature","Nodes must be defined.");this._computeNodeParents()}static async load(e,t,r){if((0,l.DB)(t)){const r=(0,l.r$)(t);if(r&&"model/gltf-binary"!==r.mediaType)try{const o=JSON.parse(r.isBase64?atob(r.data):r.data);return new N(e,t,o)}catch{}const o=(0,l.lJ)(t);if(N._isGLBData(o))return this._fromGLBData(e,t,o)}if(U.test(t)||"gltf"===r?.expectedType){const o=await e.loadJSON(t,r);return new N(e,t,o)}const o=await e.loadBinary(t,r);if(N._isGLBData(o))return this._fromGLBData(e,t,o);if(B.test(t)||"glb"===r?.expectedType)throw new a.A("gltf-loader-invalid-glb","This is not a valid glb file.");const n=await e.loadJSON(t,r);return new N(e,t,n)}static _isGLBData(e){if(null==e)return!1;const t=new b(e);return t.remainingBytes()>=4&&t.readUint32()===R}static async _fromGLBData(e,t,r){const o=await N._parseGLBData(r);return new N(e,t,o.json,o.binaryData)}static async _parseGLBData(e){const t=new b(e);if(t.remainingBytes()<12)throw new a.A("gltf-loader-error","glb binary data is insufficiently large.");const r=t.readUint32(),n=t.readUint32(),s=t.readUint32();if(r!==R)throw new a.A("gltf-loader-error","Magic first 4 bytes do not fit to expected glb value.");if(e.byteLength<s)throw new a.A("gltf-loader-error","glb binary data is smaller than header specifies.");if(2!==n)throw new a.A("gltf-loader-unsupported-feature","An unsupported glb container version was detected. Only version 2 is supported.");let i,u,l=0;for(;t.remainingBytes()>=8;){const e=t.readUint32(),r=t.readUint32();if(0===l){if(1313821514!==r)throw new a.A("gltf-loader-error","First glb chunk must be JSON.");if(e<0)throw new a.A("gltf-loader-error","No JSON data found.");i=await(0,O.KB)(t.readUint8Array(e))}else if(1===l){if(5130562!==r)throw new a.A("gltf-loader-unsupported-feature","Second glb chunk expected to be BIN.");u=t.readUint8Array(e)}else o.A.getLogger("esri.views.3d.glTF").warn("[Unsupported Feature] More than 2 glb chunks detected. Skipping.");l+=1}if(!i)throw new a.A("gltf-loader-error","No glb JSON chunk detected.");return{json:i,binaryData:u}}async getBuffer(e,t){const r=this.json.buffers[e];if(null==r.uri){if(null==this._glbBuffer)throw new a.A("gltf-loader-error","glb buffer not present");return this._glbBuffer}const o=await this._getBufferLoader(e,t);if(o.byteLength!==r.byteLength)throw new a.A("gltf-loader-error","Buffer byte lengths should match.");return o}async _getBufferLoader(e,t){const r=this._bufferLoaders.get(e);if(r)return r;const o=this.json.buffers[e].uri,n=this._context.loadBinary(this._resolveUri(o),t).then(e=>new Uint8Array(e));return this._bufferLoaders.set(e,n),n}_validateAccessor(e){if(!this.json.accessors)throw new a.A("gltf-loader-unsupported-feature","Accessors missing.");const t=this.json.accessors[e];if(t.type in["MAT2","MAT3","MAT4"])throw new a.A("gltf-loader-unsupported-feature",`AttributeType ${t.type} is not supported`);return t}_getComponentInfo(e,t){const r=L[e.type],o=t?.componentType||e.componentType,n=M[o];return{componentType:o,componentCount:r,componentByteSize:n,denseByteStride:r*n}}getDracoAccessor(e,t){const r=this._validateAccessor(e),o=t.accessorInfos.get(e),{componentType:n,componentCount:s,componentByteSize:a,denseByteStride:i}=this._getComponentInfo(r,o);return{raw:t.data.buffer,byteStride:i,byteOffset:t.data.byteOffset+(o?.byteOffset||0),entryCount:o?.count??r.count,isDenselyPacked:!0,componentCount:s,componentByteSize:a,componentType:n,min:r.min,max:r.max,normalized:!!r.normalized}}async getAccessor(e,t){const r=this._validateAccessor(e);if(null==r?.bufferView)throw new a.A("gltf-loader-unsupported-feature","Some accessor does not specify a bufferView.");const{componentCount:o,componentByteSize:n,denseByteStride:s}=this._getComponentInfo(r),i=this.json.bufferViews[r.bufferView],u=await this.getBuffer(i.buffer,t),l=i.byteStride||s;return{raw:u.buffer,byteStride:l,byteOffset:u.byteOffset+(i.byteOffset||0)+(r.byteOffset||0),entryCount:r.count,isDenselyPacked:l===s,componentCount:o,componentByteSize:n,componentType:r.componentType,min:r.min,max:r.max,normalized:!!r.normalized}}async getIndexData(e,t,r){if(null==e.indices)return;const o=e.indices,n=r?this.getDracoAccessor(o,r):await this.getAccessor(o,t);if(n.isDenselyPacked)switch(n.componentType){case v.pe.UNSIGNED_BYTE:return new Uint8Array(n.raw,n.byteOffset,n.entryCount);case v.pe.UNSIGNED_SHORT:return new Uint16Array(n.raw,n.byteOffset,n.entryCount);case v.pe.UNSIGNED_INT:return new Uint32Array(n.raw,n.byteOffset,n.entryCount)}else switch(n.componentType){case v.pe.UNSIGNED_BYTE:return(0,h.m)(F(m.SL,n));case v.pe.UNSIGNED_SHORT:return(0,h.m)(F(m.h,n));case v.pe.UNSIGNED_INT:return(0,h.m)(F(m.P,n))}}async getPositionData(e,t,r){if(null==e.attributes.POSITION)throw new a.A("gltf-loader-unsupported-feature","No POSITION vertex data found.");const o=e.attributes.POSITION,s=r?this.getDracoAccessor(o,r):await this.getAccessor(o,t);if(s.componentType!==v.pe.FLOAT)throw new a.A("gltf-loader-unsupported-feature","Expected type FLOAT for POSITION vertex attribute, but found "+(0,n.i7)(v.pe,s.componentType));if(3!==s.componentCount)throw new a.A("gltf-loader-unsupported-feature","POSITION vertex attribute must have 3 components, but found "+s.componentCount.toFixed());return F(m.xs,s)}async getNormalData(e,t,r){if(null==e.attributes.NORMAL)throw new a.A("gltf-loader-error","No NORMAL vertex data found.");const o=e.attributes.NORMAL,s=r?this.getDracoAccessor(o,r):await this.getAccessor(o,t);if(s.componentType!==v.pe.FLOAT)throw new a.A("gltf-loader-unsupported-feature","Expected type FLOAT for NORMAL vertex attribute, but found "+(0,n.i7)(v.pe,s.componentType));if(3!==s.componentCount)throw new a.A("gltf-loader-unsupported-feature","NORMAL vertex attribute must have 3 components, but found "+s.componentCount.toFixed());return F(m.xs,s)}async getTangentData(e,t,r){if(null==e.attributes.TANGENT)throw new a.A("gltf-loader-error","No TANGENT vertex data found.");const o=e.attributes.TANGENT,s=r?this.getDracoAccessor(o,r):await this.getAccessor(o,t);if(s.componentType!==v.pe.FLOAT)throw new a.A("gltf-loader-unsupported-feature","Expected type FLOAT for TANGENT vertex attribute, but found "+(0,n.i7)(v.pe,s.componentType));if(4!==s.componentCount)throw new a.A("gltf-loader-unsupported-feature","TANGENT vertex attribute must have 4 components, but found "+s.componentCount.toFixed());return F(m.Eq,s)}async getTextureCoordinates(e,t,r){if(null==e.attributes.TEXCOORD_0)throw new a.A("gltf-loader-error","No TEXCOORD_0 vertex data found.");const o=e.attributes.TEXCOORD_0,n=r?this.getDracoAccessor(o,r):await this.getAccessor(o,t);if(2!==n.componentCount)throw new a.A("gltf-loader-unsupported-feature","TEXCOORD_0 vertex attribute must have 2 components, but found "+n.componentCount.toFixed());if(n.componentType===v.pe.FLOAT)return F(m.gH,n);if(!n.normalized)throw new a.A("gltf-loader-unsupported-feature","Integer component types are only supported for a normalized accessor for TEXCOORD_0.");return function(e){switch(e.componentType){case v.pe.BYTE:return new m.D6(e.raw,e.byteOffset,e.byteStride,e.byteOffset+e.byteStride*e.entryCount);case v.pe.UNSIGNED_BYTE:return new m.LC(e.raw,e.byteOffset,e.byteStride,e.byteOffset+e.byteStride*e.entryCount);case v.pe.SHORT:return new m.mJ(e.raw,e.byteOffset,e.byteStride,e.byteOffset+e.byteStride*e.entryCount);case v.pe.UNSIGNED_SHORT:return new m.Yi(e.raw,e.byteOffset,e.byteStride,e.byteOffset+e.byteStride*e.entryCount);case v.pe.UNSIGNED_INT:return new m.An(e.raw,e.byteOffset,e.byteStride,e.byteOffset+e.byteStride*e.entryCount);case v.pe.FLOAT:return new m.gH(e.raw,e.byteOffset,e.byteStride,e.byteOffset+e.byteStride*e.entryCount)}}(n)}async getVertexColors(e,t,r){if(null==e.attributes.COLOR_0)throw new a.A("gltf-loader-error","No COLOR_0 vertex data found.");const o=e.attributes.COLOR_0,s=r?this.getDracoAccessor(o,r):await this.getAccessor(o,t);if(4!==s.componentCount&&3!==s.componentCount)throw new a.A("gltf-loader-unsupported-feature","COLOR_0 attribute must have 3 or 4 components, but found "+s.componentCount.toFixed());if(4===s.componentCount){if(s.componentType===v.pe.FLOAT)return F(m.Eq,s);if(s.componentType===v.pe.UNSIGNED_BYTE)return F(m.XP,s);if(s.componentType===v.pe.UNSIGNED_SHORT)return F(m.Uz,s)}else if(3===s.componentCount){if(s.componentType===v.pe.FLOAT)return F(m.xs,s);if(s.componentType===v.pe.UNSIGNED_BYTE)return F(m.eI,s);if(s.componentType===v.pe.UNSIGNED_SHORT)return F(m.nS,s)}throw new a.A("gltf-loader-unsupported-feature","Unsupported component type for COLOR_0 attribute: "+(0,n.i7)(v.pe,s.componentType))}hasPositions(e){return void 0!==e.attributes.POSITION}hasNormals(e){return void 0!==e.attributes.NORMAL}hasVertexColors(e){return void 0!==e.attributes.COLOR_0}hasTextureCoordinates(e){return void 0!==e.attributes.TEXCOORD_0}hasTangents(e){return void 0!==e.attributes.TANGENT}async getMaterial(e,t,r,o){let n=e.material?this._materialCache.get(e.material):void 0;if(!n){const s=null!=e.material?S(this.json.materials[e.material]):S(),a=s.pbrMetallicRoughness,i=this.hasVertexColors(e),u=this.getTexture(a.baseColorTexture,t),l=this.getTexture(s.normalTexture,t),c=r?this.getTexture(s.occlusionTexture,t):void 0,f=o?this.getTexture(s.emissiveTexture,t):void 0,d=r?this.getTexture(a.metallicRoughnessTexture,t):void 0,p=null!=e.material?e.material:-1;n={alphaMode:s.alphaMode,alphaCutoff:s.alphaCutoff,color:a.baseColorFactor,doubleSided:!!s.doubleSided,colorTexture:await u,normalTexture:await l,name:s.name,id:p,occlusionTexture:await c,emissiveTexture:await f,emissiveFactor:s.emissiveFactor,emissiveStrengthKHR:s.extensions?.KHR_materials_emissive_strength?.emissiveStrength,metallicFactor:a.metallicFactor,roughnessFactor:a.roughnessFactor,metallicRoughnessTexture:await d,hasVertexColors:i,ESRI_externalColorMixMode:s.extras.ESRI_externalColorMixMode,colorTextureTransform:a?.baseColorTexture?.extensions?.KHR_texture_transform,normalTextureTransform:s.normalTexture?.extensions?.KHR_texture_transform,occlusionTextureTransform:s.occlusionTexture?.extensions?.KHR_texture_transform,emissiveTextureTransform:s.emissiveTexture?.extensions?.KHR_texture_transform,metallicRoughnessTextureTransform:a?.metallicRoughnessTexture?.extensions?.KHR_texture_transform,receiveAmbientOcclusion:s.extras.ESRI_receiveAmbientOcclusion,receiveShadows:s.extras.ESRI_receiveShadows}}return n}async decode(e,t){const r=e.extensions?.KHR_draco_mesh_compression;if(!r)return;if(null==e.indices)throw new a.A("gltf-loader-error","Found Draco compressed primitive without indices.");const o=this.json.bufferViews[r.bufferView],n=await this.getBuffer(o.buffer,t),s=(await g()).decode(new Uint8Array(n.buffer,n.byteOffset+(o.byteOffset||0),o.byteLength));this._bufferLoaders.delete(o.buffer);const i=new Map([[e.indices,s.indices],[e.attributes.POSITION,s.positions]]);return e.attributes.TEXCOORD_0&&i.set(e.attributes.TEXCOORD_0,s.uvs),e.attributes.NORMAL&&i.set(e.attributes.NORMAL,s.normals),e.attributes.COLOR_0&&i.set(e.attributes.COLOR_0,s.colors),e.attributes.TANGENT&&i.set(e.attributes.TANGENT,s.tangents),this._dracoBuffersSize+=s.buffer.byteLength,{data:s.buffer,accessorInfos:i}}async getTexture(e,t){if(!e)return;if(0!==(e.texCoord||0))throw new a.A("gltf-loader-unsupported-feature","Only TEXCOORD with index 0 is supported.");const r=e.index,o=this.json.textures[r],n=(e=>({...A,...e}))(null!=o.sampler?this.json.samplers[o.sampler]:{}),s=D(o),u=this.json.images[s],l=await this._loadTextureImageData(r,o,t);return(0,i.tE)(this._textureCache,r,()=>{const e=e=>33071===e||33648===e||10497===e,t=e=>{throw new a.A("gltf-loader-error",`Unexpected TextureSampler WrapMode: ${e}`)};return{data:l,wrapS:e(n.wrapS)?n.wrapS:t(n.wrapS),wrapT:e(n.wrapT)?n.wrapT:t(n.wrapT),minFilter:n.minFilter,name:u.name,id:r}})}getNodeTransform(e){if(void 0===e)return C;let t=this._nodeTransformCache.get(e);if(!t){const r=this.getNodeTransform(this._getNodeParent(e)),o=this.json.nodes[e];o.matrix?t=(0,f.lw)((0,s.vt)(),r,o.matrix):o.translation||o.rotation||o.scale?(t=(0,s.o8)(r),o.translation&&(0,f.Tl)(t,t,o.translation),o.rotation&&(I[3]=(0,d.Xd)(I,o.rotation),(0,f.e$)(t,t,I[3],I)),o.scale&&(0,f.hs)(t,t,o.scale)):t=(0,s.o8)(r),this._nodeTransformCache.set(e,t)}return t}_resolveUri(e){return(0,l.s2)(e,this._baseUri)}_getNodeParent(e){return this._nodeParentMap.get(e)}_checkVersionSupported(){const e=c.A.parse(this.json.asset.version,"glTF");E.validate(e)}_checkRequiredExtensionsSupported(){const e=this.json;if(e.extensionsRequired&&!e.extensionsRequired.every(e=>this._supportedExtensions.includes(e)))throw new a.A("gltf-loader-unsupported-feature","gltf loader was not able to load unsupported feature. Required extensions: "+e.extensionsRequired.join(", "))}_computeNodeParents(){this.json.nodes.forEach((e,t)=>{e.children&&e.children.forEach(e=>{this._nodeParentMap.set(e,t)})})}async _loadTextureImageData(e,t,r){const o=this._textureLoaders.get(e);if(o)return o;const n=this._createTextureLoader(t,r);return this._textureLoaders.set(e,n),n}async _createTextureLoader(e,t){const r=D(e),o=this.json.images[r];if(o.uri){if(o.uri.endsWith(".ktx2")){const e=await this._context.loadBinary(this._resolveUri(o.uri),t);return new O.Xi(new Uint8Array(e))}return this._context.loadImage(this._resolveUri(o.uri),t)}if(null==o.bufferView)throw new a.A("gltf-loader-unsupported-feature","Image bufferView must be defined.");if(null==o.mimeType)throw new a.A("gltf-loader-unsupported-feature","Image mimeType must be defined.");const n=this.json.bufferViews[o.bufferView],s=await this.getBuffer(n.buffer,t);if(null!=n.byteStride)throw new a.A("gltf-loader-unsupported-feature","byteStride not supported for image buffer");const i=s.byteOffset+(n.byteOffset||0);return(0,O.pn)(new Uint8Array(s.buffer,i,n.byteLength),o.mimeType)}async getLoadedBuffersSize(){if(this._glbBuffer)return this._glbBuffer.byteLength;const e=await(0,u.nA)(Array.from(this._bufferLoaders.values())),t=await(0,u.nA)(Array.from(this._textureLoaders.values()));return e.reduce((e,t)=>e+(t?.byteLength??0),0)+this._dracoBuffersSize+t.reduce((e,t)=>e+(t?(0,O.x3)(t)?t.data.byteLength:t.width*t.height*4:0),0)}}const C=(0,f.hM)((0,s.vt)(),Math.PI/2),E=new c.A(2,0,"glTF"),I=(0,p.vt)(),L={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},M={[v.pe.BYTE]:1,[v.pe.UNSIGNED_BYTE]:1,[v.pe.SHORT]:2,[v.pe.UNSIGNED_SHORT]:2,[v.pe.HALF_FLOAT]:2,[v.pe.FLOAT]:4,[v.pe.INT]:4,[v.pe.UNSIGNED_INT]:4};function F(e,t){return new e(t.raw,t.byteOffset,t.byteStride,t.byteOffset+t.byteStride*(t.entryCount-1)+t.componentByteSize*t.componentCount)}function D(e){if(null!=e.extensions?.KHR_texture_basisu)return e.extensions.KHR_texture_basisu.source;if(null!==e.source)return e.source;throw new a.A("gltf-loader-unsupported-feature","Source is expected to be defined for a texture. It can also be omitted in favour of an KHR_texture_basisu extension tag.")}const U=/\.gltf$/i,B=/\.glb$/i;let G=0;async function P(e,t,r={},a=!0,i=!0){const u=await N.load(e,t,r),l="gltf_"+G++,c={lods:[],materials:new Map,textures:new Map,meta:H(u)},f=!(!u.json.asset.extras||"symbolResource"!==u.json.asset.extras.ESRI_type),d=u.json.asset.extras?.ESRI_webstyleSymbol?.webstyle,p=new Map;let m=!1;await j(u,async(e,t,f,d)=>{const h=p.get(f)??0;p.set(f,h+1);const T=void 0!==e.mode?e.mode:v.WR.TRIANGLES,w=T===v.WR.TRIANGLES||T===v.WR.TRIANGLE_STRIP||T===v.WR.TRIANGLE_FAN?T:null;if(null==w)return void o.A.getLogger("esri.views.3d.glTF").warn("[Unsupported Feature] Unsupported primitive mode ("+(0,n.i7)(v.WR,T)+"). Skipping primitive.");if(!u.hasPositions(e))return void o.A.getLogger("esri.views.3d.glTF").warn("Skipping primitive without POSITION vertex attribute.");const g=await u.decode(e,r);m||=!!g;const b=u.getPositionData(e,r,g),y=u.getMaterial(e,r,a,i),x=u.hasNormals(e)?u.getNormalData(e,r,g):null,_=u.hasTangents(e)?u.getTangentData(e,r,g):null,S=u.hasTextureCoordinates(e)?u.getTextureCoordinates(e,r,g):null,A=u.hasVertexColors(e)?u.getVertexColors(e,r,g):null,O=u.getIndexData(e,r,g),R={name:d,transform:(0,s.o8)(t),attributes:{position:await b,normal:x?await x:null,texCoord0:S?await S:null,color:A?await A:null,tangent:_?await _:null},indices:await O,primitiveType:w,material:V(c,await y,l)};let N=null;null!=c.meta?.ESRI_lod&&"screenSpaceRadius"===c.meta.ESRI_lod.metric&&(N=c.meta.ESRI_lod.thresholds[f]),c.lods[f]=c.lods[f]||{parts:[],name:d,lodThreshold:N},c.lods[f].parts[h]=R});for(const e of c.lods)e.parts=e.parts.filter(e=>!!e);const h=await u.getLoadedBuffersSize();return{model:c,meta:{isEsriSymbolResource:f,uri:u.uri,ESRI_webstyle:d,isDracoDecompressed:m},customMeta:{},usedMemory:h}}function H(e){const t=e.json;let r=null;return t.nodes.forEach(e=>{const t=e.extras;null!=t&&(t.ESRI_proxyEllipsoid||t.ESRI_lod)&&(r=t)}),r}async function j(e,t){const r=e.json,n=r.scenes[r.scene||0].nodes,s=n.length>1,a=[];for(const e of n){const t=r.nodes[e];a.push(i(e,0)),k(t)&&!s&&t.extensions.MSFT_lod.ids.forEach((e,t)=>i(e,t+1))}async function i(n,s){const u=r.nodes[n],l=e.getNodeTransform(n);if(null!=u.weights&&o.A.getLogger("esri.views.3d.glTF").warn("[Unsupported Feature] Morph targets are not supported."),null!=u.mesh){const e=r.meshes[u.mesh];for(const r of e.primitives)a.push(t(r,l,s,e.name))}for(const e of u.children||[])a.push(i(e,s))}await Promise.all(a)}function k(e){return e.extensions?.MSFT_lod&&Array.isArray(e.extensions.MSFT_lod.ids)}function V(e,t,r){const o=t=>{const o=`${r}_tex_${t&&t.id}${t?.name?"_"+t.name:""}`;if(t&&!e.textures.has(o)){const r=function(e,t={}){return{data:e,parameters:{wrap:{s:10497,t:10497,...t.wrap},noUnpackFlip:!0,mipmap:!1,...t}}}(t.data,{wrap:{s:t.wrapS,t:t.wrapT},mipmap:z.has(t.minFilter),noUnpackFlip:!0});e.textures.set(o,r)}return o},n=`${r}_mat_${t.id}_${t.name}`;if(!e.materials.has(n)){const r=function(e={}){return{color:[1,1,1],opacity:1,alphaMode:"OPAQUE",alphaCutoff:.5,doubleSided:!1,castShadows:!0,receiveShadows:!0,receiveAmbientOcclusion:!0,colorTexture:null,normalTexture:null,occlusionTexture:null,emissiveTexture:null,emissiveStrengthKHR:null,metallicRoughnessTexture:null,colorTextureTransform:null,normalTextureTransform:null,occlusionTextureTransform:null,emissiveTextureTransform:null,metallicRoughnessTextureTransform:null,emissiveFactor:[0,0,0],metallicFactor:1,roughnessFactor:1,colorMixMode:"multiply",...e}}({color:[t.color[0],t.color[1],t.color[2]],opacity:t.color[3],alphaMode:t.alphaMode,alphaCutoff:t.alphaCutoff,doubleSided:t.doubleSided,colorMixMode:t.ESRI_externalColorMixMode,colorTexture:t.colorTexture?o(t.colorTexture):void 0,normalTexture:t.normalTexture?o(t.normalTexture):void 0,occlusionTexture:t.occlusionTexture?o(t.occlusionTexture):void 0,emissiveTexture:t.emissiveTexture?o(t.emissiveTexture):void 0,metallicRoughnessTexture:t.metallicRoughnessTexture?o(t.metallicRoughnessTexture):void 0,emissiveFactor:[t.emissiveFactor[0],t.emissiveFactor[1],t.emissiveFactor[2]],emissiveStrengthKHR:t.emissiveStrengthKHR,colorTextureTransform:t.colorTextureTransform,normalTextureTransform:t.normalTextureTransform,occlusionTextureTransform:t.occlusionTextureTransform,emissiveTextureTransform:t.emissiveTextureTransform,metallicRoughnessTextureTransform:t.metallicRoughnessTextureTransform,metallicFactor:t.metallicFactor,roughnessFactor:t.roughnessFactor,receiveShadows:t.receiveShadows,receiveAmbientOcclusion:t.receiveAmbientOcclusion});e.materials.set(n,r)}return n}const z=new Set([9987,9985])}}]);
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[1698],{24045(e,t,r){function o(e,t){const r=e.count;t||(t=new e.TypedArrayConstructor(r));for(let o=0;o<r;o++)t[o]=e.get(o);return t}r.d(t,{m:()=>o}),Object.freeze(Object.defineProperty({__proto__:null,makeDense:o},Symbol.toStringTag,{value:"Module"}))},51698(e,t,r){r.d(t,{loadGLTF:()=>P});var o=r(53966),n=r(93637),s=r(9093),a=r(49186),i=r(91869),u=r(17676),l=r(84952),c=r(46140),f=r(58083),d=r(67026),p=r(82534),m=r(13030),h=r(24045),T=r(2741);let w;function g(){return w??=(async()=>{const{default:e}=await r.e(2423).then(r.bind(r,2423));return await e({locateFile:e=>(0,T.s)(`esri/libs/dracoMeshDecoder/${e}`)})})(),w}class b{constructor(e){this._data=e,this._offset4=0,this._dataUint32=new Uint32Array(this._data,0,Math.floor(this._data.byteLength/4))}readUint32(){const e=this._offset4;return this._offset4+=1,this._dataUint32[e]}readUint8Array(e){const t=4*this._offset4;return this._offset4+=e/4,new Uint8Array(this._data,t,e)}remainingBytes(){return this._data.byteLength-4*this._offset4}}const y={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1},x={pbrMetallicRoughness:y,emissiveFactor:[0,0,0],alphaMode:"OPAQUE",alphaCutoff:.5,doubleSided:!1},_={ESRI_externalColorMixMode:"tint",ESRI_receiveShadows:!0,ESRI_receiveAmbientOcclusion:!0},S=(e={})=>{const t={...y,...e.pbrMetallicRoughness},r=function(e){switch(e.ESRI_externalColorMixMode){case"multiply":case"tint":case"ignore":case"replace":break;default:e.ESRI_externalColorMixMode,e.ESRI_externalColorMixMode="tint"}return e}({..._,...e.extras});return{...x,...e,pbrMetallicRoughness:t,extras:r}},A={magFilter:9729,minFilter:9987,wrapS:10497,wrapT:10497};var O=r(51530),v=r(63907);const R=1179937895;class N{constructor(e,t,r,o){if(this._context=e,this.uri=t,this.json=r,this._glbBuffer=o,this._bufferLoaders=new Map,this._textureLoaders=new Map,this._dracoBuffersSize=0,this._textureCache=new Map,this._materialCache=new Map,this._nodeParentMap=new Map,this._nodeTransformCache=new Map,this._supportedExtensions=["KHR_texture_basisu","KHR_texture_transform","KHR_draco_mesh_compression","KHR_materials_emissive_strength"],this._baseUri=function(e){let t,r;return e.replace(/^(.*\/)?([^/]*)$/,(e,o,n)=>(t=o||"",r=n||"","")),{dirPart:t,filePart:r}}(this.uri).dirPart,this._checkVersionSupported(),this._checkRequiredExtensionsSupported(),null==r.scenes)throw new a.A("gltf-loader-unsupported-feature","Scenes must be defined.");if(null==r.meshes)throw new a.A("gltf-loader-unsupported-feature","Meshes must be defined");if(null==r.nodes)throw new a.A("gltf-loader-unsupported-feature","Nodes must be defined.");this._computeNodeParents()}static async load(e,t,r){if((0,l.DB)(t)){const r=(0,l.r$)(t);if(r&&"model/gltf-binary"!==r.mediaType)try{const o=JSON.parse(r.isBase64?atob(r.data):r.data);return new N(e,t,o)}catch{}const o=(0,l.lJ)(t);if(N._isGLBData(o))return this._fromGLBData(e,t,o)}if(U.test(t)||"gltf"===r?.expectedType){const o=await e.loadJSON(t,r);return new N(e,t,o)}const o=await e.loadBinary(t,r);if(N._isGLBData(o))return this._fromGLBData(e,t,o);if(B.test(t)||"glb"===r?.expectedType)throw new a.A("gltf-loader-invalid-glb","This is not a valid glb file.");const n=await e.loadJSON(t,r);return new N(e,t,n)}static _isGLBData(e){if(null==e)return!1;const t=new b(e);return t.remainingBytes()>=4&&t.readUint32()===R}static async _fromGLBData(e,t,r){const o=await N._parseGLBData(r);return new N(e,t,o.json,o.binaryData)}static async _parseGLBData(e){const t=new b(e);if(t.remainingBytes()<12)throw new a.A("gltf-loader-error","glb binary data is insufficiently large.");const r=t.readUint32(),n=t.readUint32(),s=t.readUint32();if(r!==R)throw new a.A("gltf-loader-error","Magic first 4 bytes do not fit to expected glb value.");if(e.byteLength<s)throw new a.A("gltf-loader-error","glb binary data is smaller than header specifies.");if(2!==n)throw new a.A("gltf-loader-unsupported-feature","An unsupported glb container version was detected. Only version 2 is supported.");let i,u,l=0;for(;t.remainingBytes()>=8;){const e=t.readUint32(),r=t.readUint32();if(0===l){if(1313821514!==r)throw new a.A("gltf-loader-error","First glb chunk must be JSON.");if(e<0)throw new a.A("gltf-loader-error","No JSON data found.");i=await(0,O.KB)(t.readUint8Array(e))}else if(1===l){if(5130562!==r)throw new a.A("gltf-loader-unsupported-feature","Second glb chunk expected to be BIN.");u=t.readUint8Array(e)}else o.A.getLogger("esri.views.3d.glTF").warn("[Unsupported Feature] More than 2 glb chunks detected. Skipping.");l+=1}if(!i)throw new a.A("gltf-loader-error","No glb JSON chunk detected.");return{json:i,binaryData:u}}async getBuffer(e,t){const r=this.json.buffers[e];if(null==r.uri){if(null==this._glbBuffer)throw new a.A("gltf-loader-error","glb buffer not present");return this._glbBuffer}const o=await this._getBufferLoader(e,t);if(o.byteLength!==r.byteLength)throw new a.A("gltf-loader-error","Buffer byte lengths should match.");return o}async _getBufferLoader(e,t){const r=this._bufferLoaders.get(e);if(r)return r;const o=this.json.buffers[e].uri,n=this._context.loadBinary(this._resolveUri(o),t).then(e=>new Uint8Array(e));return this._bufferLoaders.set(e,n),n}_validateAccessor(e){if(!this.json.accessors)throw new a.A("gltf-loader-unsupported-feature","Accessors missing.");const t=this.json.accessors[e];if(t.type in["MAT2","MAT3","MAT4"])throw new a.A("gltf-loader-unsupported-feature",`AttributeType ${t.type} is not supported`);return t}_getComponentInfo(e,t){const r=L[e.type],o=t?.componentType||e.componentType,n=M[o];return{componentType:o,componentCount:r,componentByteSize:n,denseByteStride:r*n}}getDracoAccessor(e,t){const r=this._validateAccessor(e),o=t.accessorInfos.get(e),{componentType:n,componentCount:s,componentByteSize:a,denseByteStride:i}=this._getComponentInfo(r,o);return{raw:t.data.buffer,byteStride:i,byteOffset:t.data.byteOffset+(o?.byteOffset||0),entryCount:o?.count??r.count,isDenselyPacked:!0,componentCount:s,componentByteSize:a,componentType:n,min:r.min,max:r.max,normalized:!!r.normalized}}async getAccessor(e,t){const r=this._validateAccessor(e);if(null==r?.bufferView)throw new a.A("gltf-loader-unsupported-feature","Some accessor does not specify a bufferView.");const{componentCount:o,componentByteSize:n,denseByteStride:s}=this._getComponentInfo(r),i=this.json.bufferViews[r.bufferView],u=await this.getBuffer(i.buffer,t),l=i.byteStride||s;return{raw:u.buffer,byteStride:l,byteOffset:u.byteOffset+(i.byteOffset||0)+(r.byteOffset||0),entryCount:r.count,isDenselyPacked:l===s,componentCount:o,componentByteSize:n,componentType:r.componentType,min:r.min,max:r.max,normalized:!!r.normalized}}async getIndexData(e,t,r){if(null==e.indices)return;const o=e.indices,n=r?this.getDracoAccessor(o,r):await this.getAccessor(o,t);if(n.isDenselyPacked)switch(n.componentType){case v.pe.UNSIGNED_BYTE:return new Uint8Array(n.raw,n.byteOffset,n.entryCount);case v.pe.UNSIGNED_SHORT:return new Uint16Array(n.raw,n.byteOffset,n.entryCount);case v.pe.UNSIGNED_INT:return new Uint32Array(n.raw,n.byteOffset,n.entryCount)}else switch(n.componentType){case v.pe.UNSIGNED_BYTE:return(0,h.m)(F(m.SL,n));case v.pe.UNSIGNED_SHORT:return(0,h.m)(F(m.h,n));case v.pe.UNSIGNED_INT:return(0,h.m)(F(m.P,n))}}async getPositionData(e,t,r){if(null==e.attributes.POSITION)throw new a.A("gltf-loader-unsupported-feature","No POSITION vertex data found.");const o=e.attributes.POSITION,s=r?this.getDracoAccessor(o,r):await this.getAccessor(o,t);if(s.componentType!==v.pe.FLOAT)throw new a.A("gltf-loader-unsupported-feature","Expected type FLOAT for POSITION vertex attribute, but found "+(0,n.i7)(v.pe,s.componentType));if(3!==s.componentCount)throw new a.A("gltf-loader-unsupported-feature","POSITION vertex attribute must have 3 components, but found "+s.componentCount.toFixed());return F(m.xs,s)}async getNormalData(e,t,r){if(null==e.attributes.NORMAL)throw new a.A("gltf-loader-error","No NORMAL vertex data found.");const o=e.attributes.NORMAL,s=r?this.getDracoAccessor(o,r):await this.getAccessor(o,t);if(s.componentType!==v.pe.FLOAT)throw new a.A("gltf-loader-unsupported-feature","Expected type FLOAT for NORMAL vertex attribute, but found "+(0,n.i7)(v.pe,s.componentType));if(3!==s.componentCount)throw new a.A("gltf-loader-unsupported-feature","NORMAL vertex attribute must have 3 components, but found "+s.componentCount.toFixed());return F(m.xs,s)}async getTangentData(e,t,r){if(null==e.attributes.TANGENT)throw new a.A("gltf-loader-error","No TANGENT vertex data found.");const o=e.attributes.TANGENT,s=r?this.getDracoAccessor(o,r):await this.getAccessor(o,t);if(s.componentType!==v.pe.FLOAT)throw new a.A("gltf-loader-unsupported-feature","Expected type FLOAT for TANGENT vertex attribute, but found "+(0,n.i7)(v.pe,s.componentType));if(4!==s.componentCount)throw new a.A("gltf-loader-unsupported-feature","TANGENT vertex attribute must have 4 components, but found "+s.componentCount.toFixed());return F(m.Eq,s)}async getTextureCoordinates(e,t,r){if(null==e.attributes.TEXCOORD_0)throw new a.A("gltf-loader-error","No TEXCOORD_0 vertex data found.");const o=e.attributes.TEXCOORD_0,n=r?this.getDracoAccessor(o,r):await this.getAccessor(o,t);if(2!==n.componentCount)throw new a.A("gltf-loader-unsupported-feature","TEXCOORD_0 vertex attribute must have 2 components, but found "+n.componentCount.toFixed());if(n.componentType===v.pe.FLOAT)return F(m.gH,n);if(!n.normalized)throw new a.A("gltf-loader-unsupported-feature","Integer component types are only supported for a normalized accessor for TEXCOORD_0.");return function(e){switch(e.componentType){case v.pe.BYTE:return new m.D6(e.raw,e.byteOffset,e.byteStride,e.byteOffset+e.byteStride*e.entryCount);case v.pe.UNSIGNED_BYTE:return new m.LC(e.raw,e.byteOffset,e.byteStride,e.byteOffset+e.byteStride*e.entryCount);case v.pe.SHORT:return new m.mJ(e.raw,e.byteOffset,e.byteStride,e.byteOffset+e.byteStride*e.entryCount);case v.pe.UNSIGNED_SHORT:return new m.Yi(e.raw,e.byteOffset,e.byteStride,e.byteOffset+e.byteStride*e.entryCount);case v.pe.UNSIGNED_INT:return new m.An(e.raw,e.byteOffset,e.byteStride,e.byteOffset+e.byteStride*e.entryCount);case v.pe.FLOAT:return new m.gH(e.raw,e.byteOffset,e.byteStride,e.byteOffset+e.byteStride*e.entryCount)}}(n)}async getVertexColors(e,t,r){if(null==e.attributes.COLOR_0)throw new a.A("gltf-loader-error","No COLOR_0 vertex data found.");const o=e.attributes.COLOR_0,s=r?this.getDracoAccessor(o,r):await this.getAccessor(o,t);if(4!==s.componentCount&&3!==s.componentCount)throw new a.A("gltf-loader-unsupported-feature","COLOR_0 attribute must have 3 or 4 components, but found "+s.componentCount.toFixed());if(4===s.componentCount){if(s.componentType===v.pe.FLOAT)return F(m.Eq,s);if(s.componentType===v.pe.UNSIGNED_BYTE)return F(m.XP,s);if(s.componentType===v.pe.UNSIGNED_SHORT)return F(m.Uz,s)}else if(3===s.componentCount){if(s.componentType===v.pe.FLOAT)return F(m.xs,s);if(s.componentType===v.pe.UNSIGNED_BYTE)return F(m.eI,s);if(s.componentType===v.pe.UNSIGNED_SHORT)return F(m.nS,s)}throw new a.A("gltf-loader-unsupported-feature","Unsupported component type for COLOR_0 attribute: "+(0,n.i7)(v.pe,s.componentType))}hasPositions(e){return void 0!==e.attributes.POSITION}hasNormals(e){return void 0!==e.attributes.NORMAL}hasVertexColors(e){return void 0!==e.attributes.COLOR_0}hasTextureCoordinates(e){return void 0!==e.attributes.TEXCOORD_0}hasTangents(e){return void 0!==e.attributes.TANGENT}async getMaterial(e,t,r,o){let n=e.material?this._materialCache.get(e.material):void 0;if(!n){const s=null!=e.material?S(this.json.materials[e.material]):S(),a=s.pbrMetallicRoughness,i=this.hasVertexColors(e),u=this.getTexture(a.baseColorTexture,t),l=this.getTexture(s.normalTexture,t),c=r?this.getTexture(s.occlusionTexture,t):void 0,f=o?this.getTexture(s.emissiveTexture,t):void 0,d=r?this.getTexture(a.metallicRoughnessTexture,t):void 0,p=null!=e.material?e.material:-1;n={alphaMode:s.alphaMode,alphaCutoff:s.alphaCutoff,color:a.baseColorFactor,doubleSided:!!s.doubleSided,colorTexture:await u,normalTexture:await l,name:s.name,id:p,occlusionTexture:await c,emissiveTexture:await f,emissiveFactor:s.emissiveFactor,emissiveStrengthKHR:s.extensions?.KHR_materials_emissive_strength?.emissiveStrength,metallicFactor:a.metallicFactor,roughnessFactor:a.roughnessFactor,metallicRoughnessTexture:await d,hasVertexColors:i,ESRI_externalColorMixMode:s.extras.ESRI_externalColorMixMode,colorTextureTransform:a?.baseColorTexture?.extensions?.KHR_texture_transform,normalTextureTransform:s.normalTexture?.extensions?.KHR_texture_transform,occlusionTextureTransform:s.occlusionTexture?.extensions?.KHR_texture_transform,emissiveTextureTransform:s.emissiveTexture?.extensions?.KHR_texture_transform,metallicRoughnessTextureTransform:a?.metallicRoughnessTexture?.extensions?.KHR_texture_transform,receiveAmbientOcclusion:s.extras.ESRI_receiveAmbientOcclusion,receiveShadows:s.extras.ESRI_receiveShadows}}return n}async decode(e,t){const r=e.extensions?.KHR_draco_mesh_compression;if(!r)return;if(null==e.indices)throw new a.A("gltf-loader-error","Found Draco compressed primitive without indices.");const o=this.json.bufferViews[r.bufferView],n=await this.getBuffer(o.buffer,t),s=(await g()).decode(new Uint8Array(n.buffer,n.byteOffset+(o.byteOffset||0),o.byteLength));this._bufferLoaders.delete(o.buffer);const i=new Map([[e.indices,s.indices],[e.attributes.POSITION,s.positions]]);return e.attributes.TEXCOORD_0&&i.set(e.attributes.TEXCOORD_0,s.uvs),e.attributes.NORMAL&&i.set(e.attributes.NORMAL,s.normals),e.attributes.COLOR_0&&i.set(e.attributes.COLOR_0,s.colors),e.attributes.TANGENT&&i.set(e.attributes.TANGENT,s.tangents),this._dracoBuffersSize+=s.buffer.byteLength,{data:s.buffer,accessorInfos:i}}async getTexture(e,t){if(!e)return;if(0!==(e.texCoord||0))throw new a.A("gltf-loader-unsupported-feature","Only TEXCOORD with index 0 is supported.");const r=e.index,o=this.json.textures[r],n=(e=>({...A,...e}))(null!=o.sampler?this.json.samplers[o.sampler]:{}),s=D(o),u=this.json.images[s],l=await this._loadTextureImageData(r,o,t);return(0,i.tE)(this._textureCache,r,()=>{const e=e=>33071===e||33648===e||10497===e,t=e=>{throw new a.A("gltf-loader-error",`Unexpected TextureSampler WrapMode: ${e}`)};return{data:l,wrapS:e(n.wrapS)?n.wrapS:t(n.wrapS),wrapT:e(n.wrapT)?n.wrapT:t(n.wrapT),minFilter:n.minFilter,name:u.name,id:r}})}getNodeTransform(e){if(void 0===e)return C;let t=this._nodeTransformCache.get(e);if(!t){const r=this.getNodeTransform(this._getNodeParent(e)),o=this.json.nodes[e];o.matrix?t=(0,f.lw)((0,s.vt)(),r,o.matrix):o.translation||o.rotation||o.scale?(t=(0,s.o8)(r),o.translation&&(0,f.Tl)(t,t,o.translation),o.rotation&&(I[3]=(0,d.Xd)(I,o.rotation),(0,f.e$)(t,t,I[3],I)),o.scale&&(0,f.hs)(t,t,o.scale)):t=(0,s.o8)(r),this._nodeTransformCache.set(e,t)}return t}_resolveUri(e){return(0,l.s2)(e,this._baseUri)}_getNodeParent(e){return this._nodeParentMap.get(e)}_checkVersionSupported(){const e=c.A.parse(this.json.asset.version,"glTF");E.validate(e)}_checkRequiredExtensionsSupported(){const e=this.json;if(e.extensionsRequired&&!e.extensionsRequired.every(e=>this._supportedExtensions.includes(e)))throw new a.A("gltf-loader-unsupported-feature","gltf loader was not able to load unsupported feature. Required extensions: "+e.extensionsRequired.join(", "))}_computeNodeParents(){this.json.nodes.forEach((e,t)=>{e.children&&e.children.forEach(e=>{this._nodeParentMap.set(e,t)})})}async _loadTextureImageData(e,t,r){const o=this._textureLoaders.get(e);if(o)return o;const n=this._createTextureLoader(t,r);return this._textureLoaders.set(e,n),n}async _createTextureLoader(e,t){const r=D(e),o=this.json.images[r];if(o.uri){if(o.uri.endsWith(".ktx2")){const e=await this._context.loadBinary(this._resolveUri(o.uri),t);return new O.Xi(new Uint8Array(e))}return this._context.loadImage(this._resolveUri(o.uri),t)}if(null==o.bufferView)throw new a.A("gltf-loader-unsupported-feature","Image bufferView must be defined.");if(null==o.mimeType)throw new a.A("gltf-loader-unsupported-feature","Image mimeType must be defined.");const n=this.json.bufferViews[o.bufferView],s=await this.getBuffer(n.buffer,t);if(null!=n.byteStride)throw new a.A("gltf-loader-unsupported-feature","byteStride not supported for image buffer");const i=s.byteOffset+(n.byteOffset||0);return(0,O.pn)(new Uint8Array(s.buffer,i,n.byteLength),o.mimeType)}async getLoadedBuffersSize(){if(this._glbBuffer)return this._glbBuffer.byteLength;const e=await(0,u.nA)(Array.from(this._bufferLoaders.values())),t=await(0,u.nA)(Array.from(this._textureLoaders.values()));return e.reduce((e,t)=>e+(t?.byteLength??0),0)+this._dracoBuffersSize+t.reduce((e,t)=>e+(t?(0,O.x3)(t)?t.data.byteLength:t.width*t.height*4:0),0)}}const C=(0,f.hM)((0,s.vt)(),Math.PI/2),E=new c.A(2,0,"glTF"),I=(0,p.vt)(),L={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},M={[v.pe.BYTE]:1,[v.pe.UNSIGNED_BYTE]:1,[v.pe.SHORT]:2,[v.pe.UNSIGNED_SHORT]:2,[v.pe.HALF_FLOAT]:2,[v.pe.FLOAT]:4,[v.pe.INT]:4,[v.pe.UNSIGNED_INT]:4};function F(e,t){return new e(t.raw,t.byteOffset,t.byteStride,t.byteOffset+t.byteStride*(t.entryCount-1)+t.componentByteSize*t.componentCount)}function D(e){if(null!=e.extensions?.KHR_texture_basisu)return e.extensions.KHR_texture_basisu.source;if(null!==e.source)return e.source;throw new a.A("gltf-loader-unsupported-feature","Source is expected to be defined for a texture. It can also be omitted in favour of an KHR_texture_basisu extension tag.")}const U=/\.gltf$/i,B=/\.glb$/i;let G=0;async function P(e,t,r={},a=!0,i=!0){const u=await N.load(e,t,r),l="gltf_"+G++,c={lods:[],materials:new Map,textures:new Map,meta:H(u)},f=!(!u.json.asset.extras||"symbolResource"!==u.json.asset.extras.ESRI_type),d=u.json.asset.extras?.ESRI_webstyleSymbol?.webstyle,p=new Map;let m=!1;await j(u,async(e,t,f,d)=>{const h=p.get(f)??0;p.set(f,h+1);const T=void 0!==e.mode?e.mode:v.WR.TRIANGLES,w=T===v.WR.TRIANGLES||T===v.WR.TRIANGLE_STRIP||T===v.WR.TRIANGLE_FAN?T:null;if(null==w)return void o.A.getLogger("esri.views.3d.glTF").warn("[Unsupported Feature] Unsupported primitive mode ("+(0,n.i7)(v.WR,T)+"). Skipping primitive.");if(!u.hasPositions(e))return void o.A.getLogger("esri.views.3d.glTF").warn("Skipping primitive without POSITION vertex attribute.");const g=await u.decode(e,r);m||=!!g;const b=u.getPositionData(e,r,g),y=u.getMaterial(e,r,a,i),x=u.hasNormals(e)?u.getNormalData(e,r,g):null,_=u.hasTangents(e)?u.getTangentData(e,r,g):null,S=u.hasTextureCoordinates(e)?u.getTextureCoordinates(e,r,g):null,A=u.hasVertexColors(e)?u.getVertexColors(e,r,g):null,O=u.getIndexData(e,r,g),R={name:d,transform:(0,s.o8)(t),attributes:{position:await b,normal:x?await x:null,texCoord0:S?await S:null,color:A?await A:null,tangent:_?await _:null},indices:await O,primitiveType:w,material:V(c,await y,l)};let N=null;null!=c.meta?.ESRI_lod&&"screenSpaceRadius"===c.meta.ESRI_lod.metric&&(N=c.meta.ESRI_lod.thresholds[f]),c.lods[f]=c.lods[f]||{parts:[],name:d,lodThreshold:N},c.lods[f].parts[h]=R});for(const e of c.lods)e.parts=e.parts.filter(e=>!!e);const h=await u.getLoadedBuffersSize();return{model:c,meta:{isEsriSymbolResource:f,uri:u.uri,ESRI_webstyle:d,isDracoDecompressed:m},customMeta:{},usedMemory:h}}function H(e){const t=e.json;let r=null;return t.nodes.forEach(e=>{const t=e.extras;null!=t&&(t.ESRI_proxyEllipsoid||t.ESRI_lod)&&(r=t)}),r}async function j(e,t){const r=e.json,n=r.scenes[r.scene||0].nodes,s=n.length>1,a=[];for(const e of n){const t=r.nodes[e];a.push(i(e,0)),k(t)&&!s&&t.extensions.MSFT_lod.ids.forEach((e,t)=>i(e,t+1))}async function i(n,s){const u=r.nodes[n],l=e.getNodeTransform(n);if(null!=u.weights&&o.A.getLogger("esri.views.3d.glTF").warn("[Unsupported Feature] Morph targets are not supported."),null!=u.mesh){const e=r.meshes[u.mesh];for(const r of e.primitives)a.push(t(r,l,s,e.name))}for(const e of u.children||[])a.push(i(e,s))}await Promise.all(a)}function k(e){return e.extensions?.MSFT_lod&&Array.isArray(e.extensions.MSFT_lod.ids)}function V(e,t,r){const o=t=>{const o=`${r}_tex_${t&&t.id}${t?.name?"_"+t.name:""}`;if(t&&!e.textures.has(o)){const r=function(e,t={}){return{data:e,parameters:{wrap:{s:10497,t:10497,...t.wrap},noUnpackFlip:!0,mipmap:!1,...t}}}(t.data,{wrap:{s:t.wrapS,t:t.wrapT},mipmap:z.has(t.minFilter),noUnpackFlip:!0});e.textures.set(o,r)}return o},n=`${r}_mat_${t.id}_${t.name}`;if(!e.materials.has(n)){const r=function(e={}){return{color:[1,1,1],opacity:1,alphaMode:"OPAQUE",alphaCutoff:.5,doubleSided:!1,castShadows:!0,receiveShadows:!0,receiveAmbientOcclusion:!0,colorTexture:null,normalTexture:null,occlusionTexture:null,emissiveTexture:null,emissiveStrengthKHR:null,metallicRoughnessTexture:null,colorTextureTransform:null,normalTextureTransform:null,occlusionTextureTransform:null,emissiveTextureTransform:null,metallicRoughnessTextureTransform:null,emissiveFactor:[0,0,0],metallicFactor:1,roughnessFactor:1,colorMixMode:"multiply",...e}}({color:[t.color[0],t.color[1],t.color[2]],opacity:t.color[3],alphaMode:t.alphaMode,alphaCutoff:t.alphaCutoff,doubleSided:t.doubleSided,colorMixMode:t.ESRI_externalColorMixMode,colorTexture:t.colorTexture?o(t.colorTexture):void 0,normalTexture:t.normalTexture?o(t.normalTexture):void 0,occlusionTexture:t.occlusionTexture?o(t.occlusionTexture):void 0,emissiveTexture:t.emissiveTexture?o(t.emissiveTexture):void 0,metallicRoughnessTexture:t.metallicRoughnessTexture?o(t.metallicRoughnessTexture):void 0,emissiveFactor:[t.emissiveFactor[0],t.emissiveFactor[1],t.emissiveFactor[2]],emissiveStrengthKHR:t.emissiveStrengthKHR,colorTextureTransform:t.colorTextureTransform,normalTextureTransform:t.normalTextureTransform,occlusionTextureTransform:t.occlusionTextureTransform,emissiveTextureTransform:t.emissiveTextureTransform,metallicRoughnessTextureTransform:t.metallicRoughnessTextureTransform,metallicFactor:t.metallicFactor,roughnessFactor:t.roughnessFactor,receiveShadows:t.receiveShadows,receiveAmbientOcclusion:t.receiveAmbientOcclusion});e.materials.set(n,r)}return n}const z=new Set([9987,9985])}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[7867],{66344(e,t,s){s.d(t,{q:()=>a});const i=!!(0,s(44208).A)("esri-tests-disable-gpu-memory-measurements");Symbol.iterator;class r{get size(){return this._size}constructor(e=10485760,t=.3){this._maxSize=e,this._maxClientSizeRatio=t,this._db=new Map,this._size=0,this._hit=0,this._miss=0,this._clients=new Map,this._sizeLimits=new Map}destroy(){this.clearAll(),this._sizeLimits.clear(),this._clients.clear(),this._db.clear()}register(e){this._clients.set(e.id.slice(0,-1),e)}deregister(e){this.clear(e),this._sizeLimits.delete(e),this._clients.delete(e.id.slice(0,-1))}get maxSize(){return this._maxSize}set maxSize(e){this._maxSize=Math.max(e,-1),this._checkSize()}get _maxClientSize(){return this._maxSize*this._maxClientSizeRatio}getSize(e,t){const s=this._db.get(e.id+t);return s?.size??0}put(e,t,s,r,o){t=e.id+t;const a=this._db.get(t);if(a&&(this._size-=a.size,e.size-=a.size,this._db.delete(t),a.entry!==s&&this._notifyRemove(t,a.entry,a.size,0)),r>this._maxSize)return void this._notifyRemove(t,s,r,0);if(void 0===s)return void console.warn("Refusing to cache undefined entry ");if(!r||r<0)return i||console.warn(`Refusing to cache entry with size ${r} for key ${t}`),void this._notifyRemove(t,s,0,0);const l=1+Math.max(o,-4)- -3;this._db.set(t,new n(s,r,l)),this._size+=r,e.size+=r,this._checkSize()}updateSize(e,t){t=e.id+t;const s=this._db.get(t);if(!s)return;this._size-=s.size,e.size-=s.size;let i=s.entry.usedMemory;for(;i>this._maxSize;){const e=this._notifyRemove(t,s.entry,i,1);if(!(null!=e&&e>0))return void this._db.delete(t);i=e}s.size=i,this._size+=i,e.size+=i,this._checkSize()}pop(e,t){t=e.id+t;const s=this._db.get(t);if(s)return this._size-=s.size,e.size-=s.size,this._db.delete(t),++this._hit,s.entry;++this._miss}get(e,t){t=e.id+t;const s=this._db.get(t);if(void 0!==s)return this._db.delete(t),s.lives=s.lifetime,this._db.set(t,s),++this._hit,s.entry;++this._miss}peek(e,t){const s=this._db.get(e.id+t);return s?++this._hit:++this._miss,s?.entry}get performanceInfo(){const e={Size:Math.round(this._size/1048576)+"/"+Math.round(this._maxSize/1048576)+"MB","Hit rate":Math.round(100*this._getHitRate())+"%",Entries:this._db.size.toString()},t={},s=new Array;this._db.forEach((e,i)=>{const r=e.lifetime;s[r]=(s[r]||0)+e.size,this._clients.forEach(s=>{const{id:r,name:n}=s;if(i.startsWith(r)){const s=t[n]||0;t[n]=s+e.size}})});const i={};this._clients.forEach(e=>{const s=e.name;if("hitRate"in e&&"number"==typeof e.hitRate&&!isNaN(e.hitRate)&&e.hitRate>0){const r=t[s]||0;t[s]=r,i[s]=Math.round(100*e.hitRate)+"%"}else i[s]="0%"});const r=Object.keys(t);r.sort((e,s)=>t[s]-t[e]),r.forEach(s=>e[s]=Math.round(t[s]/2**20)+"MB / "+i[s]);for(let t=s.length-1;t>=0;--t){const i=s[t];i&&(e["Priority "+(t+-3-1)]=Math.round(i/this._size*100)+"%")}return e}resetStats(){this._hit=this._miss=0,this._clients.forEach(e=>e.resetHitRate())}clear(e){const t=e.id;this._db.forEach((e,s)=>{s.startsWith(t)&&(this._size-=e.size,this._db.delete(s),this._notifyRemove(s,e.entry,e.size,0))}),e.size=0}clearAll(){this._db.forEach((e,t)=>this._notifyRemove(t,e.entry,e.size,0)),this._clients.forEach(e=>e.size=0),this._size=0,this._db.clear()}*values(e){for(const[t,s]of this._db)t.startsWith(e.id)&&(yield s.entry)}_getHitRate(){return this._hit/(this._hit+this._miss)}_notifyRemove(e,t,s,i){const r=this._clients.get(e.split(o)[0])?.removeFunc,n=r?.(t,i,s);return"number"==typeof n?n:null}_checkSize(){this._sizeLimits.forEach((e,t)=>this._checkSizeLimits(e,t)),this._clients.forEach(e=>this._checkSizeLimits(this._maxClientSize,e)),this._checkSizeLimits(this.maxSize)}setMaxClientSize(e,t){null==t||t<=0?this._sizeLimits.delete(e):this._sizeLimits.set(e,t)}_checkSizeLimits(e,t){const s=t??this;if(s.size<=e)return;const i=t?.id;let r=!0;for(;r;){r=!1;for(const[n,a]of this._db)if(0===a.lifetime&&(!i||n.startsWith(i))){const i=t??this._clients.get(n.split(o)[0]);if(this._purgeItem(n,a,i),s.size<=.9*e)return;r||=this._db.has(n)}}for(const[r,n]of this._db)if(!i||r.startsWith(i)){const i=t??this._clients.get(r.split(o)[0]);if(this._purgeItem(r,n,i),s.size<=.9*e)return}}_purgeItem(e,t,s){if(this._db.delete(e),t.lives<=1){this._size-=t.size,s&&(s.size-=t.size);const i=this._notifyRemove(e,t.entry,t.size,1);null!=i&&i>0&&(this._size+=i,s&&(s.size+=i),t.lives=t.lifetime,t.size=i,this._db.set(e,t))}else--t.lives,this._db.set(e,t)}}new r(0);class n{constructor(e,t,s){this.entry=e,this.size=t,this.lifetime=s,this.lives=s}}const o=":";class a{constructor(e,t){this.removeFunc=t,this.id="",this.name="",this.size=0,this._storage=new r(e,1),this._storage.register(this)}destroy(){this._storage.deregister(this),this._storage.destroy()}put(e,t,s=1){this._storage.put(this,e,t,s,1)}pop(e){return this._storage.pop(this,e)}get(e){return this._storage.get(this,e)}clear(){this._storage.clearAll()}get maxSize(){return this._storage.maxSize}set maxSize(e){this._storage.maxSize=e}resetHitRate(){}}},9775(e,t,s){s.d(t,{A:()=>n});var i=s(62788),r=s(95488);class n{constructor(e=e=>e.values().next().value){this._peeker=e,this._observable=new r.I,this._items=new Set}get length(){return(0,i.gc)(this._observable),this._items.size}clear(){0!==this.length&&(this._items.clear(),this._observable.notify())}last(){if(0===this.length)return;let e;for(e of this._items);return e}peek(){if(0!==this.length)return this._peeker(this._items)}push(e){this.contains(e)||(this._items.add(e),this._observable.notify())}contains(e){return(0,i.gc)(this._observable),this._items.has(e)}pop(){if(0===this.length)return;const e=this.peek();return this._items.delete(e),this._observable.notify(),e}popLast(){if(0===this.length)return;const e=this.last();return this._items.delete(e),this._observable.notify(),e}remove(e){this.contains(e)&&(this._items.delete(e),this._observable.notify())}filter(e){const t=this.length;return this._items.forEach(t=>{e(t)||this._items.delete(t)}),t!==this._items.size&&this._observable.notify(),this}*[Symbol.iterator](){(0,i.gc)(this._observable),yield*this._items}}},48459(e,t,s){s.r(t),s.d(t,{default:()=>P});var i=s(5482),r=s(7762),n=s(21818),o=s(49186),a=s(44208),l=s(53966),u=s(74887),c=s(563),p=s(39516),d=s(16930),h=s(70328),f=s(56390),y=s(8384),m=s(58727),g=s(64714),w=s(17754),_=s(20437),S=s(95466),x=s(10427),b=s(16238);function z(e){switch(e.type){case"wkb":return b.A.fromJSON(e);case"location":return x.A.fromJSON(e)}}var F=s(42760),v=s(39412),R=s(63892),C=s(30661),I=s(28923),A=s(44320),q=s(35258),E=s(16630);const M=new C.Z,O="__OBJECTID",T=new TextDecoder;class P{constructor(){this._fileInfos=new Map,this._queue=new c.QueueProcessor({concurrency:4,process:(e,t)=>this._executeQuery(e,t)}),this._indexMap={}}async load(e){const t=e.spatialReference?d.A.fromJSON(e.spatialReference):void 0;if(t&&!t.isWGS84&&!t.isWebMercator)throw new o.A("parquet:unsupported-projection","Only WGS84 and Web Mercator are supported");const s=await(0,F.nc)({urls:new r.A(e.urls),fields:e.fields?.map(e=>_.A.fromJSON(e)),geometryEncoding:e.geometryEncoding?z(e.geometryEncoding):null,geometryType:e.geometryType?(0,F.hG)(e.geometryType):null,displayOptimization:e.displayOptimization,spatialReference:t},{customParameters:e.customParameters});if(!s.fields)throw new o.A("parquet:unsupported","Fields must be defined");let n;if(s.spatialReference&&s.geometryType){if(!s.spatialReference)throw new o.A("parquet:unsupported","SpatialReference must be defined");if(!s.spatialReference.isGeographic&&!s.spatialReference.isWebMercator)throw new o.A("parquet:unsupported-projection","Only WGS84 and Web Mercator are supported");s.spatialReference.isGeographic&&!s.spatialReference.isWGS84&&(l.A.getLogger("parquet:unsupported-projection").warn("Found a geographic projection that is not WGS84. Handling as WGS84.",{spatialReference:s.spatialReference}),s.spatialReference=d.A.WGS84),n={geometry:s.geometryEncoding?{geometryType:(0,F.sA)(s.geometryType),spatialReference:s.spatialReference.toJSON(),encoding:s.geometryEncoding.toJSON()}:null,displayOptimization:s.displayOptimization}}this.setCustomParameters(e.customParameters),this._geometryInfo=n;const a=e.urls;for(const e of a)this._addFile(e);this._capabilities=N(await this.getFileStatistics());const u=this._fileInfos.values().next().value;if(!u)return{layerDefinition:{},capabilities:N(null)};const c=await u,{fields:p}=s;if(null==p)throw new o.A("parquet-layer:missing-metadata","Unable to create parquet source: cannot infer fields",p);p.push(new _.A({name:O,type:"oid",alias:O}));for(const e of p){const t=c.file.columnForFieldName(e.name);null!=t&&(this._indexMap[e.name]=t)}const f=new S.A(p.map(e=>e.toJSON()));this._fieldsIndex=f;const y=(0,F.sA)(s.geometryType??"point");if(this._metadata=q.i.createFeature({fieldsIndex:f.toJSON(),geometryType:y,featureIdInfo:{type:"object-id",fieldName:"rowId"},subtypes:null,subtypeField:null,types:null,typeIdField:null,globalIdField:null,spatialReference:s.spatialReference,outSpatialReference:null,timeInfo:null,timeReferenceUnknownClient:null,dateFieldsTimeZone:null}),this._queryEngineParams={fieldsIndex:this._metadata.fieldsIndex,geometryType:y,featureIdInfo:{type:"object-id",fieldName:"rowId"},hasM:!1,hasZ:!1,spatialReference:s.spatialReference?.toJSON()??{wkid:4326},aggregateAdapter:null,timeInfo:null,definitionExpression:null},s.spatialReference){const e=await this.getFileInfos();this._fullExtent=function(e,t){const s=(0,h.hZ)((0,h.vt)(),h.qv);for(const t of e){const e=(0,R.hD)(t.file);if(!e)return null;const i=e.columns[e.primary_column];if(!i.bbox)return null;const r=Q(i.bbox);(0,h.RF)(s,r)}return{xmin:s[0],ymin:s[1],xmax:s[3],ymax:s[4],spatialReference:t}}(e,s.spatialReference.toJSON())}if(null==this._fullExtent&&"location"===s.geometryEncoding?.type){const{xField:e,yField:t}=s.geometryEncoding,r=(0,h.hZ)((0,h.vt)(),h.qv);for(const s of await this.getFileInfos())for(const n of s.file.rowGroups()){const s={stack:[],error:void 0,hasError:!1};try{const o=(0,i.mS)(s,n.columnDescriptorForAttribute(e),!1),a=(0,i.mS)(s,n.columnDescriptorForAttribute(t),!1),l=[o.minValue(),a.minValue(),o.maxValue(),a.maxValue()];(0,h.DC)(r,l),n.free()}catch(e){s.error=e,s.hasError=!0}finally{(0,i.hk)(s)}}this._fullExtent={xmin:r[0],ymin:r[1],xmax:r[3],ymax:r[4],spatialReference:s.spatialReference?.toJSON()}}return{capabilities:this._capabilities,layerDefinition:{fields:s.fields?.map(e=>e.toJSON()),drawingInfo:(0,g.F0)(y),extent:this._fullExtent??void 0,geometryType:y,geometryEncoding:s.geometryEncoding?.toJSON(),displayOptimization:s.displayOptimization}}}destroy(){for(const e of this._fileInfos.values())e.then(e=>e.file.free);this._fileInfos.clear(),this._queue.destroy()}setCustomParameters(e){this._customParameters=e}getIndexMap(){return this._indexMap}async getFileId(e){const t=this._fileInfos.get(e);if(!t)throw new Error(`InternalError: File ${e} does not exist`);return(await t).id}async getFileInfo(e){const t=this._fileInfos.get(e);if(!t)throw new Error(`InternalError: File ${e} does not exist`);return t}async getFileInfos(){return Promise.all(Array.from(this._fileInfos.values()))}async getFileStatistics(){if(!this._fileInfos.size)return null;const e=(await this.getFileInfos()).reduce((e,t)=>e+t.file.byteLength(),0);return{featureCount:await this._getFeatureCount(),byteLength:e}}async updateFiles(e){const t=new Set(e);for(const[e,s]of this._fileInfos.entries())t.has(e)?t.delete(e):(s.then(e=>e.file.free()),this._fileInfos.delete(e));await Promise.all(Array.from(t.values()).map(e=>this._addFile(e)))}async queryFeatures(e,t){return this._validateQuery(e),function(e){return!!(e.objectIds?.length||e.outStatistics||e.orderByFields?.length||e.returnDistinctValues)}(e)||(e.resultRecordCount=e.resultRecordCount?Math.min(e.resultRecordCount,8e3):8e3,e.resultOffset=e.resultOffset??0),(e.outStatistics||e.returnDistinctValues)&&(e.returnGeometry=void 0),(await this._enqueueQuery(e,t)).createQueryResponse()}async queryFeatureCount(e,t){const s=await(0,m.T2)(e,null,this._queryEngineParams.spatialReference);return this._validateQuery(s),G(s)?(s.outFields=void 0,s.returnGeometry=void 0,(await this._enqueueQuery(s,t)).createQueryResponseForCount()):this._getFeatureCount()}async queryObjectIds(e,t){const s=await(0,m.T2)(e,null,this._queryEngineParams.spatialReference);return this._validateQuery(s),G(s)?(s.resultRecordCount=s.resultRecordCount?Math.min(s.resultRecordCount,8e3):8e3,s.resultOffset=s.resultOffset??0,s.returnGeometry=void 0,s.outFields=void 0,(await this._enqueueQuery(s,t)).items.map(e=>e.getObjectId())):Array.from({length:await this._getFeatureCount()},(e,t)=>t)}async queryExtent(e,t){const s=await(0,m.T2)(e,null,this._queryEngineParams.spatialReference);if(this._validateQuery(s),this._fullExtent&&!G(s))return{count:await this._getFeatureCount(),extent:this._fullExtent};const i=(0,n.z)(this._metadata.spatialReference);s.returnGeometry=!0,s.outFields=void 0;const r=(0,h.hZ)((0,h.vt)(),h.qv),o=(0,h.vt)(),a=await this._enqueueQuery(s,t);let l=0;for(const e of a.items)e.getBounds(o)&&((0,h.RF)(r,o),l+=1);return{count:l,extent:(0,f.Wc)(r,i,s.outSR?(0,n.z)(s.outSR):i,i,!1)}}async queryStream(e,t,s){if(!s.signal)throw new Error("InternalError: AbortSignal must be passed");const i=await this.getFileInfo(e),r=(await(0,v.N)()).Query.new();"tile"===t.type&&(r.setExtent(t.extent),r.setQuantizationTransform(t.transform),r.setScale(t.scale)),r.setOutFields(t.outFields.filter(e=>null!=this._indexMap[e])),r.setOutSpatialReference(t.outSpatialReference.wkid),r.setReturnGeometry(!0),t.where&&await this._setWhereClause(r,i.file,t.where);const n=await i.file.executeQuery(r,s.signal),o=i.streamIdCounter++,a=(0,u.NY)(s.signal,e=>{const t=i.streams.get(o);null!=t&&(t.handle.remove(),i.streams.delete(o))});return i.streams.set(o,{stream:n,handle:a}),o}async getStreamNext(e,t,s){if(!s.signal)throw new Error("InternalError: AbortSignal must be passed");const i=await this.getFileInfo(e),r=i.streams.get(t);if(!r)return null;const n=await r.stream.next(s.signal);return null==n&&(r.handle.remove(),i.streams.delete(t)),n?.serialize().buffer}async createPatch(e,t,s,i,r){if(!r.signal)throw new Error("InternalError: AbortSignal must be passed");const n=await this.getFileInfo(e);return(await n.file.createChunkPatch(t,s,i,r.signal)).serialize().buffer}async _getFile(e){for(const t of await this.getFileInfos())if(t.id===e)return t.file;throw new Error(`InternalError: File ${e} does not exist`)}_addFile(e){const t=this._fileInfos.size;this._fileInfos.set(e,this._createFileInfo(e,t))}async _createFileInfo(e,t){return{id:t,file:await(0,R.DV)(e,{geometryInfo:this._geometryInfo,getCustomParameters:()=>this._customParameters}),streamIdCounter:0,streams:new Map}}async _getFeatureCount(){return(await this.getFileInfos()).reduce((e,t)=>e+t.file.numRows(),0)}_validateQuery(e){if(!this._capabilities.query.supportsStatistics&&e.outStatistics)throw new o.A("parquet:unsupported","Statistics queries are not supported",{query:e});if(!this._capabilities.query.supportsOrderBy&&e.orderByFields?.length)throw new o.A("parquet:unsupported","Queries using orderBy are not supported",{query:e});if(!this._capabilities.query.supportsDistinct&&e.returnDistinctValues)throw new o.A("parquet:unsupported","Queries using returnDistinctValues are not supported",{query:e})}async _setWhereClause(e,t,s){const i=this._indexMap,r=this._fieldsIndex,n={getAttribute(e,s){const n=t.readAttribute(e.rowGroup,e.row,i[s]),o=r.get(s);return"esriFieldTypeString"===o.type||"esriFieldTypeDateOnly"===o.type||"esriFieldTypeTimeOnly"===o.type||"esriFieldTypeTimestampOffset"===o.type?T.decode(n):n}},a=await(0,p.GP)(s,this._fieldsIndex);if(!a.isStandardized)throw new o.A("sql-parse-error","expression is not standardized");e.setWhere(s),e.setWhereEvaluator((e,t)=>a.testFeatureCompiled({rowGroup:e,row:t},n,null)),e.setWhereFields(a.fieldNames)}async*_fetchChunks(e,t){const s=await(0,v.N)();for(const i of await this.getFileInfos()){const r=s.Query.new();r.setOutFields(e.fields),r.setReturnGeometry(e.returnGeometry),e.where&&await this._setWhereClause(r,i.file,e.where);const n=await i.file.executeQuery(r),o=[],a=n.next(t);for(let e=0;e<4;e++)o.push(n.next(t));let l=await a;for(;null!=l;){(0,u.Te)(t);const e=new E.s(this._metadata,this._indexMap,l,i.id),s=k([new I.j(e,null,0,!1)],this._queryEngineParams),r=o.shift();o.push(n.next(t)),yield s,l=await r}}}_enqueueQuery(e,t){return this._queue.push(e,t)}async _executeQuery(e,t){const s=await this._getReadParams(e);if(e.where=void 0,e.objectIds?.length){const s=new Map;for(const t of e.objectIds){const e=(0,w.wY)(t),i=(0,w.gE)(t);let r=s.get(e);r||(r=[],s.set(e,r)),r.push(i)}const i=[];for(const[r,n]of s.entries()){const s=await this._executeFileIdQuery(e,r,n,t);for(const e of s)i.push(e)}return new y.G(i,e,{fieldsIndex:this._fieldsIndex,geometryType:this._metadata.geometryType,spatialReference:this._queryEngineParams.spatialReference,objectIdField:"rowId",hasM:!1,hasZ:!1,featureAdapter:M})}let i=e.resultRecordCount??await this._getFeatureCount(),r=e.resultOffset??0;e.resultRecordCount=void 0,e.resultOffset=void 0;const n=[];for await(const o of this._fetchChunks(s,t)){const s=await o.executeQueryForOpaqueFeatures(e,t);if(s.length>r){const t=s.slice(r,Math.min(r+i,s.length));for(const e of t)n.push(e);if(r=0,i-=t.length,0===i)return new y.G(n,e,{fieldsIndex:this._fieldsIndex,geometryType:this._metadata.geometryType,spatialReference:this._queryEngineParams.spatialReference,objectIdField:"rowId",hasM:!1,hasZ:!1,featureAdapter:M})}else r-=s.length}return new y.G(n,e,{fieldsIndex:this._fieldsIndex,geometryType:this._metadata.geometryType,spatialReference:this._queryEngineParams.spatialReference,objectIdField:"rowId",hasM:!1,hasZ:!1,featureAdapter:M})}async _executeFileIdQuery(e,t,s,i){const r=await this._getReadParams(e),n=(await(0,v.N)()).Query.new();n.setOutFields(r.fields),n.setReturnGeometry(r.returnGeometry),n.setIds(new Uint32Array(s));const o=await this._getFile(t),a=await o.executeQuery(n,i);let l=await a.next(i),u=0;const c=[];for(;null!=l;){const e=new E.s(this._metadata,this._indexMap,l,t),s=new I.j(e,null,u++,!1);c.push(s),l=await a.next(i)}return k(c,this._queryEngineParams).executeQueryForOpaqueFeatures(e,i)}async _getReadParams(e){const t=new Set;if(e.outStatistics)for(const s of e.outStatistics)null!=s.onStatisticField&&t.add(s.onStatisticField);if(e.outFields)for(const s of e.outFields)t.add(s);return{fields:(t.has("*")?this._fieldsIndex.fields.map(e=>e.name):Array.from(t)).filter(e=>null!=this._indexMap[e]),returnGeometry:!!e.returnGeometry||!!e.geometry,where:e.where}}}function G(e){for(const t in e){const s=t;switch(s){case"resultOffset":case"resultRecordCount":case"aggregateIds":case"distance":case"gdbVersion":case"geometry":case"having":case"timeExtent":case"objectIds":case"historicMoment":case"where":return null!=e[s]}}return!1}function k(e,t){const s=new A.I;for(const t of e)s.insert(t);return new f.do({...t,featureStore:s})}function Q(e){switch(e.length){case 4:return(0,h.Jt)((0,h.vt)(),e);case 6:return e;default:throw new o.A("parquet:protocol-violation","Invalid Geoparquet file. BoundingBox size must be 4 or 6.",{bbox:e})}}function N(e){const t=e?.featureCount;let s=!1;return null!=t&&t<(0,a.A)("parquetlayer-full-query-feature-count")&&(s=!0),{analytics:{supportsCacheHint:!1},attachment:null,data:{isVersioned:!1,isBranchVersioned:!1,supportedCurveTypes:[],supportsAttachment:!1,supportsM:!1,supportsTrueCurve:!1,supportsZ:!1},metadata:{supportsAdvancedFieldProperties:!1},operations:{supportsCalculate:!1,supportsTruncate:!1,supportsValidateSql:!1,supportsAdd:!1,supportsDelete:!1,supportsEditing:!1,supportsChangeTracking:!1,supportsQuery:!0,supportsQueryBins:!1,supportsQueryPivot:!1,supportsQueryAnalytics:!1,supportsQueryAttachments:!1,supportsQueryTopFeatures:!1,supportsResizeAttachments:!1,supportsSync:!1,supportsUpdate:!1,supportsExceedsLimitStatistics:!1,supportsAsyncConvert3D:!1},query:{maxRecordCount:8e3,maxRecordCountFactor:void 0,maxUniqueIDCount:void 0,relativeTimeBinWindow:void 0,standardMaxRecordCount:void 0,supportsCacheHint:!1,supportsCentroid:!0,supportsCentroidOnDegeneratedQuantizedGeometry:!1,supportsCurrentUser:!1,supportsDegeneratedQuantizedGeometry:!1,supportsDisjointSpatialRelationship:!1,supportsDistance:!1,supportsDistinct:s,supportsExtent:!1,supportsFormatPBF:!1,supportsFormatPBFWithCurves:!1,supportsGeometryProperties:!1,supportsHavingClause:!1,supportsHistoricMoment:!1,supportsMaxRecordCountFactor:!1,supportsOrderBy:s,supportsPagination:!0,supportsPaginationOnAggregatedQueries:!1,supportsPercentileStatistics:!1,supportsQuantization:!0,supportsQuantizationEditMode:!1,supportsQueryByAnonymous:!1,supportsQueryByOthers:!1,supportsQueryGeometry:!1,supportsResultType:!1,supportsReturnMesh:!1,supportsStandardizedQueriesOnly:!1,supportsTopFeaturesQuery:!1,supportsStatistics:s,supportsSpatialAggregationStatistics:!1,supportedSpatialAggregationStatistics:{envelope:!1,centroid:!1,convexHull:!1},supportsDefaultSpatialReference:!1,supportsFullTextSearch:!1,supportsCompactGeometry:!1,supportsSqlExpression:!1,supportsTrueCurve:!1,tileMaxRecordCount:void 0},queryAttributeBins:{supportsDate:!1,supportsFixedInterval:!1,supportsAutoInterval:!1,supportsFixedBoundaries:!1,supportsStackBy:!1,supportsSplitBy:!1,supportsSnapToData:!1,supportsReturnFullIntervalBin:!1,supportsFirstDayOfWeek:!1,supportsNormalization:!1},queryRelated:{supportsCount:!1,supportsOrderBy:!1,supportsPagination:!1,supportsCacheHint:!1},queryTopFeatures:{supportsCacheHint:!1},editing:{supportsDeleteByAnonymous:!1,supportsDeleteByOthers:!1,supportsGeometryUpdate:!1,supportsGlobalId:!1,supportsTrueCurveUpdate:!1,supportsTrueCurveUpdateByTrueCurveClientsOnly:!0,supportsReturnServiceEditsInSourceSpatialReference:!1,supportsRollbackOnFailure:!1,supportsUpdateByAnonymous:!1,supportsUpdateByOthers:!1,supportsUploadWithItemId:!1,supportsUpdateWithoutM:!1,supportsAsyncApplyEdits:!1,zDefault:void 0}}}},10427(e,t,s){s.d(t,{A:()=>a});var i=s(5482),r=s(69540),n=s(25482),o=s(91429);let a=class extends((0,r.OU)(n.o)){constructor(e){super(e),this.type="location",this.xField=null,this.yField=null}};(0,i.Cg)([(0,o.MZ)({type:["location"],nonNullable:!0,readOnly:!0,json:{read:!1,write:{isRequired:!0}}})],a.prototype,"type",void 0),(0,i.Cg)([(0,o.MZ)({type:String,json:{write:{isRequired:!0}}})],a.prototype,"xField",void 0),(0,i.Cg)([(0,o.MZ)({type:String,json:{write:{isRequired:!0}}})],a.prototype,"yField",void 0),a=(0,i.Cg)([(0,o.$K)("esri.layers.support.ParquetGeometryEncodingLocation")],a)},16238(e,t,s){s.d(t,{A:()=>a});var i=s(5482),r=s(69540),n=s(25482),o=s(91429);let a=class extends((0,r.OU)(n.o)){constructor(e){super(e),this.type="wkb",this.field=null}};(0,i.Cg)([(0,o.MZ)({type:["wkb"],nonNullable:!0,readOnly:!0,json:{read:!1,write:{isRequired:!0}}})],a.prototype,"type",void 0),(0,i.Cg)([(0,o.MZ)({type:["counter-clockwise"],json:{write:!0}})],a.prototype,"orientation",void 0),(0,i.Cg)([(0,o.MZ)({type:String,json:{write:{isRequired:!0}}})],a.prototype,"field",void 0),a=(0,i.Cg)([(0,o.$K)("esri.layers.support.ParquetGeometryEncodingWkb")],a)},54625(e,t,s){s.d(t,{i_:()=>r});var i=s(30524);function r(e,t,s){t=(0,i.rS)(t)?.toLowerCase(),s=(0,i.rS)(s)?.toLowerCase();const r=e.map(e=>e.toLowerCase()),a=t?e[r.indexOf(t)]:null,l=s?e[r.indexOf(s)]:null;return{longitudeFieldName:a||e[r.indexOf(o.find(e=>r.includes(e)))],latitudeFieldName:l||e[r.indexOf(n.find(e=>r.includes(e)))]}}const n=["lat","lat83","latitude","latitude83","latdecdeg","lat_dd","y","ycenter","point_y"],o=["lon","lng","lng83","long","long83","longitude","longitude83","longdecdeg","long_dd","x","xcenter","point_x"]},42760(e,t,s){s.d(t,{hG:()=>y,nc:()=>m,sA:()=>f,ye:()=>d}),s(7762);var i=s(49186),r=s(66552),n=s(16930),o=s(20437),a=s(30524),l=s(54625),u=s(10427),c=s(16238),p=s(63892);const d=new r.J({esriGeometryPoint:"point",esriGeometryPolygon:"polygon",esriGeometryPolyline:"polyline",esriGeometryMultipoint:"multipoint"}),h=new Set(["uncompressed","snappy","gzip"]);function f(e){return d.toJSON(e)}function y(e){return d.fromJSON(e)}async function m(e,t={}){if(e.urls.length<1)throw new i.A("parquet:bad-input","At least one url must be specified",e);if(e.geometryType&&e.spatialReference&&e.geometryEncoding&&e.fields)return e;const s=await(0,p.DV)(e.urls.getItemAt(0),{getCustomParameters:()=>t.customParameters});for(const e of s.compressionCodecs())if(!h.has(e))throw new i.A("parquet:unsupported",`Compression codec ${e} is unsupported. Must be of type ${Array.from(h).join(",")}`);const r=(0,p.hD)(s),d={...e,file:s};if(null==d.fields&&(d.fields=s.fields(!1).map(e=>o.A.fromJSON({name:e.name,alias:e.name,type:e.type}))),null!=d.geometryEncoding){const e=d.geometryEncoding;switch(e.type){case"wkb":{const t=d.fields.find(t=>t.name===e.field);if(!t)throw new i.A("parquet:unsupported",`Geometry encoding references field ${e.field} which does not exist`);if("blob"!==t.type)throw new i.A("parquet:unsupported",`Invalid field type for geometry encoding. Found ${t.type} but expected 'blob'`);break}case"location":for(const t of[e.xField,e.yField])if(null!=t){const e=d.fields.find(e=>e.name===t);if(!e)throw new i.A("parquet:unsupported",`Geometry encoding references field ${t} which does not exist`);if(!(0,a.WA)(e))throw new i.A("parquet:unsupported",`Invalid field type for location geometry encoding. Found ${e.type} but expected a numeric`)}}}null==d.geometryEncoding&&(d.geometryEncoding=function(e,t){if(null!=e){const t=e.primary_column,s=e.columns[t];return new c.A({field:t,orientation:"counterclockwise"===s.orientation?"counter-clockwise":null})}const s=t.filter(e=>(0,a.WA)(e)).map(e=>e.name),i=(0,l.i_)(s);return i.latitudeFieldName&&i.longitudeFieldName?new u.A({xField:i.longitudeFieldName,yField:i.latitudeFieldName}):null}(r,d.fields));const f=(0,p.Xj)(s);if(f&&(d.displayOptimization=f),d.geometryEncoding)switch(d.geometryEncoding.type){case"location":null==d.spatialReference&&(d.spatialReference=n.A.WGS84),null==d.geometryType&&(d.geometryType="point");break;case"wkb":{if(!r)return d;const e=r.primary_column,t=r.columns[e];if(d.geometryType||(d.geometryType=function(e){const{geometry_types:t}=e,s=new Set;for(const e of t){const t=g(e);t&&s.add(t)}if(s.size>1)throw new i.A("parquet:unsupported","Parquet mixed geometry types are not supported",{geometryTypes:s});return 1===s.size?s.values().next().value:void 0}(t)),d.spatialReference||(d.spatialReference=function(e){const t=e.crs?.id?.code;return t&&"number"==typeof t?new n.A({wkid:t}):void 0}(t)),d.fields)for(const e of Object.keys(r.columns))d.fields=d.fields.filter(t=>t.name!==e)}}if(d.displayOptimization){const e=d.displayOptimization.index;if(!d.spatialReference&&e.wkid&&(d.spatialReference=new n.A({wkid:e.wkid})),!d.geometryType)switch(e.type){case"z":d.geometryType="point";break;case"xz":d.geometryType=e.geometryType}}return d}function g(e){switch(e){case"Point":return"point";case"Polygon":case"MultiPolygon":return"polygon";case"LineString":return"polyline";case"MultiPoint":return"multipoint";default:return null}}},63892(e,t,s){s.d(t,{DV:()=>y,Xj:()=>g,hD:()=>m});var i=s(11254),r=s(49186),n=s(44208),o=s(563),a=s(84952),l=s(39412);const u="parquet.v1",c=new o.QueueProcessor({concurrency:12,process:async e=>{const{data:t}=await(0,i.A)(e.url,e.options);return t}}),p=e=>async function(t,s,i,r){const o=e?.(),a={url:t,options:{responseType:"array-buffer",query:o??{},cacheMode:"no-store",useQueue:!0,headers:{range:`bytes=${s}-${i}`}}};if(!(0,n.A)("parquetlayer-cache-enabled"))return c.push(a);const l=new URL(t);l.searchParams.append("range",`${s}-${i}`);try{const e=await caches.open(`${u}:${t}`),s=await e.match(l);if(s)return await s.arrayBuffer();const i=await c.push(a);return await e.put(l,new Response(i,{headers:{"Content-Type":"application/octet-stream","Content-Length":i.byteLength.toString()}})),i}catch(e){return c.push(a)}},d=e=>async function(t){if((0,a.w8)(t)){const{data:e}=await(0,i.A)(t,{responseType:"blob"});return e.size}const{data:s}=await(0,i.A)(t,{responseType:"native",method:"head",query:e?.()}),r=s.headers.get("Content-Length");if(null==r)throw new Error("Unable to parse content length");const o=parseInt(r,10);if(!(0,n.A)("parquetlayer-cache-enabled"))return o;try{const e=`${u}:${t}`,i=new URL(t);i.searchParams.append("metadata","true");let r=await caches.open(e);const n=s.headers.get("etag")??s.headers.get("Last-Modified");if(null==n)return await caches.delete(e),o;const a=await r.match(i),l=await(a?.json());l?.tag!==n&&(await caches.delete(e),r=await caches.open(e));const c=JSON.stringify({tag:n});await r.put(i,new Response(c,{headers:{"Content-Type":"application/json","Content-Length":c.length.toString()}}))}catch(e){}return o};function h(e,t){switch(t){case"esriGeometryPoint":return e.GeometryType.Point;case"esriGeometryPolygon":case"polygon":return e.GeometryType.Polygon;case"esriGeometryPolyline":case"polyline":return e.GeometryType.Polyline;case"esriGeometryMultipoint":case"multipoint":return e.GeometryType.Multipoint;default:throw new r.A("parquet",`Found unexpected GeometryType: ${t}`)}}function f(e,t){const s=e.GeometryInfo.new();t.geometry&&s.setGeometry(function(e,t){const s=t.encoding,i=h(e,t.geometryType),r=t.spatialReference.wkid;if(null==r)throw new Error("InternalError: Wkid must be defined.");switch(s.type){case"wkb":return e.GeometryField.fromWkb(s.field,r,i);case"location":{const{yField:t,xField:n}=s;return e.GeometryField.fromLocation(t,n,r,i)}}}(e,t.geometry));const i=t.displayOptimization;if(i){const{index:t,parentColumn:r}=i,n=e=>null!=r?[r,e].join("."):e;if("z"===t.type){const i=e.DisplayOptimizationZBuilder.new();i.setCodeField(n(t.code)),i.setXColumn(n(t.xColumn)),i.setYColumn(n(t.yColumn)),i.setCooordinatePrecision(t.coordinatePrecision),i.setFullExtent(t.fullExtent),i.setSpatialReference(t.wkid,t.wkt),i.setHasZ(!!t.zColumn),i.setHasM(!!t.mColumn),s.setOptmizationZ(i)}if("xz"===t.type){const i=h(e,t.geometryType),r=e.DisplayOptimizationXZBuilder.new();r.setCodeField(n(t.code)),r.setEncoding(t.encoding),r.setFullExtent(t.fullExtent),r.setGeometryType(i),r.setSpatialReference(t.wkid,t.wkt),r.setMaxLevel(t.maxLevel),r.setHasZ(t.hasZ??!1),r.setHasM(t.hasM??!1);for(const s of t.levels??[]){const[t,i]=s.transform.translate,[o,a]=s.transform.scale,l=new Float64Array([t,i]),u=new Float64Array([o,a]),c=n(s.column);r.addLevel(e.MultiscaleGeometryField.new(s.level,s.scale,c,l,u))}s.setOptmizationXZ(r)}}return s}async function y(e,t={}){const s=await(0,l.N)(),i=p(t.getCustomParameters),n=d(t.getCustomParameters),o=t.geometryInfo?f(s,t.geometryInfo):null;try{return await s.ParquetFile.fromUrl(e,i,n,o)}catch(e){throw new r.A("parquet","Failed to parse file",{error:e})}}function m(e){const t=e.keyValueMetadata("geo");return null!=t?JSON.parse(t):null}function g(e){if(e.keyValueMetadata("esri"))throw new r.A("parquet:unsupported","File was created using an unsupported experimental display index. Please regenerate the file.");const t=e.keyValueMetadata("geodisplay");if(null!=t)return JSON.parse(t);const s=e.keyValueMetadata("org.apache.spark.sql.parquet.row.metadata");if(null!=s){const e=JSON.parse(s);for(const t of e.fields)if(null!=t.metadata&&"type"in t.metadata&&("xz"===t.metadata.type||"z"===t.metadata.type)){const e={parentColumn:t.name,index:t.metadata};if("xz"===e.index.type&&(e.index.geometryType=e.index.geometryType.toLowerCase(),"esri-pbf"===e.index.encoding&&(e.index.encoding="esriPBF"),"esriPBF"!==e.index.encoding))throw new r.A("parquet:unsupported",`Encoding for display index must be of type esriPBF, but found ${e.index.encoding}`);return e}}return null}},93470(e,t,s){s.d(t,{Cb:()=>n,HW:()=>c,JR:()=>r,JZ:()=>l,WR:()=>a,b6:()=>p,fT:()=>i,nC:()=>u,yM:()=>o});const i=[252,146,31,255],r=[153,153,153,255],n={type:"esriSMS",style:"esriSMSCircle",size:6,color:i,outline:{type:"esriSLS",style:"esriSLSSolid",width:.75,color:[153,153,153,255]}},o={type:"esriSLS",style:"esriSLSSolid",width:.75,color:i},a={type:"esriSFS",style:"esriSFSSolid",color:[252,146,31,196],outline:{type:"esriSLS",style:"esriSLSSolid",width:.75,color:[255,255,255,191]}},l={type:"esriTS",color:[255,255,255,255],font:{family:"arial-unicode-ms",size:10,weight:"bold"},horizontalAlignment:"center",kerning:!0,haloColor:[0,0,0,255],haloSize:1,rotated:!1,text:"",xoffset:0,yoffset:0,angle:0},u={type:"esriSMS",style:"esriSMSCircle",color:[0,0,0,255],outline:null,size:10.5},c={type:"esriSLS",style:"esriSLSSolid",color:[0,0,0,255],width:1.5},p={type:"esriSFS",style:"esriSFSSolid",color:[0,0,0,255],outline:null}},76213(e,t,s){s.d(t,{C2:()=>o,CQ:()=>i,DY:()=>r,GR:()=>y,Gh:()=>l,MZ:()=>d,TB:()=>f,U5:()=>a,_M:()=>u,cp:()=>m,eG:()=>n,fq:()=>h,hM:()=>p,ie:()=>c});const i=512,r=29,n=24,o=4,a=6,l=1.05,u=3,c=3,p=4,d=1,h=10,f=256,y=32,m=512}}]);
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[7867],{66344(e,t,s){s.d(t,{q:()=>a});const i=!!(0,s(44208).A)("esri-tests-disable-gpu-memory-measurements");Symbol.iterator;class r{get size(){return this._size}constructor(e=10485760,t=.3){this._maxSize=e,this._maxClientSizeRatio=t,this._db=new Map,this._size=0,this._hit=0,this._miss=0,this._clients=new Map,this._sizeLimits=new Map}destroy(){this.clearAll(),this._sizeLimits.clear(),this._clients.clear(),this._db.clear()}register(e){this._clients.set(e.id.slice(0,-1),e)}deregister(e){this.clear(e),this._sizeLimits.delete(e),this._clients.delete(e.id.slice(0,-1))}get maxSize(){return this._maxSize}set maxSize(e){this._maxSize=Math.max(e,-1),this._checkSize()}get _maxClientSize(){return this._maxSize*this._maxClientSizeRatio}getSize(e,t){const s=this._db.get(e.id+t);return s?.size??0}put(e,t,s,r,o){t=e.id+t;const a=this._db.get(t);if(a&&(this._size-=a.size,e.size-=a.size,this._db.delete(t),a.entry!==s&&this._notifyRemove(t,a.entry,a.size,0)),r>this._maxSize)return void this._notifyRemove(t,s,r,0);if(void 0===s)return void console.warn("Refusing to cache undefined entry ");if(!r||r<0)return i||console.warn(`Refusing to cache entry with size ${r} for key ${t}`),void this._notifyRemove(t,s,0,0);const l=1+Math.max(o,-4)- -3;this._db.set(t,new n(s,r,l)),this._size+=r,e.size+=r,this._checkSize()}updateSize(e,t){t=e.id+t;const s=this._db.get(t);if(!s)return;this._size-=s.size,e.size-=s.size;let i=s.entry.usedMemory;for(;i>this._maxSize;){const e=this._notifyRemove(t,s.entry,i,1);if(!(null!=e&&e>0))return void this._db.delete(t);i=e}s.size=i,this._size+=i,e.size+=i,this._checkSize()}pop(e,t){t=e.id+t;const s=this._db.get(t);if(s)return this._size-=s.size,e.size-=s.size,this._db.delete(t),++this._hit,s.entry;++this._miss}get(e,t){t=e.id+t;const s=this._db.get(t);if(void 0!==s)return this._db.delete(t),s.lives=s.lifetime,this._db.set(t,s),++this._hit,s.entry;++this._miss}peek(e,t){const s=this._db.get(e.id+t);return s?++this._hit:++this._miss,s?.entry}get performanceInfo(){const e={Size:Math.round(this._size/1048576)+"/"+Math.round(this._maxSize/1048576)+"MB","Hit rate":Math.round(100*this._getHitRate())+"%",Entries:this._db.size.toString()},t={},s=new Array;this._db.forEach((e,i)=>{const r=e.lifetime;s[r]=(s[r]||0)+e.size,this._clients.forEach(s=>{const{id:r,name:n}=s;if(i.startsWith(r)){const s=t[n]||0;t[n]=s+e.size}})});const i={};this._clients.forEach(e=>{const s=e.name;if("hitRate"in e&&"number"==typeof e.hitRate&&!isNaN(e.hitRate)&&e.hitRate>0){const r=t[s]||0;t[s]=r,i[s]=Math.round(100*e.hitRate)+"%"}else i[s]="0%"});const r=Object.keys(t);r.sort((e,s)=>t[s]-t[e]),r.forEach(s=>e[s]=Math.round(t[s]/2**20)+"MB / "+i[s]);for(let t=s.length-1;t>=0;--t){const i=s[t];i&&(e["Priority "+(t+-3-1)]=Math.round(i/this._size*100)+"%")}return e}resetStats(){this._hit=this._miss=0,this._clients.forEach(e=>e.resetHitRate())}clear(e){const t=e.id;this._db.forEach((e,s)=>{s.startsWith(t)&&(this._size-=e.size,this._db.delete(s),this._notifyRemove(s,e.entry,e.size,0))}),e.size=0}clearAll(){this._db.forEach((e,t)=>this._notifyRemove(t,e.entry,e.size,0)),this._clients.forEach(e=>e.size=0),this._size=0,this._db.clear()}*values(e){for(const[t,s]of this._db)t.startsWith(e.id)&&(yield s.entry)}_getHitRate(){return this._hit/(this._hit+this._miss)}_notifyRemove(e,t,s,i){const r=this._clients.get(e.split(o)[0])?.removeFunc,n=r?.(t,i,s);return"number"==typeof n?n:null}_checkSize(){this._sizeLimits.forEach((e,t)=>this._checkSizeLimits(e,t)),this._clients.forEach(e=>this._checkSizeLimits(this._maxClientSize,e)),this._checkSizeLimits(this.maxSize)}setMaxClientSize(e,t){null==t||t<=0?this._sizeLimits.delete(e):this._sizeLimits.set(e,t)}_checkSizeLimits(e,t){const s=t??this;if(s.size<=e)return;const i=t?.id;let r=!0;for(;r;){r=!1;for(const[n,a]of this._db)if(0===a.lifetime&&(!i||n.startsWith(i))){const i=t??this._clients.get(n.split(o)[0]);if(this._purgeItem(n,a,i),s.size<=.9*e)return;r||=this._db.has(n)}}for(const[r,n]of this._db)if(!i||r.startsWith(i)){const i=t??this._clients.get(r.split(o)[0]);if(this._purgeItem(r,n,i),s.size<=.9*e)return}}_purgeItem(e,t,s){if(this._db.delete(e),t.lives<=1){this._size-=t.size,s&&(s.size-=t.size);const i=this._notifyRemove(e,t.entry,t.size,1);null!=i&&i>0&&(this._size+=i,s&&(s.size+=i),t.lives=t.lifetime,t.size=i,this._db.set(e,t))}else--t.lives,this._db.set(e,t)}}new r(0);class n{constructor(e,t,s){this.entry=e,this.size=t,this.lifetime=s,this.lives=s}}const o=":";class a{constructor(e,t){this.removeFunc=t,this.id="",this.name="",this.size=0,this._storage=new r(e,1),this._storage.register(this)}destroy(){this._storage.deregister(this),this._storage.destroy()}put(e,t,s=1){this._storage.put(this,e,t,s,1)}pop(e){return this._storage.pop(this,e)}get(e){return this._storage.get(this,e)}clear(){this._storage.clearAll()}get maxSize(){return this._storage.maxSize}set maxSize(e){this._storage.maxSize=e}resetHitRate(){}}},9775(e,t,s){s.d(t,{A:()=>n});var i=s(62788),r=s(95488);class n{constructor(e=e=>e.values().next().value){this._peeker=e,this._observable=new r.I,this._items=new Set}get length(){return(0,i.gc)(this._observable),this._items.size}clear(){0!==this.length&&(this._items.clear(),this._observable.notify())}last(){if(0===this.length)return;let e;for(e of this._items);return e}peek(){if(0!==this.length)return this._peeker(this._items)}push(e){this.contains(e)||(this._items.add(e),this._observable.notify())}contains(e){return(0,i.gc)(this._observable),this._items.has(e)}pop(){if(0===this.length)return;const e=this.peek();return this._items.delete(e),this._observable.notify(),e}popLast(){if(0===this.length)return;const e=this.last();return this._items.delete(e),this._observable.notify(),e}remove(e){this.contains(e)&&(this._items.delete(e),this._observable.notify())}filter(e){const t=this.length;return this._items.forEach(t=>{e(t)||this._items.delete(t)}),t!==this._items.size&&this._observable.notify(),this}*[Symbol.iterator](){(0,i.gc)(this._observable),yield*this._items}}},48459(e,t,s){s.r(t),s.d(t,{default:()=>P});var i=s(5482),r=s(7762),n=s(21818),o=s(49186),a=s(44208),l=s(53966),u=s(17676),c=s(563),p=s(39516),d=s(16930),h=s(70328),f=s(56390),y=s(8384),m=s(58727),g=s(64714),w=s(17754),_=s(20437),S=s(95466),x=s(10427),b=s(16238);function z(e){switch(e.type){case"wkb":return b.A.fromJSON(e);case"location":return x.A.fromJSON(e)}}var F=s(42760),v=s(39412),R=s(63892),C=s(30661),I=s(28923),A=s(44320),q=s(35258),E=s(16630);const M=new C.Z,O="__OBJECTID",T=new TextDecoder;class P{constructor(){this._fileInfos=new Map,this._queue=new c.QueueProcessor({concurrency:4,process:(e,t)=>this._executeQuery(e,t)}),this._indexMap={}}async load(e){const t=e.spatialReference?d.A.fromJSON(e.spatialReference):void 0;if(t&&!t.isWGS84&&!t.isWebMercator)throw new o.A("parquet:unsupported-projection","Only WGS84 and Web Mercator are supported");const s=await(0,F.nc)({urls:new r.A(e.urls),fields:e.fields?.map(e=>_.A.fromJSON(e)),geometryEncoding:e.geometryEncoding?z(e.geometryEncoding):null,geometryType:e.geometryType?(0,F.hG)(e.geometryType):null,displayOptimization:e.displayOptimization,spatialReference:t},{customParameters:e.customParameters});if(!s.fields)throw new o.A("parquet:unsupported","Fields must be defined");let n;if(s.spatialReference&&s.geometryType){if(!s.spatialReference)throw new o.A("parquet:unsupported","SpatialReference must be defined");if(!s.spatialReference.isGeographic&&!s.spatialReference.isWebMercator)throw new o.A("parquet:unsupported-projection","Only WGS84 and Web Mercator are supported");s.spatialReference.isGeographic&&!s.spatialReference.isWGS84&&(l.A.getLogger("parquet:unsupported-projection").warn("Found a geographic projection that is not WGS84. Handling as WGS84.",{spatialReference:s.spatialReference}),s.spatialReference=d.A.WGS84),n={geometry:s.geometryEncoding?{geometryType:(0,F.sA)(s.geometryType),spatialReference:s.spatialReference.toJSON(),encoding:s.geometryEncoding.toJSON()}:null,displayOptimization:s.displayOptimization}}this.setCustomParameters(e.customParameters),this._geometryInfo=n;const a=e.urls;for(const e of a)this._addFile(e);this._capabilities=N(await this.getFileStatistics());const u=this._fileInfos.values().next().value;if(!u)return{layerDefinition:{},capabilities:N(null)};const c=await u,{fields:p}=s;if(null==p)throw new o.A("parquet-layer:missing-metadata","Unable to create parquet source: cannot infer fields",p);p.push(new _.A({name:O,type:"oid",alias:O}));for(const e of p){const t=c.file.columnForFieldName(e.name);null!=t&&(this._indexMap[e.name]=t)}const f=new S.A(p.map(e=>e.toJSON()));this._fieldsIndex=f;const y=(0,F.sA)(s.geometryType??"point");if(this._metadata=q.i.createFeature({fieldsIndex:f.toJSON(),geometryType:y,featureIdInfo:{type:"object-id",fieldName:"rowId"},subtypes:null,subtypeField:null,types:null,typeIdField:null,globalIdField:null,spatialReference:s.spatialReference,outSpatialReference:null,timeInfo:null,timeReferenceUnknownClient:null,dateFieldsTimeZone:null}),this._queryEngineParams={fieldsIndex:this._metadata.fieldsIndex,geometryType:y,featureIdInfo:{type:"object-id",fieldName:"rowId"},hasM:!1,hasZ:!1,spatialReference:s.spatialReference?.toJSON()??{wkid:4326},aggregateAdapter:null,timeInfo:null,definitionExpression:null},s.spatialReference){const e=await this.getFileInfos();this._fullExtent=function(e,t){const s=(0,h.hZ)((0,h.vt)(),h.qv);for(const t of e){const e=(0,R.hD)(t.file);if(!e)return null;const i=e.columns[e.primary_column];if(!i.bbox)return null;const r=Q(i.bbox);(0,h.RF)(s,r)}return{xmin:s[0],ymin:s[1],xmax:s[3],ymax:s[4],spatialReference:t}}(e,s.spatialReference.toJSON())}if(null==this._fullExtent&&"location"===s.geometryEncoding?.type){const{xField:e,yField:t}=s.geometryEncoding,r=(0,h.hZ)((0,h.vt)(),h.qv);for(const s of await this.getFileInfos())for(const n of s.file.rowGroups()){const s={stack:[],error:void 0,hasError:!1};try{const o=(0,i.mS)(s,n.columnDescriptorForAttribute(e),!1),a=(0,i.mS)(s,n.columnDescriptorForAttribute(t),!1),l=[o.minValue(),a.minValue(),o.maxValue(),a.maxValue()];(0,h.DC)(r,l),n.free()}catch(e){s.error=e,s.hasError=!0}finally{(0,i.hk)(s)}}this._fullExtent={xmin:r[0],ymin:r[1],xmax:r[3],ymax:r[4],spatialReference:s.spatialReference?.toJSON()}}return{capabilities:this._capabilities,layerDefinition:{fields:s.fields?.map(e=>e.toJSON()),drawingInfo:(0,g.F0)(y),extent:this._fullExtent??void 0,geometryType:y,geometryEncoding:s.geometryEncoding?.toJSON(),displayOptimization:s.displayOptimization}}}destroy(){for(const e of this._fileInfos.values())e.then(e=>e.file.free);this._fileInfos.clear(),this._queue.destroy()}setCustomParameters(e){this._customParameters=e}getIndexMap(){return this._indexMap}async getFileId(e){const t=this._fileInfos.get(e);if(!t)throw new Error(`InternalError: File ${e} does not exist`);return(await t).id}async getFileInfo(e){const t=this._fileInfos.get(e);if(!t)throw new Error(`InternalError: File ${e} does not exist`);return t}async getFileInfos(){return Promise.all(Array.from(this._fileInfos.values()))}async getFileStatistics(){if(!this._fileInfos.size)return null;const e=(await this.getFileInfos()).reduce((e,t)=>e+t.file.byteLength(),0);return{featureCount:await this._getFeatureCount(),byteLength:e}}async updateFiles(e){const t=new Set(e);for(const[e,s]of this._fileInfos.entries())t.has(e)?t.delete(e):(s.then(e=>e.file.free()),this._fileInfos.delete(e));await Promise.all(Array.from(t.values()).map(e=>this._addFile(e)))}async queryFeatures(e,t){return this._validateQuery(e),function(e){return!!(e.objectIds?.length||e.outStatistics||e.orderByFields?.length||e.returnDistinctValues)}(e)||(e.resultRecordCount=e.resultRecordCount?Math.min(e.resultRecordCount,8e3):8e3,e.resultOffset=e.resultOffset??0),(e.outStatistics||e.returnDistinctValues)&&(e.returnGeometry=void 0),(await this._enqueueQuery(e,t)).createQueryResponse()}async queryFeatureCount(e,t){const s=await(0,m.T2)(e,null,this._queryEngineParams.spatialReference);return this._validateQuery(s),G(s)?(s.outFields=void 0,s.returnGeometry=void 0,(await this._enqueueQuery(s,t)).createQueryResponseForCount()):this._getFeatureCount()}async queryObjectIds(e,t){const s=await(0,m.T2)(e,null,this._queryEngineParams.spatialReference);return this._validateQuery(s),G(s)?(s.resultRecordCount=s.resultRecordCount?Math.min(s.resultRecordCount,8e3):8e3,s.resultOffset=s.resultOffset??0,s.returnGeometry=void 0,s.outFields=void 0,(await this._enqueueQuery(s,t)).items.map(e=>e.getObjectId())):Array.from({length:await this._getFeatureCount()},(e,t)=>t)}async queryExtent(e,t){const s=await(0,m.T2)(e,null,this._queryEngineParams.spatialReference);if(this._validateQuery(s),this._fullExtent&&!G(s))return{count:await this._getFeatureCount(),extent:this._fullExtent};const i=(0,n.z)(this._metadata.spatialReference);s.returnGeometry=!0,s.outFields=void 0;const r=(0,h.hZ)((0,h.vt)(),h.qv),o=(0,h.vt)(),a=await this._enqueueQuery(s,t);let l=0;for(const e of a.items)e.getBounds(o)&&((0,h.RF)(r,o),l+=1);return{count:l,extent:(0,f.Wc)(r,i,s.outSR?(0,n.z)(s.outSR):i,i,!1)}}async queryStream(e,t,s){if(!s.signal)throw new Error("InternalError: AbortSignal must be passed");const i=await this.getFileInfo(e),r=(await(0,v.N)()).Query.new();"tile"===t.type&&(r.setExtent(t.extent),r.setQuantizationTransform(t.transform),r.setScale(t.scale)),r.setOutFields(t.outFields.filter(e=>null!=this._indexMap[e])),r.setOutSpatialReference(t.outSpatialReference.wkid),r.setReturnGeometry(!0),t.where&&await this._setWhereClause(r,i.file,t.where);const n=await i.file.executeQuery(r,s.signal),o=i.streamIdCounter++,a=(0,u.NY)(s.signal,e=>{const t=i.streams.get(o);null!=t&&(t.handle.remove(),i.streams.delete(o))});return i.streams.set(o,{stream:n,handle:a}),o}async getStreamNext(e,t,s){if(!s.signal)throw new Error("InternalError: AbortSignal must be passed");const i=await this.getFileInfo(e),r=i.streams.get(t);if(!r)return null;const n=await r.stream.next(s.signal);return null==n&&(r.handle.remove(),i.streams.delete(t)),n?.serialize().buffer}async createPatch(e,t,s,i,r){if(!r.signal)throw new Error("InternalError: AbortSignal must be passed");const n=await this.getFileInfo(e);return(await n.file.createChunkPatch(t,s,i,r.signal)).serialize().buffer}async _getFile(e){for(const t of await this.getFileInfos())if(t.id===e)return t.file;throw new Error(`InternalError: File ${e} does not exist`)}_addFile(e){const t=this._fileInfos.size;this._fileInfos.set(e,this._createFileInfo(e,t))}async _createFileInfo(e,t){return{id:t,file:await(0,R.DV)(e,{geometryInfo:this._geometryInfo,getCustomParameters:()=>this._customParameters}),streamIdCounter:0,streams:new Map}}async _getFeatureCount(){return(await this.getFileInfos()).reduce((e,t)=>e+t.file.numRows(),0)}_validateQuery(e){if(!this._capabilities.query.supportsStatistics&&e.outStatistics)throw new o.A("parquet:unsupported","Statistics queries are not supported",{query:e});if(!this._capabilities.query.supportsOrderBy&&e.orderByFields?.length)throw new o.A("parquet:unsupported","Queries using orderBy are not supported",{query:e});if(!this._capabilities.query.supportsDistinct&&e.returnDistinctValues)throw new o.A("parquet:unsupported","Queries using returnDistinctValues are not supported",{query:e})}async _setWhereClause(e,t,s){const i=this._indexMap,r=this._fieldsIndex,n={getAttribute(e,s){const n=t.readAttribute(e.rowGroup,e.row,i[s]),o=r.get(s);return"esriFieldTypeString"===o.type||"esriFieldTypeDateOnly"===o.type||"esriFieldTypeTimeOnly"===o.type||"esriFieldTypeTimestampOffset"===o.type?T.decode(n):n}},a=await(0,p.GP)(s,this._fieldsIndex);if(!a.isStandardized)throw new o.A("sql-parse-error","expression is not standardized");e.setWhere(s),e.setWhereEvaluator((e,t)=>a.testFeatureCompiled({rowGroup:e,row:t},n,null)),e.setWhereFields(a.fieldNames)}async*_fetchChunks(e,t){const s=await(0,v.N)();for(const i of await this.getFileInfos()){const r=s.Query.new();r.setOutFields(e.fields),r.setReturnGeometry(e.returnGeometry),e.where&&await this._setWhereClause(r,i.file,e.where);const n=await i.file.executeQuery(r),o=[],a=n.next(t);for(let e=0;e<4;e++)o.push(n.next(t));let l=await a;for(;null!=l;){(0,u.Te)(t);const e=new E.s(this._metadata,this._indexMap,l,i.id),s=k([new I.j(e,null,0,!1)],this._queryEngineParams),r=o.shift();o.push(n.next(t)),yield s,l=await r}}}_enqueueQuery(e,t){return this._queue.push(e,t)}async _executeQuery(e,t){const s=await this._getReadParams(e);if(e.where=void 0,e.objectIds?.length){const s=new Map;for(const t of e.objectIds){const e=(0,w.wY)(t),i=(0,w.gE)(t);let r=s.get(e);r||(r=[],s.set(e,r)),r.push(i)}const i=[];for(const[r,n]of s.entries()){const s=await this._executeFileIdQuery(e,r,n,t);for(const e of s)i.push(e)}return new y.G(i,e,{fieldsIndex:this._fieldsIndex,geometryType:this._metadata.geometryType,spatialReference:this._queryEngineParams.spatialReference,objectIdField:"rowId",hasM:!1,hasZ:!1,featureAdapter:M})}let i=e.resultRecordCount??await this._getFeatureCount(),r=e.resultOffset??0;e.resultRecordCount=void 0,e.resultOffset=void 0;const n=[];for await(const o of this._fetchChunks(s,t)){const s=await o.executeQueryForOpaqueFeatures(e,t);if(s.length>r){const t=s.slice(r,Math.min(r+i,s.length));for(const e of t)n.push(e);if(r=0,i-=t.length,0===i)return new y.G(n,e,{fieldsIndex:this._fieldsIndex,geometryType:this._metadata.geometryType,spatialReference:this._queryEngineParams.spatialReference,objectIdField:"rowId",hasM:!1,hasZ:!1,featureAdapter:M})}else r-=s.length}return new y.G(n,e,{fieldsIndex:this._fieldsIndex,geometryType:this._metadata.geometryType,spatialReference:this._queryEngineParams.spatialReference,objectIdField:"rowId",hasM:!1,hasZ:!1,featureAdapter:M})}async _executeFileIdQuery(e,t,s,i){const r=await this._getReadParams(e),n=(await(0,v.N)()).Query.new();n.setOutFields(r.fields),n.setReturnGeometry(r.returnGeometry),n.setIds(new Uint32Array(s));const o=await this._getFile(t),a=await o.executeQuery(n,i);let l=await a.next(i),u=0;const c=[];for(;null!=l;){const e=new E.s(this._metadata,this._indexMap,l,t),s=new I.j(e,null,u++,!1);c.push(s),l=await a.next(i)}return k(c,this._queryEngineParams).executeQueryForOpaqueFeatures(e,i)}async _getReadParams(e){const t=new Set;if(e.outStatistics)for(const s of e.outStatistics)null!=s.onStatisticField&&t.add(s.onStatisticField);if(e.outFields)for(const s of e.outFields)t.add(s);return{fields:(t.has("*")?this._fieldsIndex.fields.map(e=>e.name):Array.from(t)).filter(e=>null!=this._indexMap[e]),returnGeometry:!!e.returnGeometry||!!e.geometry,where:e.where}}}function G(e){for(const t in e){const s=t;switch(s){case"resultOffset":case"resultRecordCount":case"aggregateIds":case"distance":case"gdbVersion":case"geometry":case"having":case"timeExtent":case"objectIds":case"historicMoment":case"where":return null!=e[s]}}return!1}function k(e,t){const s=new A.I;for(const t of e)s.insert(t);return new f.do({...t,featureStore:s})}function Q(e){switch(e.length){case 4:return(0,h.Jt)((0,h.vt)(),e);case 6:return e;default:throw new o.A("parquet:protocol-violation","Invalid Geoparquet file. BoundingBox size must be 4 or 6.",{bbox:e})}}function N(e){const t=e?.featureCount;let s=!1;return null!=t&&t<(0,a.A)("parquetlayer-full-query-feature-count")&&(s=!0),{analytics:{supportsCacheHint:!1},attachment:null,data:{isVersioned:!1,isBranchVersioned:!1,supportedCurveTypes:[],supportsAttachment:!1,supportsM:!1,supportsTrueCurve:!1,supportsZ:!1},metadata:{supportsAdvancedFieldProperties:!1},operations:{supportsCalculate:!1,supportsTruncate:!1,supportsValidateSql:!1,supportsAdd:!1,supportsDelete:!1,supportsEditing:!1,supportsChangeTracking:!1,supportsQuery:!0,supportsQueryBins:!1,supportsQueryPivot:!1,supportsQueryAnalytics:!1,supportsQueryAttachments:!1,supportsQueryTopFeatures:!1,supportsResizeAttachments:!1,supportsSync:!1,supportsUpdate:!1,supportsExceedsLimitStatistics:!1,supportsAsyncConvert3D:!1},query:{maxRecordCount:8e3,maxRecordCountFactor:void 0,maxUniqueIDCount:void 0,relativeTimeBinWindow:void 0,standardMaxRecordCount:void 0,supportsCacheHint:!1,supportsCentroid:!0,supportsCentroidOnDegeneratedQuantizedGeometry:!1,supportsCurrentUser:!1,supportsDegeneratedQuantizedGeometry:!1,supportsDisjointSpatialRelationship:!1,supportsDistance:!1,supportsDistinct:s,supportsExtent:!1,supportsFormatPBF:!1,supportsFormatPBFWithCurves:!1,supportsGeometryProperties:!1,supportsHavingClause:!1,supportsHistoricMoment:!1,supportsMaxRecordCountFactor:!1,supportsOrderBy:s,supportsPagination:!0,supportsPaginationOnAggregatedQueries:!1,supportsPercentileStatistics:!1,supportsQuantization:!0,supportsQuantizationEditMode:!1,supportsQueryByAnonymous:!1,supportsQueryByOthers:!1,supportsQueryGeometry:!1,supportsResultType:!1,supportsReturnMesh:!1,supportsStandardizedQueriesOnly:!1,supportsTopFeaturesQuery:!1,supportsStatistics:s,supportsSpatialAggregationStatistics:!1,supportedSpatialAggregationStatistics:{envelope:!1,centroid:!1,convexHull:!1},supportsDefaultSpatialReference:!1,supportsFullTextSearch:!1,supportsCompactGeometry:!1,supportsSqlExpression:!1,supportsTrueCurve:!1,tileMaxRecordCount:void 0},queryAttributeBins:{supportsDate:!1,supportsFixedInterval:!1,supportsAutoInterval:!1,supportsFixedBoundaries:!1,supportsStackBy:!1,supportsSplitBy:!1,supportsSnapToData:!1,supportsReturnFullIntervalBin:!1,supportsFirstDayOfWeek:!1,supportsNormalization:!1},queryRelated:{supportsCount:!1,supportsOrderBy:!1,supportsPagination:!1,supportsCacheHint:!1},queryTopFeatures:{supportsCacheHint:!1},editing:{supportsDeleteByAnonymous:!1,supportsDeleteByOthers:!1,supportsGeometryUpdate:!1,supportsGlobalId:!1,supportsTrueCurveUpdate:!1,supportsTrueCurveUpdateByTrueCurveClientsOnly:!0,supportsReturnServiceEditsInSourceSpatialReference:!1,supportsRollbackOnFailure:!1,supportsUpdateByAnonymous:!1,supportsUpdateByOthers:!1,supportsUploadWithItemId:!1,supportsUpdateWithoutM:!1,supportsAsyncApplyEdits:!1,zDefault:void 0}}}},10427(e,t,s){s.d(t,{A:()=>a});var i=s(5482),r=s(69540),n=s(25482),o=s(91429);let a=class extends((0,r.OU)(n.o)){constructor(e){super(e),this.type="location",this.xField=null,this.yField=null}};(0,i.Cg)([(0,o.MZ)({type:["location"],nonNullable:!0,readOnly:!0,json:{read:!1,write:{isRequired:!0}}})],a.prototype,"type",void 0),(0,i.Cg)([(0,o.MZ)({type:String,json:{write:{isRequired:!0}}})],a.prototype,"xField",void 0),(0,i.Cg)([(0,o.MZ)({type:String,json:{write:{isRequired:!0}}})],a.prototype,"yField",void 0),a=(0,i.Cg)([(0,o.$K)("esri.layers.support.ParquetGeometryEncodingLocation")],a)},16238(e,t,s){s.d(t,{A:()=>a});var i=s(5482),r=s(69540),n=s(25482),o=s(91429);let a=class extends((0,r.OU)(n.o)){constructor(e){super(e),this.type="wkb",this.field=null}};(0,i.Cg)([(0,o.MZ)({type:["wkb"],nonNullable:!0,readOnly:!0,json:{read:!1,write:{isRequired:!0}}})],a.prototype,"type",void 0),(0,i.Cg)([(0,o.MZ)({type:["counter-clockwise"],json:{write:!0}})],a.prototype,"orientation",void 0),(0,i.Cg)([(0,o.MZ)({type:String,json:{write:{isRequired:!0}}})],a.prototype,"field",void 0),a=(0,i.Cg)([(0,o.$K)("esri.layers.support.ParquetGeometryEncodingWkb")],a)},54625(e,t,s){s.d(t,{i_:()=>r});var i=s(30524);function r(e,t,s){t=(0,i.rS)(t)?.toLowerCase(),s=(0,i.rS)(s)?.toLowerCase();const r=e.map(e=>e.toLowerCase()),a=t?e[r.indexOf(t)]:null,l=s?e[r.indexOf(s)]:null;return{longitudeFieldName:a||e[r.indexOf(o.find(e=>r.includes(e)))],latitudeFieldName:l||e[r.indexOf(n.find(e=>r.includes(e)))]}}const n=["lat","lat83","latitude","latitude83","latdecdeg","lat_dd","y","ycenter","point_y"],o=["lon","lng","lng83","long","long83","longitude","longitude83","longdecdeg","long_dd","x","xcenter","point_x"]},42760(e,t,s){s.d(t,{hG:()=>y,nc:()=>m,sA:()=>f,ye:()=>d}),s(7762);var i=s(49186),r=s(66552),n=s(16930),o=s(20437),a=s(30524),l=s(54625),u=s(10427),c=s(16238),p=s(63892);const d=new r.J({esriGeometryPoint:"point",esriGeometryPolygon:"polygon",esriGeometryPolyline:"polyline",esriGeometryMultipoint:"multipoint"}),h=new Set(["uncompressed","snappy","gzip"]);function f(e){return d.toJSON(e)}function y(e){return d.fromJSON(e)}async function m(e,t={}){if(e.urls.length<1)throw new i.A("parquet:bad-input","At least one url must be specified",e);if(e.geometryType&&e.spatialReference&&e.geometryEncoding&&e.fields)return e;const s=await(0,p.DV)(e.urls.getItemAt(0),{getCustomParameters:()=>t.customParameters});for(const e of s.compressionCodecs())if(!h.has(e))throw new i.A("parquet:unsupported",`Compression codec ${e} is unsupported. Must be of type ${Array.from(h).join(",")}`);const r=(0,p.hD)(s),d={...e,file:s};if(null==d.fields&&(d.fields=s.fields(!1).map(e=>o.A.fromJSON({name:e.name,alias:e.name,type:e.type}))),null!=d.geometryEncoding){const e=d.geometryEncoding;switch(e.type){case"wkb":{const t=d.fields.find(t=>t.name===e.field);if(!t)throw new i.A("parquet:unsupported",`Geometry encoding references field ${e.field} which does not exist`);if("blob"!==t.type)throw new i.A("parquet:unsupported",`Invalid field type for geometry encoding. Found ${t.type} but expected 'blob'`);break}case"location":for(const t of[e.xField,e.yField])if(null!=t){const e=d.fields.find(e=>e.name===t);if(!e)throw new i.A("parquet:unsupported",`Geometry encoding references field ${t} which does not exist`);if(!(0,a.WA)(e))throw new i.A("parquet:unsupported",`Invalid field type for location geometry encoding. Found ${e.type} but expected a numeric`)}}}null==d.geometryEncoding&&(d.geometryEncoding=function(e,t){if(null!=e){const t=e.primary_column,s=e.columns[t];return new c.A({field:t,orientation:"counterclockwise"===s.orientation?"counter-clockwise":null})}const s=t.filter(e=>(0,a.WA)(e)).map(e=>e.name),i=(0,l.i_)(s);return i.latitudeFieldName&&i.longitudeFieldName?new u.A({xField:i.longitudeFieldName,yField:i.latitudeFieldName}):null}(r,d.fields));const f=(0,p.Xj)(s);if(f&&(d.displayOptimization=f),d.geometryEncoding)switch(d.geometryEncoding.type){case"location":null==d.spatialReference&&(d.spatialReference=n.A.WGS84),null==d.geometryType&&(d.geometryType="point");break;case"wkb":{if(!r)return d;const e=r.primary_column,t=r.columns[e];if(d.geometryType||(d.geometryType=function(e){const{geometry_types:t}=e,s=new Set;for(const e of t){const t=g(e);t&&s.add(t)}if(s.size>1)throw new i.A("parquet:unsupported","Parquet mixed geometry types are not supported",{geometryTypes:s});return 1===s.size?s.values().next().value:void 0}(t)),d.spatialReference||(d.spatialReference=function(e){const t=e.crs?.id?.code;return t&&"number"==typeof t?new n.A({wkid:t}):void 0}(t)),d.fields)for(const e of Object.keys(r.columns))d.fields=d.fields.filter(t=>t.name!==e)}}if(d.displayOptimization){const e=d.displayOptimization.index;if(!d.spatialReference&&e.wkid&&(d.spatialReference=new n.A({wkid:e.wkid})),!d.geometryType)switch(e.type){case"z":d.geometryType="point";break;case"xz":d.geometryType=e.geometryType}}return d}function g(e){switch(e){case"Point":return"point";case"Polygon":case"MultiPolygon":return"polygon";case"LineString":return"polyline";case"MultiPoint":return"multipoint";default:return null}}},63892(e,t,s){s.d(t,{DV:()=>y,Xj:()=>g,hD:()=>m});var i=s(11254),r=s(49186),n=s(44208),o=s(563),a=s(84952),l=s(39412);const u="parquet.v1",c=new o.QueueProcessor({concurrency:12,process:async e=>{const{data:t}=await(0,i.A)(e.url,e.options);return t}}),p=e=>async function(t,s,i,r){const o=e?.(),a={url:t,options:{responseType:"array-buffer",query:o??{},cacheMode:"no-store",useQueue:!0,headers:{range:`bytes=${s}-${i}`}}};if(!(0,n.A)("parquetlayer-cache-enabled"))return c.push(a);const l=new URL(t);l.searchParams.append("range",`${s}-${i}`);try{const e=await caches.open(`${u}:${t}`),s=await e.match(l);if(s)return await s.arrayBuffer();const i=await c.push(a);return await e.put(l,new Response(i,{headers:{"Content-Type":"application/octet-stream","Content-Length":i.byteLength.toString()}})),i}catch(e){return c.push(a)}},d=e=>async function(t){if((0,a.w8)(t)){const{data:e}=await(0,i.A)(t,{responseType:"blob"});return e.size}const{data:s}=await(0,i.A)(t,{responseType:"native",method:"head",query:e?.()}),r=s.headers.get("Content-Length");if(null==r)throw new Error("Unable to parse content length");const o=parseInt(r,10);if(!(0,n.A)("parquetlayer-cache-enabled"))return o;try{const e=`${u}:${t}`,i=new URL(t);i.searchParams.append("metadata","true");let r=await caches.open(e);const n=s.headers.get("etag")??s.headers.get("Last-Modified");if(null==n)return await caches.delete(e),o;const a=await r.match(i),l=await(a?.json());l?.tag!==n&&(await caches.delete(e),r=await caches.open(e));const c=JSON.stringify({tag:n});await r.put(i,new Response(c,{headers:{"Content-Type":"application/json","Content-Length":c.length.toString()}}))}catch(e){}return o};function h(e,t){switch(t){case"esriGeometryPoint":return e.GeometryType.Point;case"esriGeometryPolygon":case"polygon":return e.GeometryType.Polygon;case"esriGeometryPolyline":case"polyline":return e.GeometryType.Polyline;case"esriGeometryMultipoint":case"multipoint":return e.GeometryType.Multipoint;default:throw new r.A("parquet",`Found unexpected GeometryType: ${t}`)}}function f(e,t){const s=e.GeometryInfo.new();t.geometry&&s.setGeometry(function(e,t){const s=t.encoding,i=h(e,t.geometryType),r=t.spatialReference.wkid;if(null==r)throw new Error("InternalError: Wkid must be defined.");switch(s.type){case"wkb":return e.GeometryField.fromWkb(s.field,r,i);case"location":{const{yField:t,xField:n}=s;return e.GeometryField.fromLocation(t,n,r,i)}}}(e,t.geometry));const i=t.displayOptimization;if(i){const{index:t,parentColumn:r}=i,n=e=>null!=r?[r,e].join("."):e;if("z"===t.type){const i=e.DisplayOptimizationZBuilder.new();i.setCodeField(n(t.code)),i.setXColumn(n(t.xColumn)),i.setYColumn(n(t.yColumn)),i.setCooordinatePrecision(t.coordinatePrecision),i.setFullExtent(t.fullExtent),i.setSpatialReference(t.wkid,t.wkt),i.setHasZ(!!t.zColumn),i.setHasM(!!t.mColumn),s.setOptmizationZ(i)}if("xz"===t.type){const i=h(e,t.geometryType),r=e.DisplayOptimizationXZBuilder.new();r.setCodeField(n(t.code)),r.setEncoding(t.encoding),r.setFullExtent(t.fullExtent),r.setGeometryType(i),r.setSpatialReference(t.wkid,t.wkt),r.setMaxLevel(t.maxLevel),r.setHasZ(t.hasZ??!1),r.setHasM(t.hasM??!1);for(const s of t.levels??[]){const[t,i]=s.transform.translate,[o,a]=s.transform.scale,l=new Float64Array([t,i]),u=new Float64Array([o,a]),c=n(s.column);r.addLevel(e.MultiscaleGeometryField.new(s.level,s.scale,c,l,u))}s.setOptmizationXZ(r)}}return s}async function y(e,t={}){const s=await(0,l.N)(),i=p(t.getCustomParameters),n=d(t.getCustomParameters),o=t.geometryInfo?f(s,t.geometryInfo):null;try{return await s.ParquetFile.fromUrl(e,i,n,o)}catch(e){throw new r.A("parquet","Failed to parse file",{error:e})}}function m(e){const t=e.keyValueMetadata("geo");return null!=t?JSON.parse(t):null}function g(e){if(e.keyValueMetadata("esri"))throw new r.A("parquet:unsupported","File was created using an unsupported experimental display index. Please regenerate the file.");const t=e.keyValueMetadata("geodisplay");if(null!=t)return JSON.parse(t);const s=e.keyValueMetadata("org.apache.spark.sql.parquet.row.metadata");if(null!=s){const e=JSON.parse(s);for(const t of e.fields)if(null!=t.metadata&&"type"in t.metadata&&("xz"===t.metadata.type||"z"===t.metadata.type)){const e={parentColumn:t.name,index:t.metadata};if("xz"===e.index.type&&(e.index.geometryType=e.index.geometryType.toLowerCase(),"esri-pbf"===e.index.encoding&&(e.index.encoding="esriPBF"),"esriPBF"!==e.index.encoding))throw new r.A("parquet:unsupported",`Encoding for display index must be of type esriPBF, but found ${e.index.encoding}`);return e}}return null}},93470(e,t,s){s.d(t,{Cb:()=>n,HW:()=>c,JR:()=>r,JZ:()=>l,WR:()=>a,b6:()=>p,fT:()=>i,nC:()=>u,yM:()=>o});const i=[252,146,31,255],r=[153,153,153,255],n={type:"esriSMS",style:"esriSMSCircle",size:6,color:i,outline:{type:"esriSLS",style:"esriSLSSolid",width:.75,color:[153,153,153,255]}},o={type:"esriSLS",style:"esriSLSSolid",width:.75,color:i},a={type:"esriSFS",style:"esriSFSSolid",color:[252,146,31,196],outline:{type:"esriSLS",style:"esriSLSSolid",width:.75,color:[255,255,255,191]}},l={type:"esriTS",color:[255,255,255,255],font:{family:"arial-unicode-ms",size:10,weight:"bold"},horizontalAlignment:"center",kerning:!0,haloColor:[0,0,0,255],haloSize:1,rotated:!1,text:"",xoffset:0,yoffset:0,angle:0},u={type:"esriSMS",style:"esriSMSCircle",color:[0,0,0,255],outline:null,size:10.5},c={type:"esriSLS",style:"esriSLSSolid",color:[0,0,0,255],width:1.5},p={type:"esriSFS",style:"esriSFSSolid",color:[0,0,0,255],outline:null}},76213(e,t,s){s.d(t,{C2:()=>o,CQ:()=>i,DY:()=>r,GR:()=>y,Gh:()=>l,MZ:()=>d,TB:()=>f,U5:()=>a,_M:()=>u,cp:()=>m,eG:()=>n,fq:()=>h,hM:()=>p,ie:()=>c});const i=512,r=29,n=24,o=4,a=6,l=1.05,u=3,c=3,p=4,d=1,h=10,f=256,y=32,m=512}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[9535],{5482(t,e,n){function r(t,e,n,r){var i,s=arguments.length,o=s<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,n,r);else for(var c=t.length-1;c>=0;c--)(i=t[c])&&(o=(s<3?i(o):s>3?i(e,n,o):i(e,n))||o);return s>3&&o&&Object.defineProperty(e,n,o),o}function i(t,e,n){if(null!=e){if("object"!=typeof e&&"function"!=typeof e)throw new TypeError("Object expected.");var r,i;if(n){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");r=e[Symbol.asyncDispose]}if(void 0===r){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");r=e[Symbol.dispose],n&&(i=r)}if("function"!=typeof r)throw new TypeError("Object not disposable.");i&&(r=function(){try{i.call(this)}catch(t){return Promise.reject(t)}}),t.stack.push({value:e,dispose:r,async:n})}else n&&t.stack.push({async:!0});return e}n.d(e,{Cg:()=>r,hk:()=>o,mS:()=>i}),Object.create,Object.create;var s="function"==typeof SuppressedError?SuppressedError:function(t,e,n){var r=new Error(n);return r.name="SuppressedError",r.error=t,r.suppressed=e,r};function o(t){function e(e){t.error=t.hasError?new s(e,t.error,"An error was suppressed during disposal."):e,t.hasError=!0}var n,r=0;return function i(){for(;n=t.stack.pop();)try{if(!n.async&&1===r)return r=0,t.stack.push(n),Promise.resolve().then(i);if(n.dispose){var s=n.dispose.call(n.value);if(n.async)return r|=2,Promise.resolve(s).then(i,function(t){return e(t),i()})}else r|=1}catch(t){e(t)}if(1===r)return t.hasError?Promise.reject(t.error):Promise.resolve();if(t.hasError)throw t.error}()}},91869(t,e,n){function r(t,e){for(const n of t.values())if(e(n))return!0;return!1}function i(t,e,n){const r=t.get(e);if(void 0!==r)return r;const i=n();return t.set(e,i),i}function s(t){const e=new Map;return n=>(e.has(n)||e.set(n,t(n)),e.get(n))}n.d(e,{Bj:()=>s,Bs:()=>r,tE:()=>i})},4341(t,e,n){n.d(e,{I:()=>i});var r=n(26390);class i{constructor(t){this._allocator=t,this._items=[],this._itemsPtr=0,this._grow()}get(){return 0===this._itemsPtr&&(0,r.d)(()=>this._reset()),this._itemsPtr===this._items.length&&this._grow(),this._items[this._itemsPtr++]}_reset(){const t=Math.min(3*Math.max(8,this._itemsPtr),this._itemsPtr+3*s);this._items.length=Math.min(t,this._items.length),this._itemsPtr=0}_grow(){for(let t=0;t<Math.max(8,Math.min(this._items.length,s));t++)this._items.push(this._allocator())}}const s=1024},29242(t,e,n){function r(){return[1,0,0,0,1,0,0,0,1]}function i(t,e,n,r,i,s,o,c,a){return[t,e,n,r,i,s,o,c,a]}n.d(e,{fA:()=>i,vt:()=>r,zK:()=>s});const s=[1,0,0,0,1,0,0,0,1];Object.freeze(Object.defineProperty({__proto__:null,IDENTITY:s,clone:function(t){return[t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]]},create:r,fromValues:i},Symbol.toStringTag,{value:"Module"}))},9093(t,e,n){function r(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}function i(t){return[t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15]]}n.d(e,{o8:()=>i,vt:()=>r,zK:()=>s});const s=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];Object.freeze(Object.defineProperty({__proto__:null,IDENTITY:s,clone:i,create:r,fromValues:function(t,e,n,r,i,s,o,c,a,u,h,d,l,f,m,_){return[t,e,n,r,i,s,o,c,a,u,h,d,l,f,m,_]}},Symbol.toStringTag,{value:"Module"}))},82534(t,e,n){function r(){return[0,0,0,1]}function i(t){return[t[0],t[1],t[2],t[3]]}n.d(e,{o8:()=>i,vt:()=>r,zK:()=>s});const s=[0,0,0,1];Object.freeze(Object.defineProperty({__proto__:null,IDENTITY:s,clone:i,create:r,fromValues:function(t,e,n,r){return[t,e,n,r]}},Symbol.toStringTag,{value:"Module"}))},77690(t,e,n){n.d(e,{B8:()=>c,Ge:()=>f,I0:()=>l,KC:()=>a,a4:()=>u,hZ:()=>s,hs:()=>d,lw:()=>h,mg:()=>o,z0:()=>i});var r=n(34304);function i(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[4],t[4]=e[5],t[5]=e[6],t[6]=e[8],t[7]=e[9],t[8]=e[10],t}function s(t,e,n,r,i,s,o,c,a,u){return t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=s,t[5]=o,t[6]=c,t[7]=a,t[8]=u,t}function o(t,e){if(t===e){const n=e[1],r=e[2],i=e[5];t[1]=e[3],t[2]=e[6],t[3]=n,t[5]=e[7],t[6]=r,t[7]=i}else t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8];return t}function c(t,e){const n=e[0],r=e[1],i=e[2],s=e[3],o=e[4],c=e[5],a=e[6],u=e[7],h=e[8],d=h*o-c*u,l=-h*s+c*a,f=u*s-o*a;let m=n*d+r*l+i*f;return m?(m=1/m,t[0]=d*m,t[1]=(-h*r+i*u)*m,t[2]=(c*r-i*o)*m,t[3]=l*m,t[4]=(h*n-i*a)*m,t[5]=(-c*n+i*s)*m,t[6]=f*m,t[7]=(-u*n+r*a)*m,t[8]=(o*n-r*s)*m,t):null}function a(t,e){const n=e[0],r=e[1],i=e[2],s=e[3],o=e[4],c=e[5],a=e[6],u=e[7],h=e[8];return t[0]=o*h-c*u,t[1]=i*u-r*h,t[2]=r*c-i*o,t[3]=c*a-s*h,t[4]=n*h-i*a,t[5]=i*s-n*c,t[6]=s*u-o*a,t[7]=r*a-n*u,t[8]=n*o-r*s,t}function u(t){const e=t[0],n=t[1],r=t[2],i=t[3],s=t[4],o=t[5],c=t[6],a=t[7],u=t[8];return e*(u*s-o*a)+n*(-u*i+o*c)+r*(a*i-s*c)}function h(t,e,n){const r=e[0],i=e[1],s=e[2],o=e[3],c=e[4],a=e[5],u=e[6],h=e[7],d=e[8],l=n[0],f=n[1],m=n[2],_=n[3],p=n[4],g=n[5],b=n[6],v=n[7],M=n[8];return t[0]=l*r+f*o+m*u,t[1]=l*i+f*c+m*h,t[2]=l*s+f*a+m*d,t[3]=_*r+p*o+g*u,t[4]=_*i+p*c+g*h,t[5]=_*s+p*a+g*d,t[6]=b*r+v*o+M*u,t[7]=b*i+v*c+M*h,t[8]=b*s+v*a+M*d,t}function d(t,e,n){const r=n[0],i=n[1],s=n[2];return t[0]=r*e[0],t[1]=r*e[1],t[2]=r*e[2],t[3]=i*e[3],t[4]=i*e[4],t[5]=i*e[5],t[6]=s*e[6],t[7]=s*e[7],t[8]=s*e[8],t}function l(t,e){const n=e[0],r=e[1],i=e[2],s=e[3],o=n+n,c=r+r,a=i+i,u=n*o,h=r*o,d=r*c,l=i*o,f=i*c,m=i*a,_=s*o,p=s*c,g=s*a;return t[0]=1-d-m,t[3]=h-g,t[6]=l+p,t[1]=h+g,t[4]=1-u-m,t[7]=f-_,t[2]=l-p,t[5]=f+_,t[8]=1-u-d,t}function f(t,e){const n=e[0],r=e[1],i=e[2],s=e[3],o=e[4],c=e[5],a=e[6],u=e[7],h=e[8],d=e[9],l=e[10],f=e[11],m=e[12],_=e[13],p=e[14],g=e[15],b=n*c-r*o,v=n*a-i*o,M=n*u-s*o,S=r*a-i*c,y=r*u-s*c,w=i*u-s*a,A=h*_-d*m,j=h*p-l*m,x=h*g-f*m,O=d*p-l*_,C=d*g-f*_,T=l*g-f*p;let E=b*T-v*C+M*O+S*x-y*j+w*A;return E?(E=1/E,t[0]=(c*T-a*C+u*O)*E,t[1]=(a*x-o*T-u*j)*E,t[2]=(o*C-c*x+u*A)*E,t[3]=(i*C-r*T-s*O)*E,t[4]=(n*T-i*x+s*j)*E,t[5]=(r*x-n*C-s*A)*E,t[6]=(_*w-p*y+g*S)*E,t[7]=(p*M-m*w-g*v)*E,t[8]=(m*y-_*M+g*b)*E,t):null}function m(t,e,n){return t[0]=e[0]-n[0],t[1]=e[1]-n[1],t[2]=e[2]-n[2],t[3]=e[3]-n[3],t[4]=e[4]-n[4],t[5]=e[5]-n[5],t[6]=e[6]-n[6],t[7]=e[7]-n[7],t[8]=e[8]-n[8],t}const _=h,p=m;Object.freeze(Object.defineProperty({__proto__:null,add:function(t,e,n){return t[0]=e[0]+n[0],t[1]=e[1]+n[1],t[2]=e[2]+n[2],t[3]=e[3]+n[3],t[4]=e[4]+n[4],t[5]=e[5]+n[5],t[6]=e[6]+n[6],t[7]=e[7]+n[7],t[8]=e[8]+n[8],t},adjoint:a,copy:function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t},determinant:u,equals:function(t,e){const n=t[0],i=t[1],s=t[2],o=t[3],c=t[4],a=t[5],u=t[6],h=t[7],d=t[8],l=e[0],f=e[1],m=e[2],_=e[3],p=e[4],g=e[5],b=e[6],v=e[7],M=e[8],S=(0,r.FD)();return Math.abs(n-l)<=S*Math.max(1,Math.abs(n),Math.abs(l))&&Math.abs(i-f)<=S*Math.max(1,Math.abs(i),Math.abs(f))&&Math.abs(s-m)<=S*Math.max(1,Math.abs(s),Math.abs(m))&&Math.abs(o-_)<=S*Math.max(1,Math.abs(o),Math.abs(_))&&Math.abs(c-p)<=S*Math.max(1,Math.abs(c),Math.abs(p))&&Math.abs(a-g)<=S*Math.max(1,Math.abs(a),Math.abs(g))&&Math.abs(u-b)<=S*Math.max(1,Math.abs(u),Math.abs(b))&&Math.abs(h-v)<=S*Math.max(1,Math.abs(h),Math.abs(v))&&Math.abs(d-M)<=S*Math.max(1,Math.abs(d),Math.abs(M))},exactEquals:function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]&&t[6]===e[6]&&t[7]===e[7]&&t[8]===e[8]},frob:function(t){return Math.sqrt(t[0]**2+t[1]**2+t[2]**2+t[3]**2+t[4]**2+t[5]**2+t[6]**2+t[7]**2+t[8]**2)},fromMat2d:function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=0,t[3]=e[2],t[4]=e[3],t[5]=0,t[6]=e[4],t[7]=e[5],t[8]=1,t},fromMat4:i,fromQuat:l,fromRotation:function(t,e){const n=Math.sin(e),r=Math.cos(e);return t[0]=r,t[1]=n,t[2]=0,t[3]=-n,t[4]=r,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},fromScaling:function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=e[1],t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},fromTranslation:function(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=e[0],t[7]=e[1],t[8]=1,t},identity:function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},invert:c,isOrthoNormal:function(t){const e=(0,r.FD)(),n=t[0],i=t[1],s=t[2],o=t[3],c=t[4],a=t[5],u=t[6],h=t[7],d=t[8];return Math.abs(1-(n*n+o*o+u*u))<=e&&Math.abs(1-(i*i+c*c+h*h))<=e&&Math.abs(1-(s*s+a*a+d*d))<=e},mul:_,multiply:h,multiplyScalar:function(t,e,n){return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*n,t[5]=e[5]*n,t[6]=e[6]*n,t[7]=e[7]*n,t[8]=e[8]*n,t},multiplyScalarAndAdd:function(t,e,n,r){return t[0]=e[0]+n[0]*r,t[1]=e[1]+n[1]*r,t[2]=e[2]+n[2]*r,t[3]=e[3]+n[3]*r,t[4]=e[4]+n[4]*r,t[5]=e[5]+n[5]*r,t[6]=e[6]+n[6]*r,t[7]=e[7]+n[7]*r,t[8]=e[8]+n[8]*r,t},normalFromMat4:f,normalFromMat4Legacy:function(t,e){const n=e[0],r=e[1],i=e[2],s=e[4],o=e[5],c=e[6],a=e[8],u=e[9],h=e[10],d=h*o-c*u,l=-h*s+c*a,f=u*s-o*a,m=n*d+r*l+i*f;if(!m)return null;const _=1/m;return t[0]=d*_,t[1]=(-h*r+i*u)*_,t[2]=(c*r-i*o)*_,t[3]=l*_,t[4]=(h*n-i*a)*_,t[5]=(-c*n+i*s)*_,t[6]=f*_,t[7]=(-u*n+r*a)*_,t[8]=(o*n-r*s)*_,t},projection:function(t,e,n){return t[0]=2/e,t[1]=0,t[2]=0,t[3]=0,t[4]=-2/n,t[5]=0,t[6]=-1,t[7]=1,t[8]=1,t},rotate:function(t,e,n){const r=e[0],i=e[1],s=e[2],o=e[3],c=e[4],a=e[5],u=e[6],h=e[7],d=e[8],l=Math.sin(n),f=Math.cos(n);return t[0]=f*r+l*o,t[1]=f*i+l*c,t[2]=f*s+l*a,t[3]=f*o-l*r,t[4]=f*c-l*i,t[5]=f*a-l*s,t[6]=u,t[7]=h,t[8]=d,t},scale:d,scaleByVec2:function(t,e,n){const r=n[0],i=n[1];return t[0]=r*e[0],t[1]=r*e[1],t[2]=r*e[2],t[3]=i*e[3],t[4]=i*e[4],t[5]=i*e[5],t},set:s,str:function(t){return"mat3("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+")"},sub:p,subtract:m,translate:function(t,e,n){const r=e[0],i=e[1],s=e[2],o=e[3],c=e[4],a=e[5],u=e[6],h=e[7],d=e[8],l=n[0],f=n[1];return t[0]=r,t[1]=i,t[2]=s,t[3]=o,t[4]=c,t[5]=a,t[6]=l*r+f*o+u,t[7]=l*i+f*c+h,t[8]=l*s+f*a+d,t},transpose:o},Symbol.toStringTag,{value:"Module"}))},82919(t,e,n){n.d(e,{DV:()=>g,C:()=>_,vt:()=>f,Qy:()=>m,ui:()=>p,ST:()=>M,bU:()=>S,pw:()=>v,m7:()=>b,c8:()=>w});var r=n(4341),i=n(58083),s=n(35522),o=n(51850),c=n(78955),a=n(91829),u=n(71351);function h(t){return t?{ray:(0,u.vt)(t.ray),c0:t.c0,c1:t.c1}:{ray:(0,u.vt)(),c0:0,c1:Number.MAX_VALUE}}new r.I(()=>h());var d=n(27921),l=n(32114);function f(t){return t?[(0,d.vt)(t[0]),(0,d.vt)(t[1]),(0,d.vt)(t[2]),(0,d.vt)(t[3]),(0,d.vt)(t[4]),(0,d.vt)(t[5])]:[(0,d.vt)(),(0,d.vt)(),(0,d.vt)(),(0,d.vt)(),(0,d.vt)(),(0,d.vt)()]}function m(){return[(0,o.vt)(),(0,o.vt)(),(0,o.vt)(),(0,o.vt)(),(0,o.vt)(),(0,o.vt)(),(0,o.vt)(),(0,o.vt)()]}function _(t,e){for(let n=0;n<A;n++)(0,d.C)(t[n],e[n]);return t}function p(t,e,n,r=C){const o=(0,i.lw)(l.Rc.get(),e,t);(0,i.B8)(o,o);for(let t=0;t<j;++t){const e=(0,c.Z0)(l.Km.get(),x[t],o);(0,s.hZ)(r[t],e[0]/e[3],e[1]/e[3],e[2]/e[3])}g(n,r)}function g(t,e){(0,d.Cr)(e[4],e[0],e[3],t[0]),(0,d.Cr)(e[1],e[5],e[6],t[1]),(0,d.Cr)(e[4],e[5],e[1],t[2]),(0,d.Cr)(e[3],e[2],e[6],t[3]),(0,d.Cr)(e[0],e[1],e[2],t[4]),(0,d.Cr)(e[5],e[4],e[7],t[5])}function b(t,e){for(let n=0;n<A;n++){const r=t[n];if(r[0]*e.center[0]+r[1]*e.center[1]+r[2]*e.center[2]+r[3]>=e.radius)return!1}return!0}function v(t,e){return y(t,function(t,e=h()){return(0,u.C)(t,e.ray),e.c0=0,e.c1=Number.MAX_VALUE,e}(e,O.get()))}function M(t,e,n){return y(t,function(t,e,n=h()){const r=(0,s.Bw)(t.vector);return(0,u.fA)(t.origin,e,n.ray),n.c0=0,n.c1=r,n}(e,n,O.get()))}function S(t,e){for(let n=0;n<A;n++)if((0,d.mN)(t[n],e)>0)return!1;return!0}function y(t,e){for(let n=0;n<A;n++)if(!(0,d.$Q)(t[n],e))return!1;return!0}const w={bottom:[5,1,0,4],near:[0,1,2,3],far:[5,4,7,6],right:[1,5,6,2],left:[4,0,3,7],top:[7,3,2,6]},A=6,j=8,x=[(0,a.fA)(-1,-1,-1,1),(0,a.fA)(1,-1,-1,1),(0,a.fA)(1,1,-1,1),(0,a.fA)(-1,1,-1,1),(0,a.fA)(-1,-1,1,1),(0,a.fA)(1,-1,1,1),(0,a.fA)(1,1,1,1),(0,a.fA)(-1,1,1,1)],O=new r.I(h),C=m()},11964(t,e,n){n.d(e,{Cr:()=>h,LV:()=>u,_I:()=>d,vt:()=>a});var r=n(34727),i=n(4341),s=n(35522),o=n(51850),c=n(32114);function a(t){return t?{origin:(0,o.o8)(t.origin),vector:(0,o.o8)(t.vector)}:{origin:(0,o.vt)(),vector:(0,o.vt)()}}function u(t,e){const n=l.get();return n.origin=t,n.vector=e,n}function h(t,e,n=a()){return(0,s.C)(n.origin,t),(0,s.Re)(n.vector,e,t),n}function d(t,e,n){return function(t,e,n,i,o){const{vector:a,origin:u}=t,h=(0,s.Re)(c.rq.get(),e,u),d=(0,s.Om)(a,h)/(0,s.m3)(a);return(0,s.hs)(o,a,(0,r.qE)(d,0,1)),(0,s.WQ)(o,o,t.origin)}(t,e,0,0,n)}(0,o.vt)(),(0,o.vt)();const l=new i.I(()=>a())},27921(t,e,n){n.d(e,{$Q:()=>M,C:()=>c,Cr:()=>h,O_:()=>u,Qj:()=>a,T7:()=>b,Tj:()=>v,lU:()=>d,mN:()=>S,vE:()=>y,vt:()=>o});var r=n(34727),i=n(35522),s=n(51850);function o(t=w){return[t[0],t[1],t[2],t[3]]}function c(t,e){return function(t,e,n,r,i=o()){return i[0]=t,i[1]=e,i[2]=n,i[3]=r,i}(e[0],e[1],e[2],e[3],t)}function a(t){return t}function u(t,e,n){const r=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],i=Math.abs(r-1)>1e-5&&r>1e-12?1/Math.sqrt(r):1;return n[0]=e[0]*i,n[1]=e[1]*i,n[2]=e[2]*i,n[3]=-(n[0]*t[0]+n[1]*t[1]+n[2]*t[2]),n}function h(t,e,n,r=o()){const i=n[0]-e[0],s=n[1]-e[1],c=n[2]-e[2],a=t[0]-e[0],u=t[1]-e[1],h=t[2]-e[2],d=s*h-c*u,l=c*a-i*h,f=i*u-s*a,m=d*d+l*l+f*f,_=Math.abs(m-1)>1e-5&&m>1e-12?1/Math.sqrt(m):1;return r[0]=d*_,r[1]=l*_,r[2]=f*_,r[3]=-(r[0]*t[0]+r[1]*t[1]+r[2]*t[2]),r}function d(t,e,n,r=0,s=Math.floor(n*(1/3)),o=Math.floor(n*(2/3))){if(n<3)return!1;e(f,r);let c=s,a=!1;for(;c<n-1&&!a;)e(m,c),c++,a=!(0,i.t2)(f,m);if(!a)return!1;for(c=Math.max(c,o),a=!1;c<n&&!a;)e(_,c),c++,(0,i.Re)(p,f,m),(0,i.S8)(p,p),(0,i.Re)(g,m,_),(0,i.S8)(g,g),a=!(0,i.t2)(f,_)&&!(0,i.t2)(m,_)&&Math.abs((0,i.Om)(p,g))<l;return a?(h(f,m,_,t),!0):(0!==r||1!==s||2!==o)&&d(t,e,n,0,1,2)}n(78955),n(44280),n(32114),n(32728);const l=.99619469809,f=(0,s.vt)(),m=(0,s.vt)(),_=(0,s.vt)(),p=(0,s.vt)(),g=(0,s.vt)();function b(t,e,n){return function(t){return 0===t||1===t}(y(t,e.origin,e.vector,0,n))}function v(t,e){return S(t,e)>=0}function M(t,e){const n=(0,i.Om)(t,e.ray.direction),r=-S(t,e.ray.origin);if(r<0&&n>=0)return!1;if(n>-1e-6&&n<1e-6)return r>0;if((r<0||n<0)&&!(r<0&&n<0))return!0;const s=r/n;return n>0?s<e.c1&&(e.c1=s):s>e.c0&&(e.c0=s),e.c0<=e.c1}function S(t,e){return(0,i.Om)(t,e)+t[3]}function y(t,e,n,s,o){const c=(0,i.Om)(t,n),a=S(t,e);if(0===c)return a>=0?2:3;let u=-a/c;return 1&s&&(u=(0,r.qE)(u,0,1)),!(4&s)&&u<0||!(8&s)&&u>1?a>=0?2:3:((0,i.WQ)(o,e,(0,i.hs)(o,n,u)),a>=0?0:1)}const w=[0,0,1,0]},71351(t,e,n){n.d(e,{C:()=>h,Cr:()=>d,LV:()=>u,fA:()=>l,oC:()=>f,vt:()=>c}),n(4576);var r=n(4341),i=(n(77690),n(29242)),s=n(35522),o=n(51850);function c(t){return t?a((0,o.o8)(t.origin),(0,o.o8)(t.direction)):a((0,o.vt)(),(0,o.vt)())}function a(t,e){return{origin:t,direction:e}}function u(t,e){const n=m.get();return n.origin=t,n.direction=e,n}function h(t,e=c()){return l(t.origin,t.direction,e)}function d(t,e,n=c()){return(0,s.C)(n.origin,t),(0,s.Re)(n.direction,e,t),n}function l(t,e,n=c()){return(0,s.C)(n.origin,t),(0,s.C)(n.direction,e),n}function f(t,e,n){const r=(0,s.Om)(t.direction,(0,s.Re)(n,e,t.origin));return(0,s.WQ)(n,t.origin,(0,s.hs)(n,t.direction,r)),n}n(32114);const m=new r.I(()=>c());(0,o.vt)(),(0,o.vt)(),(0,o.vt)(),(0,i.vt)()},94008(t,e,n){n.d(e,{iy:()=>f}),n(44208),n(53966);var r=n(34727),i=n(34304),s=n(58083),o=n(35522),c=n(51850),a=n(91829),u=n(34275);var h=n(71351),d=n(44280),l=n(32114);class f{constructor(t=0,e=0,n=0,r=0){this.radius=r,"number"==typeof t?this._center=(0,c.fA)(t,e,n):function(t){return e=t,(0,u.vZ)(e)&&e.length>=3||function(t){return((0,u.aI)(t)||Array.isArray(t))&&t.length>=3}(t);var e}(t)||function(t){return(e=t)instanceof Float32Array&&e.length>=4||function(t){return Array.isArray(t)&&t.length>=4}(t);var e}(t)?(this._center=(0,c.ci)(t),this.radius=4===t.length?t[3]:e):(this._center=(0,c.o8)(t.center),this.radius=t.radius)}get isValid(){return this.radius>=0}invalidate(){this.radius=-1}get center(){return this._center}set center(t){(0,o.C)(this.center,t)}exactEquals(t){return(0,o.aI)(this._center,t.center)&&this.radius===t.radius}copyFrom(t){return t!==this&&((0,o.C)(this._center,t.center),this.radius=t.radius),this}clone(){return new f(this.center,this.radius)}toVec4(){return(0,a.fA)(this.center[0],this.center[1],this.center[2],this.radius)}contains(t){return(0,o.hG)(this.center,t)<=this.radius**2}intersectRay(t,e){if(null==t)return!1;if(!this._intersect(t,m))return!1;let{t0:n,t1:r}=m;if((n<0||r<n&&r>0)&&(n=r),n<0)return!1;if(e){const{origin:r,direction:i}=t;e[0]=r[0]+i[0]*n,e[1]=r[1]+i[1]*n,e[2]=r[2]+i[2]*n}return!0}intersectLine(t,e){const n=(0,h.Cr)(t,e);if(!this._intersect(n,m))return[];const{origin:r,direction:s}=n,{t0:a,t1:u}=m,d=t=>{const e=(0,c.vt)();return(0,o.Ln)(e,r,s,t),this.projectPoint(e,e)};return Math.abs(a-u)<(0,i.FD)()?[d(a)]:[d(a),d(u)]}_intersect(t,e){const{origin:n,direction:r}=t,i=_;i[0]=n[0]-this.center[0],i[1]=n[1]-this.center[1],i[2]=n[2]-this.center[2];const s=r[0]*r[0]+r[1]*r[1]+r[2]*r[2];if(0===s)return!1;const o=2*(r[0]*i[0]+r[1]*i[1]+r[2]*i[2]),c=o*o-4*s*(i[0]*i[0]+i[1]*i[1]+i[2]*i[2]-this.radius**2);if(c<0)return!1;const a=Math.sqrt(c);return e.t0=(-o-a)/(2*s),e.t1=(-o+a)/(2*s),!0}projectPoint(t,e){const n=(0,o.Re)(l.rq.get(),t,this.center),r=(0,o.hs)(l.rq.get(),n,this.radius/(0,o.Bw)(n));return(0,o.WQ)(e,r,this.center)}closestPointOnSilhouette(t,e){const n=l.rq.get(),r=l.Rc.get();(0,o.$A)(n,t.origin,t.direction),(0,o.$A)(e,n,t.origin),(0,o.hs)(e,e,1/(0,o.Bw)(e)*this.radius);const i=this._angleToSilhouette(t.origin),c=(0,d.g7)(t.origin,e);return(0,s.$0)(r,c+i,n),(0,o.Z0)(e,e,r),e}frustumCoverage(t,e,n){const r=this.radius,i=r*r,s=t+.5*Math.PI,o=e*e+i-2*Math.cos(s)*e*r,c=Math.sqrt(o),a=o-i;if(a<=0)return.5;const u=Math.sqrt(a),h=Math.acos(u/c)-Math.asin(r/(c/Math.sin(s)));return Math.min(1,(h+.5*n)/n)}_angleToSilhouette(t){const e=(0,o.Re)(l.rq.get(),t,this.center),n=(0,o.Bw)(e),i=this.radius,s=i+Math.abs(i-n);return(0,r.XM)(i/s)}union(t){const e=(0,o.Io)(this._center,t.center),n=this.radius,r=t.radius;return e+r<n?this:e+n<r?(this.copyFrom(t),this):((0,o.Cc)(this._center,this._center,t.center,(e+r-n)/(2*e)),this.radius=(e+n+r)/2,this)}toJSON(){return{center:this.center,radius:this.radius}}}new f;const m={t0:0,t1:0},_=(0,c.vt)();(0,c.vt)(),(0,c.vt)()},44280(t,e,n){n.d(e,{g7:()=>c,gr:()=>o});var r=n(34727),i=n(35522),s=n(51850);function o(t,e){return(0,i.Om)(t,e)/(0,i.Bw)(t)}function c(t,e){const n=(0,i.Om)(t,e)/((0,i.Bw)(t)*(0,i.Bw)(e));return-(0,r.XM)(n)}(0,s.vt)(),(0,s.vt)()},32114(t,e,n){n.d(e,{Rc:()=>f,J8:()=>m,rq:()=>d,Km:()=>l}),n(44208);var r=n(26390),i=n(29242),s=n(9093),o=n(82534),c=n(48163),a=n(51850),u=n(91829);class h{constructor(t){this._create=t,this._items=new Array,this._itemsPtr=0}get(){return 0===this._itemsPtr&&(0,r.d)(()=>this._reset()),this._itemsPtr>=this._items.length&&this._items.push(this._create()),this._items[this._itemsPtr++]}_reset(){const t=2*this._itemsPtr;this._items.length>t&&(this._items.length=t),this._itemsPtr=0}static createVec2f64(){return new h(c.vt)}static createVec3f64(){return new h(a.vt)}static createVec4f64(){return new h(u.vt)}static createMat3f64(){return new h(i.vt)}static createMat4f64(){return new h(s.vt)}static createQuatf64(){return new h(o.vt)}get test(){}}h.createVec2f64();const d=h.createVec3f64(),l=h.createVec4f64(),f=(h.createMat3f64(),h.createMat4f64()),m=h.createQuatf64()},32728(t,e,n){n.d(e,{YH:()=>o,nu:()=>c,wp:()=>s}),n(34727);var r=n(35522),i=n(51850);function s(t,e){const n=Math.sqrt(e[0]*e[0]+e[4]*e[4]+e[8]*e[8]),i=Math.sqrt(e[1]*e[1]+e[5]*e[5]+e[9]*e[9]),s=Math.sqrt(e[2]*e[2]+e[6]*e[6]+e[10]*e[10]);return(0,r.hZ)(t,n,i,s),t}function o(t,e,n){n=n||t;const i=(0,r.Om)(t,e);(0,r.hZ)(n,t[0]-i*e[0],t[1]-i*e[1],t[2]-i*e[2]),(0,r.S8)(n,n)}function c(t,e,n,s=(0,i.vt)()){const o=(0,r.Bw)(t),c=(0,r.Bw)(e),h=(0,r.Om)(t,e)/(o*c);if(h<.9999999999999999){const i=Math.acos(h),d=((1-n)*o+n*c)/Math.sin(i),l=d/o*Math.sin((1-n)*i),f=d/c*Math.sin(n*i);return(0,r.hs)(a,t,l),(0,r.hs)(u,e,f),(0,r.WQ)(s,a,u)}return(0,r.Cc)(s,t,e,n)}(0,i.vt)(),(0,i.vt)(),(0,i.vt)();const a=(0,i.vt)(),u=(0,i.vt)()},70491(t,e,n){n.r(e),n.d(e,{default:()=>U});var r=n(5482),i=n(74887),s=n(24326),o=n(91429),c=n(35522),a=n(51850),u=n(11964),h=n(94008),d=n(93687),l=n(15142),f=n(82919),m=n(71351),_=n(620);class p{get bounds(){return this._root.bounds}get halfSize(){return this._root.halfSize}get root(){return this._root.node}get maximumObjectsPerNode(){return this._maximumObjectsPerNode}get maximumDepth(){return this._maximumDepth}get objectCount(){return this._objectCount}constructor(t,e){this.objectToBoundingSphere=t,this._maximumObjectsPerNode=10,this._maximumDepth=20,this._degenerateObjects=new Set,this._root=new g,this._objectCount=0,e&&(void 0!==e.maximumObjectsPerNode&&(this._maximumObjectsPerNode=e.maximumObjectsPerNode),void 0!==e.maximumDepth&&(this._maximumDepth=e.maximumDepth))}destroy(){this._degenerateObjects.clear(),g.clearPool(),R[0]=null,D.prune(),Q.prune()}add(t){const e=Array.from(t);this._grow(e);const n=g.acquire();for(const t of e)++this._objectCount,this._isDegenerate(t)?this._degenerateObjects.add(t):(n.init(this._root),this._add(t,n));g.release(n)}remove(t,e=null){this._objectCount-=t.length;const n=g.acquire();for(const r of t){const t=e??this.objectToBoundingSphere(r);T(t.radius)?(n.init(this._root),M(r,t,n)):this._degenerateObjects.delete(r)}g.release(n),this._shrink()}update(t,e){if(!T(e.radius)&&this._isDegenerate(t))return;const n=function(t){return R[0]=t,R}(t);this.remove(n,e),this.add(n)}forEachAlongRay(t,e,n){const r=(0,m.LV)(t,e);b(this._root,t=>{if(!function(t,e){return j(e.bounds.center,2*-e.halfSize,N),j(e.bounds.center,2*e.halfSize,q),(0,_.O_)(t.origin,t.direction,N,q)}(r,t))return!1;const e=t.node;return e.terminals.forAll(t=>{this._intersectsObject(r,t)&&n(t)}),null!==e.residents&&e.residents.forAll(t=>{this._intersectsObject(r,t)&&n(t)}),!0})}forEachAlongRayWithVerticalOffset(t,e,n,r){const i=(0,m.LV)(t,e);b(this._root,t=>{if(!function(t,e,n){return j(e.bounds.center,2*-e.halfSize,N),j(e.bounds.center,2*e.halfSize,q),n.applyToMinMax(N,q),(0,_.O_)(t.origin,t.direction,N,q)}(i,t,r))return!1;const e=t.node;return e.terminals.forAll(t=>{this._intersectsObjectWithOffset(i,t,r)&&n(t)}),null!==e.residents&&e.residents.forAll(t=>{this._intersectsObjectWithOffset(i,t,r)&&n(t)}),!0})}forEach(t){b(this._root,e=>{const n=e.node;return n.terminals.forAll(t),null!==n.residents&&n.residents.forAll(t),!0}),this._degenerateObjects.forEach(t)}forEachDegenerateObject(t){this._degenerateObjects.forEach(t)}findClosest(t,e,n,r=()=>!0,i=1/0){let s=1/0,o=1/0,a=null;const u=O(t,e),h=c=>{if(--i,!r(c))return;const u=this.objectToBoundingSphere(c);if(!(0,f.m7)(n,u))return;const h=C(t,e,u.center),d=h-u.radius,l=h+u.radius;d<s&&(s=d,o=l,a=c)};return v(this._root,r=>{if(i<=0||!(0,f.m7)(n,r.bounds))return!1;if((0,c.hs)(I,u,r.halfSize),(0,c.WQ)(I,I,r.bounds.center),C(t,e,I)>o)return!1;const s=r.node;return s.terminals.forAll(t=>h(t)),null!==s.residents&&s.residents.forAll(t=>h(t)),!0},t,e),a}forEachInDepthRange(t,e,n,r,i,s,o){let a=-1/0,u=1/0;const h={setRange:t=>{1===n?(a=Math.max(a,t.near),u=Math.min(u,t.far)):(a=Math.max(a,-t.far),u=Math.min(u,-t.near))}};h.setRange(r);const d=C(e,n,t),l=O(e,n),m=O(e,-n),_=t=>{if(!o(t))return;const r=this.objectToBoundingSphere(t),c=C(e,n,r.center)-d,l=c-r.radius,m=c+r.radius;l>u||m<a||!(0,f.m7)(s,r)||i(t,h)};v(this._root,t=>{if(!(0,f.m7)(s,t.bounds))return!1;if((0,c.hs)(I,l,t.halfSize),(0,c.WQ)(I,I,t.bounds.center),C(e,n,I)-d>u)return!1;if((0,c.hs)(I,m,t.halfSize),(0,c.WQ)(I,I,t.bounds.center),C(e,n,I)-d<a)return!1;const r=t.node;return r.terminals.forAll(t=>_(t)),null!==r.residents&&r.residents.forAll(t=>_(t)),!0},e,n)}forEachNode(t){b(this._root,e=>t(e.node,e.bounds,e.halfSize,e.depth))}forEachNeighbor(t,e){const n=e.radius,r=e.center,i=e=>{const i=this.objectToBoundingSphere(e),s=i.radius,o=n+s;return!((0,c.hG)(i.center,r)-o*o<=0)||t(e)};let s=!0;const o=t=>{s&&(s=i(t))};b(this._root,t=>{const e=t.bounds.radius,i=n+e;if((0,c.hG)(t.bounds.center,r)-i*i>0)return!1;const a=t.node;return a.terminals.forAll(o),s&&null!==a.residents&&a.residents.forAll(o),s}),s&&this.forEachDegenerateObject(o)}_intersectsObject(t,e){const n=this.objectToBoundingSphere(e);return!(n.radius>0)||n.intersectRay(t)}_intersectsObjectWithOffset(t,e,n){const r=this.objectToBoundingSphere(e);return!(r.radius>0)||n.applyToBoundingSphere(r).intersectRay(t)}_add(t,e){e.advanceTo(this.objectToBoundingSphere(t))?e.node.terminals.push(t):(e.node.residents.push(t),e.node.residents.length>this._maximumObjectsPerNode&&e.depth<this._maximumDepth&&this._split(e))}_split(t){const e=t.node.residents;t.node.residents=null;for(let n=0;n<e.length;n++){const r=g.acquire().init(t);this._add(e.at(n),r),g.release(r)}}_grow(t){if(x(t,t=>this.objectToBoundingSphere(t),V),T(V.radius)&&!this._fitsInsideTree(V))if(y(this._root.node))this._root.bounds.copyFrom(V),this._root.halfSize=1.25*this._root.bounds.radius,this._root.updateBoundsRadiusFromHalfSize();else{const t=this._rootBoundsForRootAsSubNode(V);this._placingRootViolatesMaxDepth(t)?this._rebuildTree(V,t):this._growRootAsSubNode(t),g.release(t)}}_rebuildTree(t,e){L.center=e.bounds.center,L.radius=e.halfSize,x([t,L],t=>t,F);const n=g.acquire().init(this._root);this._root.initFrom(null,F,F.radius),this._root.increaseHalfSize(1.25),b(n,t=>(this.add(t.node.terminals.data),null!==t.node.residents&&this.add(t.node.residents.data),!0)),g.release(n)}_placingRootViolatesMaxDepth(t){const e=Math.log(t.halfSize/this._root.halfSize)*Math.LOG2E;let n=0;return b(this._root,t=>(n=Math.max(n,t.depth),n+e<=this._maximumDepth)),n+e>this._maximumDepth}_rootBoundsForRootAsSubNode(t){const e=t.radius,n=t.center;let r=-1/0;const i=this._root.bounds.center,s=this._root.halfSize;for(let t=0;t<3;t++){const o=i[t]-s-(n[t]-e),c=n[t]+e-(i[t]+s),a=Math.max(0,Math.ceil(o/(2*s))),u=Math.max(0,Math.ceil(c/(2*s)))+1,h=2**Math.ceil(Math.log(a+u)*Math.LOG2E);r=Math.max(r,h),k[t].min=a,k[t].max=u}for(let t=0;t<3;t++){let e=k[t].min,n=k[t].max;const o=(r-(e+n))/2;e+=Math.ceil(o),n+=Math.floor(o);const c=i[t]-s-e*s*2;B.center[t]=c+(n+e)*s}const o=r*s;return B.radius=o*z,g.acquire().initFrom(null,B,o,0)}_growRootAsSubNode(t){const e=this._root.node;V.center=this._root.bounds.center,V.radius=this._root.halfSize,this._root.init(t),t.advanceTo(V,null,!0),t.node.children=e.children,t.node.residents=e.residents,t.node.terminals=e.terminals}_shrink(){for(;;){const t=this._findShrinkIndex();if(-1===t)break;this._root.advance(t),this._root.depth=0}}_findShrinkIndex(){if(0!==this._root.node.terminals.length||this._root.isLeaf())return-1;let t=null;const e=this._root.node.children;let n=0,r=0;for(;r<e.length&&null==t;)n=r++,t=e[n];for(;r<e.length;)if(e[r++])return-1;return n}_isDegenerate(t){return!T(this.objectToBoundingSphere(t).radius)}_fitsInsideTree(t){const e=this._root.bounds,n=this._root.halfSize;return t.radius<=n&&t.center[0]>=e.center[0]-n&&t.center[0]<=e.center[0]+n&&t.center[1]>=e.center[1]-n&&t.center[1]<=e.center[1]+n&&t.center[2]>=e.center[2]-n&&t.center[2]<=e.center[2]+n}_nodeToJSON(t){const e=t.children.map(t=>t?this._nodeToJSON(t):null),n=t.residents?.map(t=>this.objectToBoundingSphere(t)),r=t.terminals?.map(t=>this.objectToBoundingSphere(t));return{children:e,residents:n,terminals:r}}}class g{constructor(){this.bounds=new h.iy,this.halfSize=0,this.initFrom(null,null,0,0)}init(t){return this.initFrom(t.node,t.bounds,t.halfSize,t.depth)}initFrom(t,e,n,r=this.depth){return this.node=null!=t?t:g.createEmptyNode(),e&&this.bounds.copyFrom(e),this.halfSize=n,this.depth=r,this}increaseHalfSize(t){this.halfSize*=t,this.updateBoundsRadiusFromHalfSize()}updateBoundsRadiusFromHalfSize(){this.bounds.radius=this.halfSize*z}advance(t){let e=this.node.children[t];e||(e=g.createEmptyNode(),this.node.children[t]=e),this.node=e,this.halfSize/=2,this.depth++;const n=E[t];return this.bounds.center[0]+=n[0]*this.halfSize,this.bounds.center[1]+=n[1]*this.halfSize,this.bounds.center[2]+=n[2]*this.halfSize,this.updateBoundsRadiusFromHalfSize(),this}advanceTo(t,e,n=!1){for(;;){if(this.isTerminalFor(t))return e?.(this,-1),!0;if(this.isLeaf()){if(!n)return e?.(this,-1),!1;this.node.residents=null}const r=this._childIndex(t);e?.(this,r),this.advance(r)}}isLeaf(){return null!=this.node.residents}isTerminalFor(t){return t.radius>this.halfSize/2}_childIndex(t){const e=this.bounds.center;return(e[0]<t.center[0]?1:0)+(e[1]<t.center[1]?2:0)+(e[2]<t.center[2]?4:0)}static createEmptyNode(){return{children:[null,null,null,null,null,null,null,null],terminals:new l.A({shrink:!0}),residents:new l.A({shrink:!0})}}static{this._pool=new d.A(()=>new g)}static acquire(){return g._pool.acquire()}static release(t){g._pool.release(t)}static clearPool(){g._pool.prune()}}function b(t,e){let n=g.acquire().init(t);const r=[n];for(;0!==r.length;){if(n=r.pop(),e(n)&&!n.isLeaf())for(let t=0;t<n.node.children.length;t++)n.node.children[t]&&r.push(g.acquire().init(n).advance(t));g.release(n)}}function v(t,e,n,r=1){let i=g.acquire().init(t);const s=[i];for(function(t,e,n){if(!Q.length)for(let t=0;t<8;++t)Q.push({index:0,distance:0});for(let n=0;n<8;++n){const r=E[n];Q.data[n].index=n,Q.data[n].distance=C(t,e,r)}Q.sort((t,e)=>t.distance-e.distance);for(let t=0;t<8;++t)n[t]=Q.data[t].index}(n,r,W);0!==s.length;){if(i=s.pop(),e(i)&&!i.isLeaf())for(let t=7;t>=0;--t){const e=W[t];i.node.children[e]&&s.push(g.acquire().init(i).advance(e))}g.release(i)}}function M(t,e,n){D.clear();const r=n.advanceTo(e,(t,e)=>{D.push(t.node),D.push(e)})?n.node.terminals:n.node.residents;if(r.removeUnordered(t),0===r.length)for(let t=D.length-2;t>=0&&S(D.data[t],D.data[t+1]);t-=2);}function S(t,e){return e>=0&&(t.children[e]=null),!!y(t)&&(null===t.residents&&(t.residents=new l.A({shrink:!0})),!0)}function y(t){if(0!==t.terminals.length)return!1;if(null!==t.residents)return 0===t.residents.length;for(let e=0;e<t.children.length;e++)if(t.children[e])return!1;return!0}function w(t,e){t[0]=Math.min(t[0],e.center[0]-e.radius),t[1]=Math.min(t[1],e.center[1]-e.radius),t[2]=Math.min(t[2],e.center[2]-e.radius)}function A(t,e){t[0]=Math.max(t[0],e.center[0]+e.radius),t[1]=Math.max(t[1],e.center[1]+e.radius),t[2]=Math.max(t[2],e.center[2]+e.radius)}function j(t,e,n){n[0]=t[0]+e,n[1]=t[1]+e,n[2]=t[2]+e}function x(t,e,n){N[0]=1/0,N[1]=1/0,N[2]=1/0,q[0]=-1/0,q[1]=-1/0,q[2]=-1/0;for(const n of t){const t=e(n);T(t.radius)&&(w(N,t),A(q,t))}(0,c.Cc)(n.center,N,q,.5),n.radius=Math.max(q[0]-N[0],q[1]-N[1],q[2]-N[2])/2}function O(t,e){let n,r=1/0;for(let i=0;i<8;++i){const s=C(t,e,P[i]);s<r&&(r=s,n=P[i])}return n}function C(t,e,n){return e*(t[0]*n[0]+t[1]*n[1]+t[2]*n[2])}function T(t){return!isNaN(t)&&t!==-1/0&&t!==1/0&&t>0}const E=[(0,a.fA)(-1,-1,-1),(0,a.fA)(1,-1,-1),(0,a.fA)(-1,1,-1),(0,a.fA)(1,1,-1),(0,a.fA)(-1,-1,1),(0,a.fA)(1,-1,1),(0,a.fA)(-1,1,1),(0,a.fA)(1,1,1)],P=[(0,a.fA)(-1,-1,-1),(0,a.fA)(-1,-1,1),(0,a.fA)(-1,1,-1),(0,a.fA)(-1,1,1),(0,a.fA)(1,-1,-1),(0,a.fA)(1,-1,1),(0,a.fA)(1,1,-1),(0,a.fA)(1,1,1)],z=Math.sqrt(3),R=[null],B=new h.iy,I=(0,a.vt)(),N=(0,a.vt)(),q=(0,a.vt)(),D=new l.A,V=new h.iy,L=new h.iy,F=new h.iy,k=[{min:0,max:0},{min:0,max:0},{min:0,max:0}],Q=new l.A,W=[0,0,0,0,0,0,0,0];var H=n(7380);function K(t,e,n){const r=new h.iy;return(0,c.hs)(r.center,t,.5),(0,c.Ln)(r.center,r.center,e,.5),r.radius=(0,c.Io)(r.center,t),(0,c.WQ)(r.center,r.center,n),r}class Z{constructor(t,e,n){this.objectId=t,this.target=e,this.distance=n}}class G extends Z{constructor(t,e,n){super(t,e,n),this.type="vertex"}}class $ extends Z{constructor(t,e,n,r,i){super(t,e,n),this.start=r,this.end=i,this.type="edge"}}let J=class{constructor(){this._idToComponent=new Map,this._components=new p(t=>t.bounds),this._edges=new p(t=>t.bounds),this._tmpLineSegment=(0,u.vt)(),this._tmpP1=(0,a.vt)(),this._tmpP2=(0,a.vt)(),this._tmpP3=(0,a.vt)(),this.remoteClient=null}async fetchCandidates(t,e){await Promise.resolve(),(0,i.Te)(e);const n=t;n.mbs=new h.iy(t.mbsJSON),await this._ensureEdgeLocations(n,e);const r=[];return this._edges.forEachNeighbor(t=>(this._addCandidates(n,t,r),r.length<1e3),n.mbs),{result:{candidates:r}}}async _ensureEdgeLocations(t,e){const n=[];if(this._components.forEachNeighbor(t=>{if(null==t.info){const{id:e,uid:r}=t;n.push({id:e,uid:r})}return!0},t.mbs),!n.length)return;const r={components:n},i=await this.remoteClient.invoke("fetchAllEdgeLocations",r,e??{});for(const t of i.components)this._setFetchEdgeLocations(t)}async add(t){const e=new X(t.id,new h.iy(t.bounds));return this._idToComponent.set(e.id,e),this._components.add([e]),{result:{}}}async remove(t){const e=this._idToComponent.get(t.id);if(e){const t=[];this._edges.forEachNeighbor(n=>(n.component===e&&t.push(n),!0),e.bounds),this._edges.remove(t),this._components.remove([e]),this._idToComponent.delete(e.id)}return{result:{}}}_setFetchEdgeLocations(t){const e=this._idToComponent.get(t.id);if(null==e||t.uid!==e.uid)return;const n=H.HY.createView(t.locations),r=new Array(n.count),i=(0,a.vt)(),s=(0,a.vt)();for(let o=0;o<n.count;o++){n.position0.getVec(o,i),n.position1.getVec(o,s);const c=K(i,s,t.origin),a=new tt(e,o,c);r[o]=a}this._edges.add(r);const{objectIds:o,origin:c}=t;e.info={locations:n,objectIds:o,origin:c}}_addCandidates(t,e,n){const{info:r}=e.component,{origin:i,objectIds:s}=r,o=r.locations,a=o.position0.getVec(e.index,this._tmpP1),u=o.position1.getVec(e.index,this._tmpP2);(0,c.WQ)(a,a,i),(0,c.WQ)(u,u,i);const h=s[o.componentIndex.get(e.index)];this._addEdgeCandidate(t,h,a,u,n),Y(t,h,a,n),Y(t,h,u,n)}_addEdgeCandidate(t,e,n,r,i){if(!t.returnEdge)return;const s=t.mbs.center,o=(0,u.Cr)(n,r,this._tmpLineSegment),h=(0,u._I)(o,s,this._tmpP3);t.mbs.contains(h)&&i.push(new $(e,(0,a.o8)(h),(0,c.Io)(s,h),(0,a.o8)(n),(0,a.o8)(r)))}};J=(0,r.Cg)([(0,o.$K)("esri.views.interactive.snapping.featureSources.sceneLayerSource.SceneLayerSnappingSourceWorker")],J);const U=J;function Y(t,e,n,r){t.returnVertex&&t.mbs.contains(n)&&r.push(new G(e,(0,a.o8)(n),(0,c.Io)(t.mbs.center,n)))}class X{constructor(t,e){this.id=t,this.bounds=e,this.info=null,this.uid=(0,s.c)()}}class tt{constructor(t,e,n){this.component=t,this.index=e,this.bounds=n}}}}]);
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[9535],{5482(t,e,n){function r(t,e,n,r){var i,s=arguments.length,o=s<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,n,r);else for(var c=t.length-1;c>=0;c--)(i=t[c])&&(o=(s<3?i(o):s>3?i(e,n,o):i(e,n))||o);return s>3&&o&&Object.defineProperty(e,n,o),o}function i(t,e,n){if(null!=e){if("object"!=typeof e&&"function"!=typeof e)throw new TypeError("Object expected.");var r,i;if(n){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");r=e[Symbol.asyncDispose]}if(void 0===r){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");r=e[Symbol.dispose],n&&(i=r)}if("function"!=typeof r)throw new TypeError("Object not disposable.");i&&(r=function(){try{i.call(this)}catch(t){return Promise.reject(t)}}),t.stack.push({value:e,dispose:r,async:n})}else n&&t.stack.push({async:!0});return e}n.d(e,{Cg:()=>r,hk:()=>o,mS:()=>i}),Object.create,Object.create;var s="function"==typeof SuppressedError?SuppressedError:function(t,e,n){var r=new Error(n);return r.name="SuppressedError",r.error=t,r.suppressed=e,r};function o(t){function e(e){t.error=t.hasError?new s(e,t.error,"An error was suppressed during disposal."):e,t.hasError=!0}var n,r=0;return function i(){for(;n=t.stack.pop();)try{if(!n.async&&1===r)return r=0,t.stack.push(n),Promise.resolve().then(i);if(n.dispose){var s=n.dispose.call(n.value);if(n.async)return r|=2,Promise.resolve(s).then(i,function(t){return e(t),i()})}else r|=1}catch(t){e(t)}if(1===r)return t.hasError?Promise.reject(t.error):Promise.resolve();if(t.hasError)throw t.error}()}},91869(t,e,n){function r(t,e){for(const n of t.values())if(e(n))return!0;return!1}function i(t,e,n){const r=t.get(e);if(void 0!==r)return r;const i=n();return t.set(e,i),i}function s(t){const e=new Map;return n=>(e.has(n)||e.set(n,t(n)),e.get(n))}n.d(e,{Bj:()=>s,Bs:()=>r,tE:()=>i})},4341(t,e,n){n.d(e,{I:()=>i});var r=n(26390);class i{constructor(t){this._allocator=t,this._items=[],this._itemsPtr=0,this._grow()}get(){return 0===this._itemsPtr&&(0,r.d)(()=>this._reset()),this._itemsPtr===this._items.length&&this._grow(),this._items[this._itemsPtr++]}_reset(){const t=Math.min(3*Math.max(8,this._itemsPtr),this._itemsPtr+3*s);this._items.length=Math.min(t,this._items.length),this._itemsPtr=0}_grow(){for(let t=0;t<Math.max(8,Math.min(this._items.length,s));t++)this._items.push(this._allocator())}}const s=1024},29242(t,e,n){function r(){return[1,0,0,0,1,0,0,0,1]}function i(t,e,n,r,i,s,o,c,a){return[t,e,n,r,i,s,o,c,a]}n.d(e,{fA:()=>i,vt:()=>r,zK:()=>s});const s=[1,0,0,0,1,0,0,0,1];Object.freeze(Object.defineProperty({__proto__:null,IDENTITY:s,clone:function(t){return[t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]]},create:r,fromValues:i},Symbol.toStringTag,{value:"Module"}))},9093(t,e,n){function r(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}function i(t){return[t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15]]}n.d(e,{o8:()=>i,vt:()=>r,zK:()=>s});const s=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];Object.freeze(Object.defineProperty({__proto__:null,IDENTITY:s,clone:i,create:r,fromValues:function(t,e,n,r,i,s,o,c,a,u,h,d,l,f,m,_){return[t,e,n,r,i,s,o,c,a,u,h,d,l,f,m,_]}},Symbol.toStringTag,{value:"Module"}))},82534(t,e,n){function r(){return[0,0,0,1]}function i(t){return[t[0],t[1],t[2],t[3]]}n.d(e,{o8:()=>i,vt:()=>r,zK:()=>s});const s=[0,0,0,1];Object.freeze(Object.defineProperty({__proto__:null,IDENTITY:s,clone:i,create:r,fromValues:function(t,e,n,r){return[t,e,n,r]}},Symbol.toStringTag,{value:"Module"}))},77690(t,e,n){n.d(e,{B8:()=>c,Ge:()=>f,I0:()=>l,KC:()=>a,a4:()=>u,hZ:()=>s,hs:()=>d,lw:()=>h,mg:()=>o,z0:()=>i});var r=n(34304);function i(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[4],t[4]=e[5],t[5]=e[6],t[6]=e[8],t[7]=e[9],t[8]=e[10],t}function s(t,e,n,r,i,s,o,c,a,u){return t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=s,t[5]=o,t[6]=c,t[7]=a,t[8]=u,t}function o(t,e){if(t===e){const n=e[1],r=e[2],i=e[5];t[1]=e[3],t[2]=e[6],t[3]=n,t[5]=e[7],t[6]=r,t[7]=i}else t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8];return t}function c(t,e){const n=e[0],r=e[1],i=e[2],s=e[3],o=e[4],c=e[5],a=e[6],u=e[7],h=e[8],d=h*o-c*u,l=-h*s+c*a,f=u*s-o*a;let m=n*d+r*l+i*f;return m?(m=1/m,t[0]=d*m,t[1]=(-h*r+i*u)*m,t[2]=(c*r-i*o)*m,t[3]=l*m,t[4]=(h*n-i*a)*m,t[5]=(-c*n+i*s)*m,t[6]=f*m,t[7]=(-u*n+r*a)*m,t[8]=(o*n-r*s)*m,t):null}function a(t,e){const n=e[0],r=e[1],i=e[2],s=e[3],o=e[4],c=e[5],a=e[6],u=e[7],h=e[8];return t[0]=o*h-c*u,t[1]=i*u-r*h,t[2]=r*c-i*o,t[3]=c*a-s*h,t[4]=n*h-i*a,t[5]=i*s-n*c,t[6]=s*u-o*a,t[7]=r*a-n*u,t[8]=n*o-r*s,t}function u(t){const e=t[0],n=t[1],r=t[2],i=t[3],s=t[4],o=t[5],c=t[6],a=t[7],u=t[8];return e*(u*s-o*a)+n*(-u*i+o*c)+r*(a*i-s*c)}function h(t,e,n){const r=e[0],i=e[1],s=e[2],o=e[3],c=e[4],a=e[5],u=e[6],h=e[7],d=e[8],l=n[0],f=n[1],m=n[2],_=n[3],p=n[4],g=n[5],b=n[6],v=n[7],M=n[8];return t[0]=l*r+f*o+m*u,t[1]=l*i+f*c+m*h,t[2]=l*s+f*a+m*d,t[3]=_*r+p*o+g*u,t[4]=_*i+p*c+g*h,t[5]=_*s+p*a+g*d,t[6]=b*r+v*o+M*u,t[7]=b*i+v*c+M*h,t[8]=b*s+v*a+M*d,t}function d(t,e,n){const r=n[0],i=n[1],s=n[2];return t[0]=r*e[0],t[1]=r*e[1],t[2]=r*e[2],t[3]=i*e[3],t[4]=i*e[4],t[5]=i*e[5],t[6]=s*e[6],t[7]=s*e[7],t[8]=s*e[8],t}function l(t,e){const n=e[0],r=e[1],i=e[2],s=e[3],o=n+n,c=r+r,a=i+i,u=n*o,h=r*o,d=r*c,l=i*o,f=i*c,m=i*a,_=s*o,p=s*c,g=s*a;return t[0]=1-d-m,t[3]=h-g,t[6]=l+p,t[1]=h+g,t[4]=1-u-m,t[7]=f-_,t[2]=l-p,t[5]=f+_,t[8]=1-u-d,t}function f(t,e){const n=e[0],r=e[1],i=e[2],s=e[3],o=e[4],c=e[5],a=e[6],u=e[7],h=e[8],d=e[9],l=e[10],f=e[11],m=e[12],_=e[13],p=e[14],g=e[15],b=n*c-r*o,v=n*a-i*o,M=n*u-s*o,S=r*a-i*c,y=r*u-s*c,w=i*u-s*a,A=h*_-d*m,j=h*p-l*m,x=h*g-f*m,O=d*p-l*_,C=d*g-f*_,T=l*g-f*p;let E=b*T-v*C+M*O+S*x-y*j+w*A;return E?(E=1/E,t[0]=(c*T-a*C+u*O)*E,t[1]=(a*x-o*T-u*j)*E,t[2]=(o*C-c*x+u*A)*E,t[3]=(i*C-r*T-s*O)*E,t[4]=(n*T-i*x+s*j)*E,t[5]=(r*x-n*C-s*A)*E,t[6]=(_*w-p*y+g*S)*E,t[7]=(p*M-m*w-g*v)*E,t[8]=(m*y-_*M+g*b)*E,t):null}function m(t,e,n){return t[0]=e[0]-n[0],t[1]=e[1]-n[1],t[2]=e[2]-n[2],t[3]=e[3]-n[3],t[4]=e[4]-n[4],t[5]=e[5]-n[5],t[6]=e[6]-n[6],t[7]=e[7]-n[7],t[8]=e[8]-n[8],t}const _=h,p=m;Object.freeze(Object.defineProperty({__proto__:null,add:function(t,e,n){return t[0]=e[0]+n[0],t[1]=e[1]+n[1],t[2]=e[2]+n[2],t[3]=e[3]+n[3],t[4]=e[4]+n[4],t[5]=e[5]+n[5],t[6]=e[6]+n[6],t[7]=e[7]+n[7],t[8]=e[8]+n[8],t},adjoint:a,copy:function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t},determinant:u,equals:function(t,e){const n=t[0],i=t[1],s=t[2],o=t[3],c=t[4],a=t[5],u=t[6],h=t[7],d=t[8],l=e[0],f=e[1],m=e[2],_=e[3],p=e[4],g=e[5],b=e[6],v=e[7],M=e[8],S=(0,r.FD)();return Math.abs(n-l)<=S*Math.max(1,Math.abs(n),Math.abs(l))&&Math.abs(i-f)<=S*Math.max(1,Math.abs(i),Math.abs(f))&&Math.abs(s-m)<=S*Math.max(1,Math.abs(s),Math.abs(m))&&Math.abs(o-_)<=S*Math.max(1,Math.abs(o),Math.abs(_))&&Math.abs(c-p)<=S*Math.max(1,Math.abs(c),Math.abs(p))&&Math.abs(a-g)<=S*Math.max(1,Math.abs(a),Math.abs(g))&&Math.abs(u-b)<=S*Math.max(1,Math.abs(u),Math.abs(b))&&Math.abs(h-v)<=S*Math.max(1,Math.abs(h),Math.abs(v))&&Math.abs(d-M)<=S*Math.max(1,Math.abs(d),Math.abs(M))},exactEquals:function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]&&t[6]===e[6]&&t[7]===e[7]&&t[8]===e[8]},frob:function(t){return Math.sqrt(t[0]**2+t[1]**2+t[2]**2+t[3]**2+t[4]**2+t[5]**2+t[6]**2+t[7]**2+t[8]**2)},fromMat2d:function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=0,t[3]=e[2],t[4]=e[3],t[5]=0,t[6]=e[4],t[7]=e[5],t[8]=1,t},fromMat4:i,fromQuat:l,fromRotation:function(t,e){const n=Math.sin(e),r=Math.cos(e);return t[0]=r,t[1]=n,t[2]=0,t[3]=-n,t[4]=r,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},fromScaling:function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=e[1],t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},fromTranslation:function(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=e[0],t[7]=e[1],t[8]=1,t},identity:function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},invert:c,isOrthoNormal:function(t){const e=(0,r.FD)(),n=t[0],i=t[1],s=t[2],o=t[3],c=t[4],a=t[5],u=t[6],h=t[7],d=t[8];return Math.abs(1-(n*n+o*o+u*u))<=e&&Math.abs(1-(i*i+c*c+h*h))<=e&&Math.abs(1-(s*s+a*a+d*d))<=e},mul:_,multiply:h,multiplyScalar:function(t,e,n){return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*n,t[5]=e[5]*n,t[6]=e[6]*n,t[7]=e[7]*n,t[8]=e[8]*n,t},multiplyScalarAndAdd:function(t,e,n,r){return t[0]=e[0]+n[0]*r,t[1]=e[1]+n[1]*r,t[2]=e[2]+n[2]*r,t[3]=e[3]+n[3]*r,t[4]=e[4]+n[4]*r,t[5]=e[5]+n[5]*r,t[6]=e[6]+n[6]*r,t[7]=e[7]+n[7]*r,t[8]=e[8]+n[8]*r,t},normalFromMat4:f,normalFromMat4Legacy:function(t,e){const n=e[0],r=e[1],i=e[2],s=e[4],o=e[5],c=e[6],a=e[8],u=e[9],h=e[10],d=h*o-c*u,l=-h*s+c*a,f=u*s-o*a,m=n*d+r*l+i*f;if(!m)return null;const _=1/m;return t[0]=d*_,t[1]=(-h*r+i*u)*_,t[2]=(c*r-i*o)*_,t[3]=l*_,t[4]=(h*n-i*a)*_,t[5]=(-c*n+i*s)*_,t[6]=f*_,t[7]=(-u*n+r*a)*_,t[8]=(o*n-r*s)*_,t},projection:function(t,e,n){return t[0]=2/e,t[1]=0,t[2]=0,t[3]=0,t[4]=-2/n,t[5]=0,t[6]=-1,t[7]=1,t[8]=1,t},rotate:function(t,e,n){const r=e[0],i=e[1],s=e[2],o=e[3],c=e[4],a=e[5],u=e[6],h=e[7],d=e[8],l=Math.sin(n),f=Math.cos(n);return t[0]=f*r+l*o,t[1]=f*i+l*c,t[2]=f*s+l*a,t[3]=f*o-l*r,t[4]=f*c-l*i,t[5]=f*a-l*s,t[6]=u,t[7]=h,t[8]=d,t},scale:d,scaleByVec2:function(t,e,n){const r=n[0],i=n[1];return t[0]=r*e[0],t[1]=r*e[1],t[2]=r*e[2],t[3]=i*e[3],t[4]=i*e[4],t[5]=i*e[5],t},set:s,str:function(t){return"mat3("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+")"},sub:p,subtract:m,translate:function(t,e,n){const r=e[0],i=e[1],s=e[2],o=e[3],c=e[4],a=e[5],u=e[6],h=e[7],d=e[8],l=n[0],f=n[1];return t[0]=r,t[1]=i,t[2]=s,t[3]=o,t[4]=c,t[5]=a,t[6]=l*r+f*o+u,t[7]=l*i+f*c+h,t[8]=l*s+f*a+d,t},transpose:o},Symbol.toStringTag,{value:"Module"}))},82919(t,e,n){n.d(e,{DV:()=>g,C:()=>_,vt:()=>f,Qy:()=>m,ui:()=>p,ST:()=>M,bU:()=>S,pw:()=>v,m7:()=>b,c8:()=>w});var r=n(4341),i=n(58083),s=n(35522),o=n(51850),c=n(78955),a=n(91829),u=n(71351);function h(t){return t?{ray:(0,u.vt)(t.ray),c0:t.c0,c1:t.c1}:{ray:(0,u.vt)(),c0:0,c1:Number.MAX_VALUE}}new r.I(()=>h());var d=n(27921),l=n(32114);function f(t){return t?[(0,d.vt)(t[0]),(0,d.vt)(t[1]),(0,d.vt)(t[2]),(0,d.vt)(t[3]),(0,d.vt)(t[4]),(0,d.vt)(t[5])]:[(0,d.vt)(),(0,d.vt)(),(0,d.vt)(),(0,d.vt)(),(0,d.vt)(),(0,d.vt)()]}function m(){return[(0,o.vt)(),(0,o.vt)(),(0,o.vt)(),(0,o.vt)(),(0,o.vt)(),(0,o.vt)(),(0,o.vt)(),(0,o.vt)()]}function _(t,e){for(let n=0;n<A;n++)(0,d.C)(t[n],e[n]);return t}function p(t,e,n,r=C){const o=(0,i.lw)(l.Rc.get(),e,t);(0,i.B8)(o,o);for(let t=0;t<j;++t){const e=(0,c.Z0)(l.Km.get(),x[t],o);(0,s.hZ)(r[t],e[0]/e[3],e[1]/e[3],e[2]/e[3])}g(n,r)}function g(t,e){(0,d.Cr)(e[4],e[0],e[3],t[0]),(0,d.Cr)(e[1],e[5],e[6],t[1]),(0,d.Cr)(e[4],e[5],e[1],t[2]),(0,d.Cr)(e[3],e[2],e[6],t[3]),(0,d.Cr)(e[0],e[1],e[2],t[4]),(0,d.Cr)(e[5],e[4],e[7],t[5])}function b(t,e){for(let n=0;n<A;n++){const r=t[n];if(r[0]*e.center[0]+r[1]*e.center[1]+r[2]*e.center[2]+r[3]>=e.radius)return!1}return!0}function v(t,e){return y(t,function(t,e=h()){return(0,u.C)(t,e.ray),e.c0=0,e.c1=Number.MAX_VALUE,e}(e,O.get()))}function M(t,e,n){return y(t,function(t,e,n=h()){const r=(0,s.Bw)(t.vector);return(0,u.fA)(t.origin,e,n.ray),n.c0=0,n.c1=r,n}(e,n,O.get()))}function S(t,e){for(let n=0;n<A;n++)if((0,d.mN)(t[n],e)>0)return!1;return!0}function y(t,e){for(let n=0;n<A;n++)if(!(0,d.$Q)(t[n],e))return!1;return!0}const w={bottom:[5,1,0,4],near:[0,1,2,3],far:[5,4,7,6],right:[1,5,6,2],left:[4,0,3,7],top:[7,3,2,6]},A=6,j=8,x=[(0,a.fA)(-1,-1,-1,1),(0,a.fA)(1,-1,-1,1),(0,a.fA)(1,1,-1,1),(0,a.fA)(-1,1,-1,1),(0,a.fA)(-1,-1,1,1),(0,a.fA)(1,-1,1,1),(0,a.fA)(1,1,1,1),(0,a.fA)(-1,1,1,1)],O=new r.I(h),C=m()},11964(t,e,n){n.d(e,{Cr:()=>h,LV:()=>u,_I:()=>d,vt:()=>a});var r=n(34727),i=n(4341),s=n(35522),o=n(51850),c=n(32114);function a(t){return t?{origin:(0,o.o8)(t.origin),vector:(0,o.o8)(t.vector)}:{origin:(0,o.vt)(),vector:(0,o.vt)()}}function u(t,e){const n=l.get();return n.origin=t,n.vector=e,n}function h(t,e,n=a()){return(0,s.C)(n.origin,t),(0,s.Re)(n.vector,e,t),n}function d(t,e,n){return function(t,e,n,i,o){const{vector:a,origin:u}=t,h=(0,s.Re)(c.rq.get(),e,u),d=(0,s.Om)(a,h)/(0,s.m3)(a);return(0,s.hs)(o,a,(0,r.qE)(d,0,1)),(0,s.WQ)(o,o,t.origin)}(t,e,0,0,n)}(0,o.vt)(),(0,o.vt)();const l=new i.I(()=>a())},27921(t,e,n){n.d(e,{$Q:()=>M,C:()=>c,Cr:()=>h,O_:()=>u,Qj:()=>a,T7:()=>b,Tj:()=>v,lU:()=>d,mN:()=>S,vE:()=>y,vt:()=>o});var r=n(34727),i=n(35522),s=n(51850);function o(t=w){return[t[0],t[1],t[2],t[3]]}function c(t,e){return function(t,e,n,r,i=o()){return i[0]=t,i[1]=e,i[2]=n,i[3]=r,i}(e[0],e[1],e[2],e[3],t)}function a(t){return t}function u(t,e,n){const r=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],i=Math.abs(r-1)>1e-5&&r>1e-12?1/Math.sqrt(r):1;return n[0]=e[0]*i,n[1]=e[1]*i,n[2]=e[2]*i,n[3]=-(n[0]*t[0]+n[1]*t[1]+n[2]*t[2]),n}function h(t,e,n,r=o()){const i=n[0]-e[0],s=n[1]-e[1],c=n[2]-e[2],a=t[0]-e[0],u=t[1]-e[1],h=t[2]-e[2],d=s*h-c*u,l=c*a-i*h,f=i*u-s*a,m=d*d+l*l+f*f,_=Math.abs(m-1)>1e-5&&m>1e-12?1/Math.sqrt(m):1;return r[0]=d*_,r[1]=l*_,r[2]=f*_,r[3]=-(r[0]*t[0]+r[1]*t[1]+r[2]*t[2]),r}function d(t,e,n,r=0,s=Math.floor(n*(1/3)),o=Math.floor(n*(2/3))){if(n<3)return!1;e(f,r);let c=s,a=!1;for(;c<n-1&&!a;)e(m,c),c++,a=!(0,i.t2)(f,m);if(!a)return!1;for(c=Math.max(c,o),a=!1;c<n&&!a;)e(_,c),c++,(0,i.Re)(p,f,m),(0,i.S8)(p,p),(0,i.Re)(g,m,_),(0,i.S8)(g,g),a=!(0,i.t2)(f,_)&&!(0,i.t2)(m,_)&&Math.abs((0,i.Om)(p,g))<l;return a?(h(f,m,_,t),!0):(0!==r||1!==s||2!==o)&&d(t,e,n,0,1,2)}n(78955),n(44280),n(32114),n(32728);const l=.99619469809,f=(0,s.vt)(),m=(0,s.vt)(),_=(0,s.vt)(),p=(0,s.vt)(),g=(0,s.vt)();function b(t,e,n){return function(t){return 0===t||1===t}(y(t,e.origin,e.vector,0,n))}function v(t,e){return S(t,e)>=0}function M(t,e){const n=(0,i.Om)(t,e.ray.direction),r=-S(t,e.ray.origin);if(r<0&&n>=0)return!1;if(n>-1e-6&&n<1e-6)return r>0;if((r<0||n<0)&&!(r<0&&n<0))return!0;const s=r/n;return n>0?s<e.c1&&(e.c1=s):s>e.c0&&(e.c0=s),e.c0<=e.c1}function S(t,e){return(0,i.Om)(t,e)+t[3]}function y(t,e,n,s,o){const c=(0,i.Om)(t,n),a=S(t,e);if(0===c)return a>=0?2:3;let u=-a/c;return 1&s&&(u=(0,r.qE)(u,0,1)),!(4&s)&&u<0||!(8&s)&&u>1?a>=0?2:3:((0,i.WQ)(o,e,(0,i.hs)(o,n,u)),a>=0?0:1)}const w=[0,0,1,0]},71351(t,e,n){n.d(e,{C:()=>h,Cr:()=>d,LV:()=>u,fA:()=>l,oC:()=>f,vt:()=>c}),n(4576);var r=n(4341),i=(n(77690),n(29242)),s=n(35522),o=n(51850);function c(t){return t?a((0,o.o8)(t.origin),(0,o.o8)(t.direction)):a((0,o.vt)(),(0,o.vt)())}function a(t,e){return{origin:t,direction:e}}function u(t,e){const n=m.get();return n.origin=t,n.direction=e,n}function h(t,e=c()){return l(t.origin,t.direction,e)}function d(t,e,n=c()){return(0,s.C)(n.origin,t),(0,s.Re)(n.direction,e,t),n}function l(t,e,n=c()){return(0,s.C)(n.origin,t),(0,s.C)(n.direction,e),n}function f(t,e,n){const r=(0,s.Om)(t.direction,(0,s.Re)(n,e,t.origin));return(0,s.WQ)(n,t.origin,(0,s.hs)(n,t.direction,r)),n}n(32114);const m=new r.I(()=>c());(0,o.vt)(),(0,o.vt)(),(0,o.vt)(),(0,i.vt)()},94008(t,e,n){n.d(e,{iy:()=>f}),n(44208),n(53966);var r=n(34727),i=n(34304),s=n(58083),o=n(35522),c=n(51850),a=n(91829),u=n(34275);var h=n(71351),d=n(44280),l=n(32114);class f{constructor(t=0,e=0,n=0,r=0){this.radius=r,"number"==typeof t?this._center=(0,c.fA)(t,e,n):function(t){return e=t,(0,u.vZ)(e)&&e.length>=3||function(t){return((0,u.aI)(t)||Array.isArray(t))&&t.length>=3}(t);var e}(t)||function(t){return(e=t)instanceof Float32Array&&e.length>=4||function(t){return Array.isArray(t)&&t.length>=4}(t);var e}(t)?(this._center=(0,c.ci)(t),this.radius=4===t.length?t[3]:e):(this._center=(0,c.o8)(t.center),this.radius=t.radius)}get isValid(){return this.radius>=0}invalidate(){this.radius=-1}get center(){return this._center}set center(t){(0,o.C)(this.center,t)}exactEquals(t){return(0,o.aI)(this._center,t.center)&&this.radius===t.radius}copyFrom(t){return t!==this&&((0,o.C)(this._center,t.center),this.radius=t.radius),this}clone(){return new f(this.center,this.radius)}toVec4(){return(0,a.fA)(this.center[0],this.center[1],this.center[2],this.radius)}contains(t){return(0,o.hG)(this.center,t)<=this.radius**2}intersectRay(t,e){if(null==t)return!1;if(!this._intersect(t,m))return!1;let{t0:n,t1:r}=m;if((n<0||r<n&&r>0)&&(n=r),n<0)return!1;if(e){const{origin:r,direction:i}=t;e[0]=r[0]+i[0]*n,e[1]=r[1]+i[1]*n,e[2]=r[2]+i[2]*n}return!0}intersectLine(t,e){const n=(0,h.Cr)(t,e);if(!this._intersect(n,m))return[];const{origin:r,direction:s}=n,{t0:a,t1:u}=m,d=t=>{const e=(0,c.vt)();return(0,o.Ln)(e,r,s,t),this.projectPoint(e,e)};return Math.abs(a-u)<(0,i.FD)()?[d(a)]:[d(a),d(u)]}_intersect(t,e){const{origin:n,direction:r}=t,i=_;i[0]=n[0]-this.center[0],i[1]=n[1]-this.center[1],i[2]=n[2]-this.center[2];const s=r[0]*r[0]+r[1]*r[1]+r[2]*r[2];if(0===s)return!1;const o=2*(r[0]*i[0]+r[1]*i[1]+r[2]*i[2]),c=o*o-4*s*(i[0]*i[0]+i[1]*i[1]+i[2]*i[2]-this.radius**2);if(c<0)return!1;const a=Math.sqrt(c);return e.t0=(-o-a)/(2*s),e.t1=(-o+a)/(2*s),!0}projectPoint(t,e){const n=(0,o.Re)(l.rq.get(),t,this.center),r=(0,o.hs)(l.rq.get(),n,this.radius/(0,o.Bw)(n));return(0,o.WQ)(e,r,this.center)}closestPointOnSilhouette(t,e){const n=l.rq.get(),r=l.Rc.get();(0,o.$A)(n,t.origin,t.direction),(0,o.$A)(e,n,t.origin),(0,o.hs)(e,e,1/(0,o.Bw)(e)*this.radius);const i=this._angleToSilhouette(t.origin),c=(0,d.g7)(t.origin,e);return(0,s.$0)(r,c+i,n),(0,o.Z0)(e,e,r),e}frustumCoverage(t,e,n){const r=this.radius,i=r*r,s=t+.5*Math.PI,o=e*e+i-2*Math.cos(s)*e*r,c=Math.sqrt(o),a=o-i;if(a<=0)return.5;const u=Math.sqrt(a),h=Math.acos(u/c)-Math.asin(r/(c/Math.sin(s)));return Math.min(1,(h+.5*n)/n)}_angleToSilhouette(t){const e=(0,o.Re)(l.rq.get(),t,this.center),n=(0,o.Bw)(e),i=this.radius,s=i+Math.abs(i-n);return(0,r.XM)(i/s)}union(t){const e=(0,o.Io)(this._center,t.center),n=this.radius,r=t.radius;return e+r<n?this:e+n<r?(this.copyFrom(t),this):((0,o.Cc)(this._center,this._center,t.center,(e+r-n)/(2*e)),this.radius=(e+n+r)/2,this)}toJSON(){return{center:this.center,radius:this.radius}}}new f;const m={t0:0,t1:0},_=(0,c.vt)();(0,c.vt)(),(0,c.vt)()},44280(t,e,n){n.d(e,{g7:()=>c,gr:()=>o});var r=n(34727),i=n(35522),s=n(51850);function o(t,e){return(0,i.Om)(t,e)/(0,i.Bw)(t)}function c(t,e){const n=(0,i.Om)(t,e)/((0,i.Bw)(t)*(0,i.Bw)(e));return-(0,r.XM)(n)}(0,s.vt)(),(0,s.vt)()},32114(t,e,n){n.d(e,{Rc:()=>f,J8:()=>m,rq:()=>d,Km:()=>l}),n(44208);var r=n(26390),i=n(29242),s=n(9093),o=n(82534),c=n(48163),a=n(51850),u=n(91829);class h{constructor(t){this._create=t,this._items=new Array,this._itemsPtr=0}get(){return 0===this._itemsPtr&&(0,r.d)(()=>this._reset()),this._itemsPtr>=this._items.length&&this._items.push(this._create()),this._items[this._itemsPtr++]}_reset(){const t=2*this._itemsPtr;this._items.length>t&&(this._items.length=t),this._itemsPtr=0}static createVec2f64(){return new h(c.vt)}static createVec3f64(){return new h(a.vt)}static createVec4f64(){return new h(u.vt)}static createMat3f64(){return new h(i.vt)}static createMat4f64(){return new h(s.vt)}static createQuatf64(){return new h(o.vt)}get test(){}}h.createVec2f64();const d=h.createVec3f64(),l=h.createVec4f64(),f=(h.createMat3f64(),h.createMat4f64()),m=h.createQuatf64()},32728(t,e,n){n.d(e,{YH:()=>o,nu:()=>c,wp:()=>s}),n(34727);var r=n(35522),i=n(51850);function s(t,e){const n=Math.sqrt(e[0]*e[0]+e[4]*e[4]+e[8]*e[8]),i=Math.sqrt(e[1]*e[1]+e[5]*e[5]+e[9]*e[9]),s=Math.sqrt(e[2]*e[2]+e[6]*e[6]+e[10]*e[10]);return(0,r.hZ)(t,n,i,s),t}function o(t,e,n){n=n||t;const i=(0,r.Om)(t,e);(0,r.hZ)(n,t[0]-i*e[0],t[1]-i*e[1],t[2]-i*e[2]),(0,r.S8)(n,n)}function c(t,e,n,s=(0,i.vt)()){const o=(0,r.Bw)(t),c=(0,r.Bw)(e),h=(0,r.Om)(t,e)/(o*c);if(h<.9999999999999999){const i=Math.acos(h),d=((1-n)*o+n*c)/Math.sin(i),l=d/o*Math.sin((1-n)*i),f=d/c*Math.sin(n*i);return(0,r.hs)(a,t,l),(0,r.hs)(u,e,f),(0,r.WQ)(s,a,u)}return(0,r.Cc)(s,t,e,n)}(0,i.vt)(),(0,i.vt)(),(0,i.vt)();const a=(0,i.vt)(),u=(0,i.vt)()},70491(t,e,n){n.r(e),n.d(e,{default:()=>U});var r=n(5482),i=n(17676),s=n(24326),o=n(91429),c=n(35522),a=n(51850),u=n(11964),h=n(94008),d=n(93687),l=n(15142),f=n(82919),m=n(71351),_=n(620);class p{get bounds(){return this._root.bounds}get halfSize(){return this._root.halfSize}get root(){return this._root.node}get maximumObjectsPerNode(){return this._maximumObjectsPerNode}get maximumDepth(){return this._maximumDepth}get objectCount(){return this._objectCount}constructor(t,e){this.objectToBoundingSphere=t,this._maximumObjectsPerNode=10,this._maximumDepth=20,this._degenerateObjects=new Set,this._root=new g,this._objectCount=0,e&&(void 0!==e.maximumObjectsPerNode&&(this._maximumObjectsPerNode=e.maximumObjectsPerNode),void 0!==e.maximumDepth&&(this._maximumDepth=e.maximumDepth))}destroy(){this._degenerateObjects.clear(),g.clearPool(),R[0]=null,D.prune(),Q.prune()}add(t){const e=Array.from(t);this._grow(e);const n=g.acquire();for(const t of e)++this._objectCount,this._isDegenerate(t)?this._degenerateObjects.add(t):(n.init(this._root),this._add(t,n));g.release(n)}remove(t,e=null){this._objectCount-=t.length;const n=g.acquire();for(const r of t){const t=e??this.objectToBoundingSphere(r);T(t.radius)?(n.init(this._root),M(r,t,n)):this._degenerateObjects.delete(r)}g.release(n),this._shrink()}update(t,e){if(!T(e.radius)&&this._isDegenerate(t))return;const n=function(t){return R[0]=t,R}(t);this.remove(n,e),this.add(n)}forEachAlongRay(t,e,n){const r=(0,m.LV)(t,e);b(this._root,t=>{if(!function(t,e){return j(e.bounds.center,2*-e.halfSize,N),j(e.bounds.center,2*e.halfSize,q),(0,_.O_)(t.origin,t.direction,N,q)}(r,t))return!1;const e=t.node;return e.terminals.forAll(t=>{this._intersectsObject(r,t)&&n(t)}),null!==e.residents&&e.residents.forAll(t=>{this._intersectsObject(r,t)&&n(t)}),!0})}forEachAlongRayWithVerticalOffset(t,e,n,r){const i=(0,m.LV)(t,e);b(this._root,t=>{if(!function(t,e,n){return j(e.bounds.center,2*-e.halfSize,N),j(e.bounds.center,2*e.halfSize,q),n.applyToMinMax(N,q),(0,_.O_)(t.origin,t.direction,N,q)}(i,t,r))return!1;const e=t.node;return e.terminals.forAll(t=>{this._intersectsObjectWithOffset(i,t,r)&&n(t)}),null!==e.residents&&e.residents.forAll(t=>{this._intersectsObjectWithOffset(i,t,r)&&n(t)}),!0})}forEach(t){b(this._root,e=>{const n=e.node;return n.terminals.forAll(t),null!==n.residents&&n.residents.forAll(t),!0}),this._degenerateObjects.forEach(t)}forEachDegenerateObject(t){this._degenerateObjects.forEach(t)}findClosest(t,e,n,r=()=>!0,i=1/0){let s=1/0,o=1/0,a=null;const u=O(t,e),h=c=>{if(--i,!r(c))return;const u=this.objectToBoundingSphere(c);if(!(0,f.m7)(n,u))return;const h=C(t,e,u.center),d=h-u.radius,l=h+u.radius;d<s&&(s=d,o=l,a=c)};return v(this._root,r=>{if(i<=0||!(0,f.m7)(n,r.bounds))return!1;if((0,c.hs)(I,u,r.halfSize),(0,c.WQ)(I,I,r.bounds.center),C(t,e,I)>o)return!1;const s=r.node;return s.terminals.forAll(t=>h(t)),null!==s.residents&&s.residents.forAll(t=>h(t)),!0},t,e),a}forEachInDepthRange(t,e,n,r,i,s,o){let a=-1/0,u=1/0;const h={setRange:t=>{1===n?(a=Math.max(a,t.near),u=Math.min(u,t.far)):(a=Math.max(a,-t.far),u=Math.min(u,-t.near))}};h.setRange(r);const d=C(e,n,t),l=O(e,n),m=O(e,-n),_=t=>{if(!o(t))return;const r=this.objectToBoundingSphere(t),c=C(e,n,r.center)-d,l=c-r.radius,m=c+r.radius;l>u||m<a||!(0,f.m7)(s,r)||i(t,h)};v(this._root,t=>{if(!(0,f.m7)(s,t.bounds))return!1;if((0,c.hs)(I,l,t.halfSize),(0,c.WQ)(I,I,t.bounds.center),C(e,n,I)-d>u)return!1;if((0,c.hs)(I,m,t.halfSize),(0,c.WQ)(I,I,t.bounds.center),C(e,n,I)-d<a)return!1;const r=t.node;return r.terminals.forAll(t=>_(t)),null!==r.residents&&r.residents.forAll(t=>_(t)),!0},e,n)}forEachNode(t){b(this._root,e=>t(e.node,e.bounds,e.halfSize,e.depth))}forEachNeighbor(t,e){const n=e.radius,r=e.center,i=e=>{const i=this.objectToBoundingSphere(e),s=i.radius,o=n+s;return!((0,c.hG)(i.center,r)-o*o<=0)||t(e)};let s=!0;const o=t=>{s&&(s=i(t))};b(this._root,t=>{const e=t.bounds.radius,i=n+e;if((0,c.hG)(t.bounds.center,r)-i*i>0)return!1;const a=t.node;return a.terminals.forAll(o),s&&null!==a.residents&&a.residents.forAll(o),s}),s&&this.forEachDegenerateObject(o)}_intersectsObject(t,e){const n=this.objectToBoundingSphere(e);return!(n.radius>0)||n.intersectRay(t)}_intersectsObjectWithOffset(t,e,n){const r=this.objectToBoundingSphere(e);return!(r.radius>0)||n.applyToBoundingSphere(r).intersectRay(t)}_add(t,e){e.advanceTo(this.objectToBoundingSphere(t))?e.node.terminals.push(t):(e.node.residents.push(t),e.node.residents.length>this._maximumObjectsPerNode&&e.depth<this._maximumDepth&&this._split(e))}_split(t){const e=t.node.residents;t.node.residents=null;for(let n=0;n<e.length;n++){const r=g.acquire().init(t);this._add(e.at(n),r),g.release(r)}}_grow(t){if(x(t,t=>this.objectToBoundingSphere(t),V),T(V.radius)&&!this._fitsInsideTree(V))if(y(this._root.node))this._root.bounds.copyFrom(V),this._root.halfSize=1.25*this._root.bounds.radius,this._root.updateBoundsRadiusFromHalfSize();else{const t=this._rootBoundsForRootAsSubNode(V);this._placingRootViolatesMaxDepth(t)?this._rebuildTree(V,t):this._growRootAsSubNode(t),g.release(t)}}_rebuildTree(t,e){L.center=e.bounds.center,L.radius=e.halfSize,x([t,L],t=>t,F);const n=g.acquire().init(this._root);this._root.initFrom(null,F,F.radius),this._root.increaseHalfSize(1.25),b(n,t=>(this.add(t.node.terminals.data),null!==t.node.residents&&this.add(t.node.residents.data),!0)),g.release(n)}_placingRootViolatesMaxDepth(t){const e=Math.log(t.halfSize/this._root.halfSize)*Math.LOG2E;let n=0;return b(this._root,t=>(n=Math.max(n,t.depth),n+e<=this._maximumDepth)),n+e>this._maximumDepth}_rootBoundsForRootAsSubNode(t){const e=t.radius,n=t.center;let r=-1/0;const i=this._root.bounds.center,s=this._root.halfSize;for(let t=0;t<3;t++){const o=i[t]-s-(n[t]-e),c=n[t]+e-(i[t]+s),a=Math.max(0,Math.ceil(o/(2*s))),u=Math.max(0,Math.ceil(c/(2*s)))+1,h=2**Math.ceil(Math.log(a+u)*Math.LOG2E);r=Math.max(r,h),k[t].min=a,k[t].max=u}for(let t=0;t<3;t++){let e=k[t].min,n=k[t].max;const o=(r-(e+n))/2;e+=Math.ceil(o),n+=Math.floor(o);const c=i[t]-s-e*s*2;B.center[t]=c+(n+e)*s}const o=r*s;return B.radius=o*z,g.acquire().initFrom(null,B,o,0)}_growRootAsSubNode(t){const e=this._root.node;V.center=this._root.bounds.center,V.radius=this._root.halfSize,this._root.init(t),t.advanceTo(V,null,!0),t.node.children=e.children,t.node.residents=e.residents,t.node.terminals=e.terminals}_shrink(){for(;;){const t=this._findShrinkIndex();if(-1===t)break;this._root.advance(t),this._root.depth=0}}_findShrinkIndex(){if(0!==this._root.node.terminals.length||this._root.isLeaf())return-1;let t=null;const e=this._root.node.children;let n=0,r=0;for(;r<e.length&&null==t;)n=r++,t=e[n];for(;r<e.length;)if(e[r++])return-1;return n}_isDegenerate(t){return!T(this.objectToBoundingSphere(t).radius)}_fitsInsideTree(t){const e=this._root.bounds,n=this._root.halfSize;return t.radius<=n&&t.center[0]>=e.center[0]-n&&t.center[0]<=e.center[0]+n&&t.center[1]>=e.center[1]-n&&t.center[1]<=e.center[1]+n&&t.center[2]>=e.center[2]-n&&t.center[2]<=e.center[2]+n}_nodeToJSON(t){const e=t.children.map(t=>t?this._nodeToJSON(t):null),n=t.residents?.map(t=>this.objectToBoundingSphere(t)),r=t.terminals?.map(t=>this.objectToBoundingSphere(t));return{children:e,residents:n,terminals:r}}}class g{constructor(){this.bounds=new h.iy,this.halfSize=0,this.initFrom(null,null,0,0)}init(t){return this.initFrom(t.node,t.bounds,t.halfSize,t.depth)}initFrom(t,e,n,r=this.depth){return this.node=null!=t?t:g.createEmptyNode(),e&&this.bounds.copyFrom(e),this.halfSize=n,this.depth=r,this}increaseHalfSize(t){this.halfSize*=t,this.updateBoundsRadiusFromHalfSize()}updateBoundsRadiusFromHalfSize(){this.bounds.radius=this.halfSize*z}advance(t){let e=this.node.children[t];e||(e=g.createEmptyNode(),this.node.children[t]=e),this.node=e,this.halfSize/=2,this.depth++;const n=E[t];return this.bounds.center[0]+=n[0]*this.halfSize,this.bounds.center[1]+=n[1]*this.halfSize,this.bounds.center[2]+=n[2]*this.halfSize,this.updateBoundsRadiusFromHalfSize(),this}advanceTo(t,e,n=!1){for(;;){if(this.isTerminalFor(t))return e?.(this,-1),!0;if(this.isLeaf()){if(!n)return e?.(this,-1),!1;this.node.residents=null}const r=this._childIndex(t);e?.(this,r),this.advance(r)}}isLeaf(){return null!=this.node.residents}isTerminalFor(t){return t.radius>this.halfSize/2}_childIndex(t){const e=this.bounds.center;return(e[0]<t.center[0]?1:0)+(e[1]<t.center[1]?2:0)+(e[2]<t.center[2]?4:0)}static createEmptyNode(){return{children:[null,null,null,null,null,null,null,null],terminals:new l.A({shrink:!0}),residents:new l.A({shrink:!0})}}static{this._pool=new d.A(()=>new g)}static acquire(){return g._pool.acquire()}static release(t){g._pool.release(t)}static clearPool(){g._pool.prune()}}function b(t,e){let n=g.acquire().init(t);const r=[n];for(;0!==r.length;){if(n=r.pop(),e(n)&&!n.isLeaf())for(let t=0;t<n.node.children.length;t++)n.node.children[t]&&r.push(g.acquire().init(n).advance(t));g.release(n)}}function v(t,e,n,r=1){let i=g.acquire().init(t);const s=[i];for(function(t,e,n){if(!Q.length)for(let t=0;t<8;++t)Q.push({index:0,distance:0});for(let n=0;n<8;++n){const r=E[n];Q.data[n].index=n,Q.data[n].distance=C(t,e,r)}Q.sort((t,e)=>t.distance-e.distance);for(let t=0;t<8;++t)n[t]=Q.data[t].index}(n,r,W);0!==s.length;){if(i=s.pop(),e(i)&&!i.isLeaf())for(let t=7;t>=0;--t){const e=W[t];i.node.children[e]&&s.push(g.acquire().init(i).advance(e))}g.release(i)}}function M(t,e,n){D.clear();const r=n.advanceTo(e,(t,e)=>{D.push(t.node),D.push(e)})?n.node.terminals:n.node.residents;if(r.removeUnordered(t),0===r.length)for(let t=D.length-2;t>=0&&S(D.data[t],D.data[t+1]);t-=2);}function S(t,e){return e>=0&&(t.children[e]=null),!!y(t)&&(null===t.residents&&(t.residents=new l.A({shrink:!0})),!0)}function y(t){if(0!==t.terminals.length)return!1;if(null!==t.residents)return 0===t.residents.length;for(let e=0;e<t.children.length;e++)if(t.children[e])return!1;return!0}function w(t,e){t[0]=Math.min(t[0],e.center[0]-e.radius),t[1]=Math.min(t[1],e.center[1]-e.radius),t[2]=Math.min(t[2],e.center[2]-e.radius)}function A(t,e){t[0]=Math.max(t[0],e.center[0]+e.radius),t[1]=Math.max(t[1],e.center[1]+e.radius),t[2]=Math.max(t[2],e.center[2]+e.radius)}function j(t,e,n){n[0]=t[0]+e,n[1]=t[1]+e,n[2]=t[2]+e}function x(t,e,n){N[0]=1/0,N[1]=1/0,N[2]=1/0,q[0]=-1/0,q[1]=-1/0,q[2]=-1/0;for(const n of t){const t=e(n);T(t.radius)&&(w(N,t),A(q,t))}(0,c.Cc)(n.center,N,q,.5),n.radius=Math.max(q[0]-N[0],q[1]-N[1],q[2]-N[2])/2}function O(t,e){let n,r=1/0;for(let i=0;i<8;++i){const s=C(t,e,P[i]);s<r&&(r=s,n=P[i])}return n}function C(t,e,n){return e*(t[0]*n[0]+t[1]*n[1]+t[2]*n[2])}function T(t){return!isNaN(t)&&t!==-1/0&&t!==1/0&&t>0}const E=[(0,a.fA)(-1,-1,-1),(0,a.fA)(1,-1,-1),(0,a.fA)(-1,1,-1),(0,a.fA)(1,1,-1),(0,a.fA)(-1,-1,1),(0,a.fA)(1,-1,1),(0,a.fA)(-1,1,1),(0,a.fA)(1,1,1)],P=[(0,a.fA)(-1,-1,-1),(0,a.fA)(-1,-1,1),(0,a.fA)(-1,1,-1),(0,a.fA)(-1,1,1),(0,a.fA)(1,-1,-1),(0,a.fA)(1,-1,1),(0,a.fA)(1,1,-1),(0,a.fA)(1,1,1)],z=Math.sqrt(3),R=[null],B=new h.iy,I=(0,a.vt)(),N=(0,a.vt)(),q=(0,a.vt)(),D=new l.A,V=new h.iy,L=new h.iy,F=new h.iy,k=[{min:0,max:0},{min:0,max:0},{min:0,max:0}],Q=new l.A,W=[0,0,0,0,0,0,0,0];var H=n(7380);function K(t,e,n){const r=new h.iy;return(0,c.hs)(r.center,t,.5),(0,c.Ln)(r.center,r.center,e,.5),r.radius=(0,c.Io)(r.center,t),(0,c.WQ)(r.center,r.center,n),r}class Z{constructor(t,e,n){this.objectId=t,this.target=e,this.distance=n}}class G extends Z{constructor(t,e,n){super(t,e,n),this.type="vertex"}}class $ extends Z{constructor(t,e,n,r,i){super(t,e,n),this.start=r,this.end=i,this.type="edge"}}let J=class{constructor(){this._idToComponent=new Map,this._components=new p(t=>t.bounds),this._edges=new p(t=>t.bounds),this._tmpLineSegment=(0,u.vt)(),this._tmpP1=(0,a.vt)(),this._tmpP2=(0,a.vt)(),this._tmpP3=(0,a.vt)(),this.remoteClient=null}async fetchCandidates(t,e){await Promise.resolve(),(0,i.Te)(e);const n=t;n.mbs=new h.iy(t.mbsJSON),await this._ensureEdgeLocations(n,e);const r=[];return this._edges.forEachNeighbor(t=>(this._addCandidates(n,t,r),r.length<1e3),n.mbs),{result:{candidates:r}}}async _ensureEdgeLocations(t,e){const n=[];if(this._components.forEachNeighbor(t=>{if(null==t.info){const{id:e,uid:r}=t;n.push({id:e,uid:r})}return!0},t.mbs),!n.length)return;const r={components:n},i=await this.remoteClient.invoke("fetchAllEdgeLocations",r,e??{});for(const t of i.components)this._setFetchEdgeLocations(t)}async add(t){const e=new X(t.id,new h.iy(t.bounds));return this._idToComponent.set(e.id,e),this._components.add([e]),{result:{}}}async remove(t){const e=this._idToComponent.get(t.id);if(e){const t=[];this._edges.forEachNeighbor(n=>(n.component===e&&t.push(n),!0),e.bounds),this._edges.remove(t),this._components.remove([e]),this._idToComponent.delete(e.id)}return{result:{}}}_setFetchEdgeLocations(t){const e=this._idToComponent.get(t.id);if(null==e||t.uid!==e.uid)return;const n=H.HY.createView(t.locations),r=new Array(n.count),i=(0,a.vt)(),s=(0,a.vt)();for(let o=0;o<n.count;o++){n.position0.getVec(o,i),n.position1.getVec(o,s);const c=K(i,s,t.origin),a=new tt(e,o,c);r[o]=a}this._edges.add(r);const{objectIds:o,origin:c}=t;e.info={locations:n,objectIds:o,origin:c}}_addCandidates(t,e,n){const{info:r}=e.component,{origin:i,objectIds:s}=r,o=r.locations,a=o.position0.getVec(e.index,this._tmpP1),u=o.position1.getVec(e.index,this._tmpP2);(0,c.WQ)(a,a,i),(0,c.WQ)(u,u,i);const h=s[o.componentIndex.get(e.index)];this._addEdgeCandidate(t,h,a,u,n),Y(t,h,a,n),Y(t,h,u,n)}_addEdgeCandidate(t,e,n,r,i){if(!t.returnEdge)return;const s=t.mbs.center,o=(0,u.Cr)(n,r,this._tmpLineSegment),h=(0,u._I)(o,s,this._tmpP3);t.mbs.contains(h)&&i.push(new $(e,(0,a.o8)(h),(0,c.Io)(s,h),(0,a.o8)(n),(0,a.o8)(r)))}};J=(0,r.Cg)([(0,o.$K)("esri.views.interactive.snapping.featureSources.sceneLayerSource.SceneLayerSnappingSourceWorker")],J);const U=J;function Y(t,e,n,r){t.returnVertex&&t.mbs.contains(n)&&r.push(new G(e,(0,a.o8)(n),(0,c.Io)(t.mbs.center,n)))}class X{constructor(t,e){this.id=t,this.bounds=e,this.info=null,this.uid=(0,s.c)()}}class tt{constructor(t,e,n){this.component=t,this.index=e,this.bounds=n}}}}]);