@arcgis/core 5.0.0-next.83 → 5.0.0-next.84

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 (865) hide show
  1. package/WebDocument2D.d.ts +3 -2
  2. package/WebDocument2D.js +1 -1
  3. package/WebScene.d.ts +3 -2
  4. package/WebScene.js +1 -1
  5. package/applications/SceneViewer/layerUtils.d.ts +3 -2
  6. package/applications/SceneViewer/layerUtils.js +1 -1
  7. package/assets/esri/core/workers/RemoteClient.js +1 -1
  8. package/assets/esri/core/workers/chunks/0057d3a9522188090536.js +1 -0
  9. package/assets/esri/core/workers/chunks/008a555ce169640e2a35.js +2 -0
  10. package/assets/esri/core/workers/chunks/00e135dc1b4cb024973d.js +1 -0
  11. package/assets/esri/core/workers/chunks/03da31c7635d077e8d99.js +1 -0
  12. package/assets/esri/core/workers/chunks/04fddd41a8e6a4c1bc57.js +1 -0
  13. package/assets/esri/core/workers/chunks/05a75878baca3a04fee9.js +1 -0
  14. package/assets/esri/core/workers/chunks/05aa22778a85624cfa55.js +1 -0
  15. package/assets/esri/core/workers/chunks/06493efc57cbfbda050a.js +1 -0
  16. package/assets/esri/core/workers/chunks/0674ae3741bc99325879.js +1 -0
  17. package/assets/esri/core/workers/chunks/07c5a9e8f48b3c806ac7.js +1 -0
  18. package/assets/esri/core/workers/chunks/0abb084b8a137f4fcdfc.js +1 -0
  19. package/assets/esri/core/workers/chunks/0b0545538ce355cace52.js +1 -0
  20. package/assets/esri/core/workers/chunks/0c13591347d51d684561.js +1 -0
  21. package/assets/esri/core/workers/chunks/0e7daf348c3e4681dd44.js +1 -0
  22. package/assets/esri/core/workers/chunks/10a5bf887132821beaf0.js +1 -0
  23. package/assets/esri/core/workers/chunks/10b32aff749d3459ddcd.js +1 -0
  24. package/assets/esri/core/workers/chunks/114aecdbd2bd92b24de2.js +1 -0
  25. package/assets/esri/core/workers/chunks/14f8215ab716c6d9d5f8.js +1 -0
  26. package/assets/esri/core/workers/chunks/156c73a948bde11f0d53.js +1 -0
  27. package/assets/esri/core/workers/chunks/165cf8031af160c99d70.js +1 -0
  28. package/assets/esri/core/workers/chunks/1779e6eabc299831fc9f.js +1 -0
  29. package/assets/esri/core/workers/chunks/181fab86394f1f912490.js +1 -0
  30. package/assets/esri/core/workers/chunks/185c97bc63ce546995ce.js +1 -0
  31. package/assets/esri/core/workers/chunks/18cdd268fc921ffd92e2.js +1 -0
  32. package/assets/esri/core/workers/chunks/1a13b472e0cf9f88e8de.js +1 -0
  33. package/assets/esri/core/workers/chunks/1a41c9127ca5a260d5ef.js +1 -0
  34. package/assets/esri/core/workers/chunks/1a62c456e791c82050fe.js +1 -0
  35. package/assets/esri/core/workers/chunks/1c05906d1b5b92441c9b.js +1 -0
  36. package/assets/esri/core/workers/chunks/1cf289446619645487b6.js +1 -0
  37. package/assets/esri/core/workers/chunks/1e318e5cf417c8f13bc7.js +1 -0
  38. package/assets/esri/core/workers/chunks/1eb6f210ae69c317e1f6.js +1 -0
  39. package/assets/esri/core/workers/chunks/1facc1b45345a095b9a7.js +1 -0
  40. package/assets/esri/core/workers/chunks/1fe1a131be1d5e1e23ed.js +1 -0
  41. package/assets/esri/core/workers/chunks/21ac84b5c7dedcfd747d.js +2 -0
  42. package/assets/esri/core/workers/chunks/22503abc06354741d28a.js +1 -0
  43. package/assets/esri/core/workers/chunks/22b1543b1a39db9acfc3.js +1 -0
  44. package/assets/esri/core/workers/chunks/249bc4abaa6482aaf288.js +1 -0
  45. package/assets/esri/core/workers/chunks/25a9ae17dc2ef44a4481.js +1 -0
  46. package/assets/esri/core/workers/chunks/25dead73dfc5a4c19285.js +1 -0
  47. package/assets/esri/core/workers/chunks/2767b69085c9f7a1e1af.js +1 -0
  48. package/assets/esri/core/workers/chunks/286a45e9aec0b2bf32ef.js +1 -0
  49. package/assets/esri/core/workers/chunks/289681e94e93dc1d3512.js +1 -0
  50. package/assets/esri/core/workers/chunks/2a1898c5b8d7757e39e3.js +1 -0
  51. package/assets/esri/core/workers/chunks/2a81f08de9d642485669.js +1 -0
  52. package/assets/esri/core/workers/chunks/2b2283f1ee4bfc1baa18.js +1 -0
  53. package/assets/esri/core/workers/chunks/2bb82ae3ada57c066fdf.js +1 -0
  54. package/assets/esri/core/workers/chunks/2bdd28b4b5ef2c1e111f.js +1 -0
  55. package/assets/esri/core/workers/chunks/2c8b4d54ecf6ea2fecb1.js +1 -0
  56. package/assets/esri/core/workers/chunks/2ce845c990bb4d701362.js +1 -0
  57. package/assets/esri/core/workers/chunks/2f20cca2c5c058afc9af.js +1 -0
  58. package/assets/esri/core/workers/chunks/304ea784c28dc78e5e65.js +1 -0
  59. package/assets/esri/core/workers/chunks/3087910d19959fdc546b.js +1 -0
  60. package/assets/esri/core/workers/chunks/30cfa41017c2d434a89f.js +1 -0
  61. package/assets/esri/core/workers/chunks/33257fbd724ae188e259.js +1 -0
  62. package/assets/esri/core/workers/chunks/338768f94cc49559b209.js +1 -0
  63. package/assets/esri/core/workers/chunks/34073c8e4fc825f060f1.js +1 -0
  64. package/assets/esri/core/workers/chunks/34503f9b26c81e631174.js +1 -0
  65. package/assets/esri/core/workers/chunks/348560f083350ad0bf2e.js +1 -0
  66. package/assets/esri/core/workers/chunks/3606fc5537c4d11b9554.js +1 -0
  67. package/assets/esri/core/workers/chunks/3628e82707e7720c9e4c.js +1 -0
  68. package/assets/esri/core/workers/chunks/36b053decb87c9d32cd2.js +1 -0
  69. package/assets/esri/core/workers/chunks/37f5687dc1147b0a7bc1.js +1 -0
  70. package/assets/esri/core/workers/chunks/380a9b6d75992d6311c3.js +1 -0
  71. package/assets/esri/core/workers/chunks/3849dc35941e569fae5f.js +1 -0
  72. package/assets/esri/core/workers/chunks/388bd41c305d5a11f739.js +1 -0
  73. package/assets/esri/core/workers/chunks/389e2263a540f819d842.js +1 -0
  74. package/assets/esri/core/workers/chunks/38ca539f33e2d977771c.js +1 -0
  75. package/assets/esri/core/workers/chunks/3909217130048b5feeae.js +301 -0
  76. package/assets/esri/core/workers/chunks/39e1b04444389d2987be.js +1 -0
  77. package/assets/esri/core/workers/chunks/3ad7ec46adecf00ae1c2.js +1 -0
  78. package/assets/esri/core/workers/chunks/3aeb3e8220e7d9869652.js +1 -0
  79. package/assets/esri/core/workers/chunks/3afc221b3a9e209cceea.js +1 -0
  80. package/assets/esri/core/workers/chunks/3b67aa46a60e35469bf8.js +1 -0
  81. package/assets/esri/core/workers/chunks/3b6fc34b6d92eef030e5.js +1 -0
  82. package/assets/esri/core/workers/chunks/3bb28b59614fc36b2c50.js +1 -0
  83. package/assets/esri/core/workers/chunks/3eeaec74871e20b433d2.js +1 -0
  84. package/assets/esri/core/workers/chunks/418a778a4cbbb9dabecd.js +1 -0
  85. package/assets/esri/core/workers/chunks/42444285fd79a8d8e564.js +1 -0
  86. package/assets/esri/core/workers/chunks/428ca5900d882d7be499.js +1 -0
  87. package/assets/esri/core/workers/chunks/436c15ac34a205a13a37.js +1 -0
  88. package/assets/esri/core/workers/chunks/43e9eaedf65921b58eb2.js +1 -0
  89. package/assets/esri/core/workers/chunks/4487cf21fa9f0466450d.js +1 -0
  90. package/assets/esri/core/workers/chunks/45dbdf2ff95f7be1eb88.js +1 -0
  91. package/assets/esri/core/workers/chunks/4756f0dbbda129c760b1.js +1 -0
  92. package/assets/esri/core/workers/chunks/4a0760571ce536fbd8c8.js +1 -0
  93. package/assets/esri/core/workers/chunks/4b09d92c51c4619b548a.js +1 -0
  94. package/assets/esri/core/workers/chunks/4b24f72b56edc28bb15e.js +1 -0
  95. package/assets/esri/core/workers/chunks/4bb0c3b009493ea44632.js +1 -0
  96. package/assets/esri/core/workers/chunks/4c0e0beb1534d81ff648.js +1 -0
  97. package/assets/esri/core/workers/chunks/4c54cb80c4dc9bbbd395.js +1 -0
  98. package/assets/esri/core/workers/chunks/4caec60ac0a5851730c6.js +1 -0
  99. package/assets/esri/core/workers/chunks/4db259316b193fcc4541.js +1 -0
  100. package/assets/esri/core/workers/chunks/4f132d758f8b4795c43f.js +1 -0
  101. package/assets/esri/core/workers/chunks/4f4bdf9f5323fa702e6c.js +1 -0
  102. package/assets/esri/core/workers/chunks/4f53071b5eb23d4478c4.js +1 -0
  103. package/assets/esri/core/workers/chunks/4f8895eb57ec6ab4b318.js +1 -0
  104. package/assets/esri/core/workers/chunks/4ff3c03cfbec928c0720.js +1 -0
  105. package/assets/esri/core/workers/chunks/504ab6bf7bfbfd4c4211.js +1 -0
  106. package/assets/esri/core/workers/chunks/5119e3159617b8e1ea13.js +1 -0
  107. package/assets/esri/core/workers/chunks/52684c2abc9e8ce793cf.js +1 -0
  108. package/assets/esri/core/workers/chunks/5298f99c197c8607a690.js +1 -0
  109. package/assets/esri/core/workers/chunks/532935f420ed5f13c011.js +1 -0
  110. package/assets/esri/core/workers/chunks/5348e4dc55428de9bba7.js +1 -0
  111. package/assets/esri/core/workers/chunks/534ed6574e4a1613ba05.js +2 -0
  112. package/assets/esri/core/workers/chunks/53a1c6e008287d1f12f0.js +1 -0
  113. package/assets/esri/core/workers/chunks/53d0b870c080236d82d1.js +1 -0
  114. package/assets/esri/core/workers/chunks/55bf39611ae6028131a3.js +1 -0
  115. package/assets/esri/core/workers/chunks/5659e221e8805bb81210.js +1 -0
  116. package/assets/esri/core/workers/chunks/568fc92333a9ab1c06e6.js +1 -0
  117. package/assets/esri/core/workers/chunks/56bbd86b804cb2a59031.js +1 -0
  118. package/assets/esri/core/workers/chunks/57a749804da9a2b1fae9.js +1 -0
  119. package/assets/esri/core/workers/chunks/59d3f3fbae775fd7686e.js +1 -0
  120. package/assets/esri/core/workers/chunks/59e7a0215791b2b51180.js +1 -0
  121. package/assets/esri/core/workers/chunks/5a706eecd8a988fae6b7.js +1 -0
  122. package/assets/esri/core/workers/chunks/5aee84e827e6fcc9c4c4.js +2 -0
  123. package/assets/esri/core/workers/chunks/5b0ca8d2154ef59da600.js +1 -0
  124. package/assets/esri/core/workers/chunks/5b278b9980752ef495a2.js +1 -0
  125. package/assets/esri/core/workers/chunks/5b3bb636e3bec625e515.js +1 -0
  126. package/assets/esri/core/workers/chunks/5ba2bbbb42ef1920579d.js +1 -0
  127. package/assets/esri/core/workers/chunks/5cc731f161012b63c77a.js +1 -0
  128. package/assets/esri/core/workers/chunks/5e3dd05f1ecfdb21350e.js +1 -0
  129. package/assets/esri/core/workers/chunks/5fa8fe6353dbdda0b06a.js +1 -0
  130. package/assets/esri/core/workers/chunks/5fc6cada83bf8462d54c.js +1 -0
  131. package/assets/esri/core/workers/chunks/6107b58457a70c8de9da.js +1 -0
  132. package/assets/esri/core/workers/chunks/63e930e76a181d54786d.js +1 -0
  133. package/assets/esri/core/workers/chunks/63ee7aa1b169dbec1e37.js +1 -0
  134. package/assets/esri/core/workers/chunks/6440d78ed2af2e7265aa.js +1 -0
  135. package/assets/esri/core/workers/chunks/645e086291b04bc036d7.js +1 -0
  136. package/assets/esri/core/workers/chunks/654eef3ad30f34c42e12.js +1 -0
  137. package/assets/esri/core/workers/chunks/6610d23d8539f06e64ca.js +1 -0
  138. package/assets/esri/core/workers/chunks/681d9a923c0d1ace86e8.js +1 -0
  139. package/assets/esri/core/workers/chunks/68abe4e70ea48e978642.js +1 -0
  140. package/assets/esri/core/workers/chunks/6a083fde0e207625fd0b.js +1 -0
  141. package/assets/esri/core/workers/chunks/6bc7bacf01328ef10ff1.js +1 -0
  142. package/assets/esri/core/workers/chunks/6bcf5d6792e4f09cbc7b.js +1 -0
  143. package/assets/esri/core/workers/chunks/6d7eb784988ee9a33473.js +1 -0
  144. package/assets/esri/core/workers/chunks/6de843d1809cba61ded3.js +1 -0
  145. package/assets/esri/core/workers/chunks/6e04303500a9fbc3f14a.js +1 -0
  146. package/assets/esri/core/workers/chunks/6edcae8ec128c2e86a05.js +1 -0
  147. package/assets/esri/core/workers/chunks/6eeee6e278b5f516d1d2.js +1 -0
  148. package/assets/esri/core/workers/chunks/701775be0dad640a72b4.js +1 -0
  149. package/assets/esri/core/workers/chunks/70df4331ed29d823bf38.js +1 -0
  150. package/assets/esri/core/workers/chunks/7130b09300032d3a5925.js +1 -0
  151. package/assets/esri/core/workers/chunks/72f0e2e5dcddafa2a642.js +1 -0
  152. package/assets/esri/core/workers/chunks/73c87eb9bd8f0f848481.js +1 -0
  153. package/assets/esri/core/workers/chunks/746190bb70aa78ba0bfc.js +1039 -0
  154. package/assets/esri/core/workers/chunks/75d7290c73bb59f2c856.js +1 -0
  155. package/assets/esri/core/workers/chunks/76d6843d56bff0d4c45e.js +1 -0
  156. package/assets/esri/core/workers/chunks/780a1eba9a7f1ca690ce.js +1 -0
  157. package/assets/esri/core/workers/chunks/7815dbf49ef5a06705f3.js +1 -0
  158. package/assets/esri/core/workers/chunks/7892daeed58778453639.js +1 -0
  159. package/assets/esri/core/workers/chunks/7990c828447bc3a29965.js +1 -0
  160. package/assets/esri/core/workers/chunks/799829d0ae17c146196b.js +1 -0
  161. package/assets/esri/core/workers/chunks/7a31717dafbd820bc2bf.js +1 -0
  162. package/assets/esri/core/workers/chunks/7b2f848947b296c7c785.js +1 -0
  163. package/assets/esri/core/workers/chunks/7d76a2245ac973efe1ed.js +1 -0
  164. package/assets/esri/core/workers/chunks/7f76566d9b3801742387.js +1 -0
  165. package/assets/esri/core/workers/chunks/8008bca4ef04c9424579.js +1 -0
  166. package/assets/esri/core/workers/chunks/815a25a5a8dba7921f8b.js +1 -0
  167. package/assets/esri/core/workers/chunks/8184c34b2c4969f14f3d.js +1 -0
  168. package/assets/esri/core/workers/chunks/81e395a93c67749c6487.js +1 -0
  169. package/assets/esri/core/workers/chunks/8351012ceb466f01b8fd.js +1 -0
  170. package/assets/esri/core/workers/chunks/83ddc0f6bfe68756f26f.js +1 -0
  171. package/assets/esri/core/workers/chunks/841058de8bc6e328fd68.js +1 -0
  172. package/assets/esri/core/workers/chunks/84a4390b1c277c415d44.js +1 -0
  173. package/assets/esri/core/workers/chunks/854adab6a06af861c104.js +1 -0
  174. package/assets/esri/core/workers/chunks/8765fe036d9664c25b1d.js +37 -0
  175. package/assets/esri/core/workers/chunks/88c3b60b403e2454b56e.js +1 -0
  176. package/assets/esri/core/workers/chunks/8a0a13f398ab488dbbe9.js +1 -0
  177. package/assets/esri/core/workers/chunks/8cb13b3776f07536c79f.js +1 -0
  178. package/assets/esri/core/workers/chunks/{51093e552e31344cefa5.js → 8d9ec752136cbc5cb29a.js} +1 -1
  179. package/assets/esri/core/workers/chunks/8deae3a426eceae73186.js +1 -0
  180. package/assets/esri/core/workers/chunks/8f4ca0dfd9635eb10e02.js +1 -0
  181. package/assets/esri/core/workers/chunks/8faa0122d0a6e2e39153.js +1 -0
  182. package/assets/esri/core/workers/chunks/90a53bfe95ed687c28c1.js +2 -0
  183. package/assets/esri/core/workers/chunks/911912b0ef7ffed875be.js +1 -0
  184. package/assets/esri/core/workers/chunks/913c417ad278ce1caaf9.js +1 -0
  185. package/assets/esri/core/workers/chunks/9184089e72c24d91d23b.js +1 -0
  186. package/assets/esri/core/workers/chunks/91e307ca0d11804a7a1d.js +2 -0
  187. package/assets/esri/core/workers/chunks/9279a5361bf6a54784ef.js +1 -0
  188. package/assets/esri/core/workers/chunks/92a42bbb8b9b39f3211c.js +1 -0
  189. package/assets/esri/core/workers/chunks/934ce3f004c54d542d2c.js +1 -0
  190. package/assets/esri/core/workers/chunks/93caf6fb8afab3dd8a46.js +1 -0
  191. package/assets/esri/core/workers/chunks/97148a9966f55e69421e.js +1 -0
  192. package/assets/esri/core/workers/chunks/9748b8c35d56a5ee9c64.js +1 -0
  193. package/assets/esri/core/workers/chunks/97ad3eb25ad003c16148.js +1 -0
  194. package/assets/esri/core/workers/chunks/982e709d2cef971ecd82.js +1 -0
  195. package/assets/esri/core/workers/chunks/98e04c2382fa5ba382fc.js +1 -0
  196. package/assets/esri/core/workers/chunks/9919b3c345785e910c38.js +1 -0
  197. package/assets/esri/core/workers/chunks/9c6d34bb666f630d511f.js +1 -0
  198. package/assets/esri/core/workers/chunks/9cd7205bbc711914d74b.js +1 -0
  199. package/assets/esri/core/workers/chunks/9d17524f5f935b7b60bf.js +1 -0
  200. package/assets/esri/core/workers/chunks/9de8149ae0a0726a4ab2.js +1 -0
  201. package/assets/esri/core/workers/chunks/9fac9eda0a41f7f4c2c6.js +1 -0
  202. package/assets/esri/core/workers/chunks/9ff1e650ce0912afa780.js +1 -0
  203. package/assets/esri/core/workers/chunks/a0d52a819302ed6f401e.js +1 -0
  204. package/assets/esri/core/workers/chunks/a1908b3fa61f02425a94.js +1 -0
  205. package/assets/esri/core/workers/chunks/a2046f85b9964693f053.js +1 -0
  206. package/assets/esri/core/workers/chunks/a24627400b3b9fe8431d.js +1 -0
  207. package/assets/esri/core/workers/chunks/a27c74fd2029583de933.js +1 -0
  208. package/assets/esri/core/workers/chunks/a2c0c1bb5e775abefc90.js +1 -0
  209. package/assets/esri/core/workers/chunks/a3184fb1ac7ce9af1a7e.js +1 -0
  210. package/assets/esri/core/workers/chunks/a4ee92867ad5cde25aed.js +1 -0
  211. package/assets/esri/core/workers/chunks/a56a5e00964d4cd59a66.js +1 -0
  212. package/assets/esri/core/workers/chunks/a774b4fc7df801503bea.js +1 -0
  213. package/assets/esri/core/workers/chunks/a9521578c0e21aaddbc7.js +1 -0
  214. package/assets/esri/core/workers/chunks/a9b30c3b604e314f1706.js +1 -0
  215. package/assets/esri/core/workers/chunks/aa0c648bd37787f62b1f.js +1 -0
  216. package/assets/esri/core/workers/chunks/aa1b8c06bdf8453a02d7.js +1 -0
  217. package/assets/esri/core/workers/chunks/aaac4eee709cd6d24910.js +1 -0
  218. package/assets/esri/core/workers/chunks/aafa33f661462f5afd2b.js +1 -0
  219. package/assets/esri/core/workers/chunks/ab3e457c82fa9bd0203f.js +1 -0
  220. package/assets/esri/core/workers/chunks/ac0949ea3d2cf3eb7383.js +1 -0
  221. package/assets/esri/core/workers/chunks/ac5da65af5da254acb16.js +1 -0
  222. package/assets/esri/core/workers/chunks/ae5798399607cb043ed2.js +1 -0
  223. package/assets/esri/core/workers/chunks/af3d4eba6fe24db3ceba.js +1 -0
  224. package/assets/esri/core/workers/chunks/b1015e1f25b60c08d2cf.js +1 -0
  225. package/assets/esri/core/workers/chunks/b1085fa91724e2d3b24f.js +1 -0
  226. package/assets/esri/core/workers/chunks/b12dc8fd3f2a2ff8073d.js +1 -0
  227. package/assets/esri/core/workers/chunks/b1c6a1759febad66927f.js +1 -0
  228. package/assets/esri/core/workers/chunks/b482a24c9567d8926897.js +1 -0
  229. package/assets/esri/core/workers/chunks/b48b0f512a1cd7226bdc.js +1 -0
  230. package/assets/esri/core/workers/chunks/b586d7e608e8ba8b88fe.js +1 -0
  231. package/assets/esri/core/workers/chunks/b599c6d4fa3189ed1762.js +1 -0
  232. package/assets/esri/core/workers/chunks/b6acf67316107902e31d.js +1 -0
  233. package/assets/esri/core/workers/chunks/b7576a5195615c465ea7.js +1 -0
  234. package/assets/esri/core/workers/chunks/b7e40118b4d645e9f8e1.js +1 -0
  235. package/assets/esri/core/workers/chunks/b8005b1996f42dee8237.js +1 -0
  236. package/assets/esri/core/workers/chunks/b91a157fb5f729de6597.js +1 -0
  237. package/assets/esri/core/workers/chunks/b9226dd0342cfd30ece0.js +1 -0
  238. package/assets/esri/core/workers/chunks/b977b9f5f50ae8027443.js +1 -0
  239. package/assets/esri/core/workers/chunks/bab6dee8f4715d05d984.js +1 -0
  240. package/assets/esri/core/workers/chunks/bbb409e54db77bfabdee.js +1 -0
  241. package/assets/esri/core/workers/chunks/bc4f513ea3a8f344c8da.js +1 -0
  242. package/assets/esri/core/workers/chunks/be26f8175a76e7dc8f7a.js +1 -0
  243. package/assets/esri/core/workers/chunks/befedcb6d8d1ff88125f.js +1 -0
  244. package/assets/esri/core/workers/chunks/bf73352b3366de82abbe.js +1 -0
  245. package/assets/esri/core/workers/chunks/c0265669fb616f052b65.js +1 -0
  246. package/assets/esri/core/workers/chunks/c133e57f2201b9bc6cbc.js +1 -0
  247. package/assets/esri/core/workers/chunks/c16115cfbca879dd6717.js +1 -0
  248. package/assets/esri/core/workers/chunks/c2d7b32f0c8eb965fcf7.js +1 -0
  249. package/assets/esri/core/workers/chunks/c45a5bcf26659daf02a1.js +1 -0
  250. package/assets/esri/core/workers/chunks/c46a4681cbba638b58c1.js +1 -0
  251. package/assets/esri/core/workers/chunks/c477b0ce55211339c4cb.js +1 -0
  252. package/assets/esri/core/workers/chunks/c500b59cd7da54fe72ec.js +1 -0
  253. package/assets/esri/core/workers/chunks/c5c1b189b91e199e8b82.js +1 -0
  254. package/assets/esri/core/workers/chunks/c65a138c14a4c540cd3b.js +1 -0
  255. package/assets/esri/core/workers/chunks/c66a9477e1c30a5ca03f.js +1 -0
  256. package/assets/esri/core/workers/chunks/{d79d29b52a65fb6bf94d.js → c71fe727224da0aba6ca.js} +1 -1
  257. package/assets/esri/core/workers/chunks/c741f7bc5693ae7e5019.js +1 -0
  258. package/assets/esri/core/workers/chunks/c75a41a5c8c5bd40ae91.js +1 -0
  259. package/assets/esri/core/workers/chunks/c825ca22894bdb4d01ba.js +1 -0
  260. package/assets/esri/core/workers/chunks/c8f1075c45ecf9fef00f.js +1 -0
  261. package/assets/esri/core/workers/chunks/ca06811e636f1d96f3cb.js +1 -0
  262. package/assets/esri/core/workers/chunks/cb66a74448a6c0c20d5d.js +1 -0
  263. package/assets/esri/core/workers/chunks/cbab45550b06bcc38524.js +1 -0
  264. package/assets/esri/core/workers/chunks/cc2606b8e600eeaf4bc8.js +1 -0
  265. package/assets/esri/core/workers/chunks/cdf711afbaaf345101f0.js +1 -0
  266. package/assets/esri/core/workers/chunks/ce87a6e24e9c64d90da3.js +1 -0
  267. package/assets/esri/core/workers/chunks/ce9467dc1ff695d795e5.js +1 -0
  268. package/assets/esri/core/workers/chunks/d0c831a473642d1bd9d1.js +1 -0
  269. package/assets/esri/core/workers/chunks/d0d6f818851d9a2d7938.js +1 -0
  270. package/assets/esri/core/workers/chunks/d1dd1787b3bf27834a9e.js +1 -0
  271. package/assets/esri/core/workers/chunks/d28169816c768d55aa09.js +1 -0
  272. package/assets/esri/core/workers/chunks/d2d4bce67c711a404b73.js +1 -0
  273. package/assets/esri/core/workers/chunks/d31f62ecbb54bffc54f2.js +1 -0
  274. package/assets/esri/core/workers/chunks/d37f03714c9591fb2b06.js +1 -0
  275. package/assets/esri/core/workers/chunks/d3c69c9cb3d9c3f5c67a.js +1 -0
  276. package/assets/esri/core/workers/chunks/d436e1694f4b5bf05a90.js +1 -0
  277. package/assets/esri/core/workers/chunks/d4770dddfbfdc3845749.js +1 -0
  278. package/assets/esri/core/workers/chunks/d477def8bfd8482596d1.js +1 -0
  279. package/assets/esri/core/workers/chunks/d4c4dad52da5dcf4432c.js +1 -0
  280. package/assets/esri/core/workers/chunks/d4f4c0201d8b641709c0.js +1 -0
  281. package/assets/esri/core/workers/chunks/d525b3fa719a688d4899.js +1 -0
  282. package/assets/esri/core/workers/chunks/d6e11f05db698d14f21d.js +1 -0
  283. package/assets/esri/core/workers/chunks/d7c275717a2405b6ff87.js +1 -0
  284. package/assets/esri/core/workers/chunks/d8c8f54532714d4db2cd.js +1 -0
  285. package/assets/esri/core/workers/chunks/d9d2178d436597b1afaf.js +1 -0
  286. package/assets/esri/core/workers/chunks/da808dfb22c6de29e560.js +1 -0
  287. package/assets/esri/core/workers/chunks/db9a9712038df76e3eda.js +1 -0
  288. package/assets/esri/core/workers/chunks/dc57400b835724204909.js +2 -0
  289. package/assets/esri/core/workers/chunks/dd0e65b18c634b64582e.js +1 -0
  290. package/assets/esri/core/workers/chunks/dd30c1f5da0af72becd1.js +1 -0
  291. package/assets/esri/core/workers/chunks/de216922b36267ab4aa1.js +1 -0
  292. package/assets/esri/core/workers/chunks/de6b3f80070abdd61d0f.js +1 -0
  293. package/assets/esri/core/workers/chunks/dea2e8caaf6e53ec56f8.js +1 -0
  294. package/assets/esri/core/workers/chunks/ded589862c22ea12d47a.js +1 -0
  295. package/assets/esri/core/workers/chunks/dedd9d47ccc019ffc484.js +1 -0
  296. package/assets/esri/core/workers/chunks/df40be5a050b8d20617a.js +1 -0
  297. package/assets/esri/core/workers/chunks/dfef6e3d7bbf099de498.js +1 -0
  298. package/assets/esri/core/workers/chunks/e1b677a135e164a29605.js +1 -0
  299. package/assets/esri/core/workers/chunks/e201bfe3158c025edc99.js +1 -0
  300. package/assets/esri/core/workers/chunks/e337b8d69d89f597cb58.js +1 -0
  301. package/assets/esri/core/workers/chunks/e370d213c307ad8bfaec.js +1 -0
  302. package/assets/esri/core/workers/chunks/e3a73d9acebccd3ba49b.js +1 -0
  303. package/assets/esri/core/workers/chunks/e3d3fc87789fd711f161.js +2 -0
  304. package/assets/esri/core/workers/chunks/e43c6058c793d43fa5f3.js +1 -0
  305. package/assets/esri/core/workers/chunks/e462b167841fddaa80b8.js +1 -0
  306. package/assets/esri/core/workers/chunks/e51e35b5cef89b0e0db1.js +1 -0
  307. package/assets/esri/core/workers/chunks/e58ec49a5cd852cb46cb.js +1 -0
  308. package/assets/esri/core/workers/chunks/e7d28ebf684db4ecb8cb.js +1 -0
  309. package/assets/esri/core/workers/chunks/e881629bf230a148963d.js +1 -0
  310. package/assets/esri/core/workers/chunks/e8f6305744f87bbed961.js +1 -0
  311. package/assets/esri/core/workers/chunks/e9f8115c049f168d3c2b.js +1 -0
  312. package/assets/esri/core/workers/chunks/ea32a8478f3ccb19aced.js +1 -0
  313. package/assets/esri/core/workers/chunks/ea734de7d5271c487171.js +1 -0
  314. package/assets/esri/core/workers/chunks/eb765db525f4e2e2bda2.js +1 -0
  315. package/assets/esri/core/workers/chunks/ebbcd6196ef5c5ab233d.js +1 -0
  316. package/assets/esri/core/workers/chunks/ec00fa313794f177d9d3.js +1 -0
  317. package/assets/esri/core/workers/chunks/ec03d59984782529031a.js +1 -0
  318. package/assets/esri/core/workers/chunks/ec7f4e459c7466805f72.js +1 -0
  319. package/assets/esri/core/workers/chunks/ecf7d34b37ce6f0877af.js +1 -0
  320. package/assets/esri/core/workers/chunks/ed1c92a24a167e57e36e.js +1 -0
  321. package/assets/esri/core/workers/chunks/ed69b19366e3ce5805ac.js +1 -0
  322. package/assets/esri/core/workers/chunks/ee25d1eae52c8be82898.js +1 -0
  323. package/assets/esri/core/workers/chunks/ee905e24320241959965.js +1 -0
  324. package/assets/esri/core/workers/chunks/eea91681bae00819a5e9.js +1 -0
  325. package/assets/esri/core/workers/chunks/eed24607e9b5312b417f.js +1 -0
  326. package/assets/esri/core/workers/chunks/ef519984fa691aad8d87.js +2 -0
  327. package/assets/esri/core/workers/chunks/f0eb2bfe5a8607b251f5.js +1 -0
  328. package/assets/esri/core/workers/chunks/f370e60dc81d41368e0c.js +1 -0
  329. package/assets/esri/core/workers/chunks/f3fdf9970b3c7acd071d.js +1 -0
  330. package/assets/esri/core/workers/chunks/f40e413c68d99cf54d42.js +1 -0
  331. package/assets/esri/core/workers/chunks/f5b32bc3f7ee911e3c59.js +1 -0
  332. package/assets/esri/core/workers/chunks/f5dbffd5e8b3c16336a1.js +1 -0
  333. package/assets/esri/core/workers/chunks/f5ed6953a9255f0bed6a.js +2 -0
  334. package/assets/esri/core/workers/chunks/f627017adc9469144507.js +1 -0
  335. package/assets/esri/core/workers/chunks/f7ad285944e0e5164384.js +1 -0
  336. package/assets/esri/core/workers/chunks/f872d34d4236f8bedbd9.js +1 -0
  337. package/assets/esri/core/workers/chunks/f88adc930506ac2d5c90.js +1 -0
  338. package/assets/esri/core/workers/chunks/f890cfa4932955ecd4e7.js +1 -0
  339. package/assets/esri/core/workers/chunks/fd4bd04f85458cad849c.js +1 -0
  340. package/assets/esri/core/workers/chunks/fe98a068536e904ce257.js +1 -0
  341. package/assets/esri/core/workers/chunks/ffa9cc09e82f2e515993.js +1 -0
  342. package/assets/esri/libs/lyr3d/lyr3DMain.wasm +0 -0
  343. package/assets/esri/themes/base/widgets/_Compass.scss +1 -1
  344. package/assets/esri/themes/base/widgets/_Feature.scss +1 -1
  345. package/assets/esri/themes/base/widgets/_Features.scss +1 -1
  346. package/assets/esri/themes/base/widgets/_OrientedImageryViewer.scss +4 -4
  347. package/assets/esri/themes/base/widgets/_Widget.scss +1 -1
  348. package/assets/esri/themes/dark/main.css +1 -1
  349. package/assets/esri/themes/light/main.css +1 -1
  350. package/assets/esri/themes/light/view.css +1 -1
  351. package/config.js +1 -1
  352. package/core/MultiOriginJSONSupport.d.ts +8 -0
  353. package/core/MultiOriginJSONSupport.js +1 -1
  354. package/core/ReadOnlyMultiOriginJSONSupport.d.ts +40 -0
  355. package/core/ReadOnlyMultiOriginJSONSupport.js +1 -1
  356. package/core/WriteableMultiOriginJSONMixin.js +1 -1
  357. package/core/accessorSupport/decorators/subclass.js +1 -1
  358. package/core/accessorSupport/types.d.ts +2 -0
  359. package/kernel.js +1 -1
  360. package/layers/BingMapsLayer.d.ts +3 -2
  361. package/layers/BingMapsLayer.js +1 -1
  362. package/layers/BuildingSceneLayer.d.ts +3 -2
  363. package/layers/BuildingSceneLayer.js +1 -1
  364. package/layers/CSVLayer.js +1 -1
  365. package/layers/CatalogLayer.d.ts +3 -2
  366. package/layers/CatalogLayer.js +1 -1
  367. package/layers/DimensionLayer.d.ts +3 -2
  368. package/layers/DimensionLayer.js +1 -1
  369. package/layers/ElevationLayer.d.ts +3 -2
  370. package/layers/ElevationLayer.js +1 -1
  371. package/layers/FeatureLayer.d.ts +3 -2
  372. package/layers/FeatureLayer.js +1 -1
  373. package/layers/GaussianSplatLayer.d.ts +3 -2
  374. package/layers/GaussianSplatLayer.js +1 -1
  375. package/layers/GeoJSONLayer.d.ts +3 -2
  376. package/layers/GeoJSONLayer.js +1 -1
  377. package/layers/GeoRSSLayer.d.ts +3 -2
  378. package/layers/GeoRSSLayer.js +1 -1
  379. package/layers/GroupLayer.d.ts +3 -2
  380. package/layers/GroupLayer.js +1 -1
  381. package/layers/ImageryLayer.d.ts +3 -2
  382. package/layers/ImageryLayer.js +1 -1
  383. package/layers/ImageryTileLayer.d.ts +3 -2
  384. package/layers/ImageryTileLayer.js +1 -1
  385. package/layers/IntegratedMesh3DTilesLayer.d.ts +3 -2
  386. package/layers/IntegratedMesh3DTilesLayer.js +1 -1
  387. package/layers/IntegratedMeshLayer.d.ts +3 -2
  388. package/layers/IntegratedMeshLayer.js +1 -1
  389. package/layers/KMLLayer.d.ts +3 -2
  390. package/layers/KMLLayer.js +1 -1
  391. package/layers/KnowledgeGraphLayer.d.ts +3 -2
  392. package/layers/KnowledgeGraphLayer.js +1 -1
  393. package/layers/LineOfSightLayer.d.ts +3 -2
  394. package/layers/LineOfSightLayer.js +1 -1
  395. package/layers/LinkChartLayer.d.ts +3 -2
  396. package/layers/LinkChartLayer.js +1 -1
  397. package/layers/MapImageLayer.d.ts +3 -2
  398. package/layers/MapImageLayer.js +1 -1
  399. package/layers/MapNotesLayer.d.ts +3 -2
  400. package/layers/MapNotesLayer.js +1 -1
  401. package/layers/MediaLayer.d.ts +3 -2
  402. package/layers/MediaLayer.js +1 -1
  403. package/layers/OGCFeatureLayer.d.ts +3 -2
  404. package/layers/OGCFeatureLayer.js +1 -1
  405. package/layers/ParquetLayer.d.ts +3 -2
  406. package/layers/ParquetLayer.js +1 -1
  407. package/layers/PointCloudLayer.d.ts +3 -2
  408. package/layers/PointCloudLayer.js +1 -1
  409. package/layers/RouteLayer.d.ts +3 -2
  410. package/layers/RouteLayer.js +1 -1
  411. package/layers/SceneLayer.d.ts +6 -2
  412. package/layers/SceneLayer.js +1 -1
  413. package/layers/StreamLayer.d.ts +3 -2
  414. package/layers/StreamLayer.js +1 -1
  415. package/layers/SubtypeGroupLayer.d.ts +3 -2
  416. package/layers/SubtypeGroupLayer.js +1 -1
  417. package/layers/TileLayer.d.ts +3 -2
  418. package/layers/TileLayer.js +1 -1
  419. package/layers/UnknownLayer.d.ts +3 -2
  420. package/layers/UnknownLayer.js +1 -1
  421. package/layers/UnsupportedLayer.d.ts +3 -2
  422. package/layers/UnsupportedLayer.js +1 -1
  423. package/layers/VectorTileLayer.d.ts +3 -2
  424. package/layers/VectorTileLayer.js +1 -1
  425. package/layers/VideoLayer.d.ts +3 -2
  426. package/layers/VideoLayer.js +1 -1
  427. package/layers/ViewshedLayer.d.ts +3 -2
  428. package/layers/ViewshedLayer.js +1 -1
  429. package/layers/VoxelLayer.d.ts +3 -2
  430. package/layers/VoxelLayer.js +1 -1
  431. package/layers/WCSLayer.d.ts +3 -2
  432. package/layers/WCSLayer.js +1 -1
  433. package/layers/WFSLayer.d.ts +3 -2
  434. package/layers/WFSLayer.js +1 -1
  435. package/layers/WMSLayer.d.ts +3 -2
  436. package/layers/WMSLayer.js +1 -1
  437. package/layers/WMTSLayer.d.ts +3 -2
  438. package/layers/WMTSLayer.js +1 -1
  439. package/layers/WebTileLayer.d.ts +3 -2
  440. package/layers/WebTileLayer.js +1 -1
  441. package/layers/buildingSublayers/BuildingSublayer.d.ts +3 -2
  442. package/layers/buildingSublayers/BuildingSublayer.js +1 -1
  443. package/layers/catalog/CatalogDynamicGroupLayer.d.ts +3 -2
  444. package/layers/catalog/CatalogDynamicGroupLayer.js +1 -1
  445. package/layers/catalog/CatalogFootprintLayer.d.ts +3 -2
  446. package/layers/catalog/CatalogFootprintLayer.js +1 -1
  447. package/layers/knowledgeGraph/KnowledgeGraphSublayer.d.ts +3 -2
  448. package/layers/knowledgeGraph/KnowledgeGraphSublayer.js +1 -1
  449. package/layers/media/types.d.ts +31 -5
  450. package/layers/raster/functions/rasterProjectionHelper.js +1 -1
  451. package/layers/support/ElevationQuery.js +1 -1
  452. package/layers/support/MediaElementBase.d.ts +5 -3
  453. package/layers/support/MediaElementBase.js +1 -1
  454. package/layers/support/Sublayer.d.ts +3 -2
  455. package/layers/support/Sublayer.js +1 -1
  456. package/layers/support/SubtypeSublayer.d.ts +3 -2
  457. package/layers/support/SubtypeSublayer.js +1 -1
  458. package/layers/support/WMSSublayer.d.ts +3 -2
  459. package/layers/support/WMSSublayer.js +1 -1
  460. package/layers/support/layerOriginUtils.js +1 -1
  461. package/linkChart/LinkChartProperties.d.ts +5 -3
  462. package/linkChart/LinkChartProperties.js +1 -1
  463. package/networks/Network.d.ts +4 -2
  464. package/networks/Network.js +1 -1
  465. package/networks/support/NamedTraceConfiguration.d.ts +5 -3
  466. package/networks/support/NamedTraceConfiguration.js +1 -1
  467. package/package.json +3 -3
  468. package/support/revision.js +1 -1
  469. package/views/2d/engine/BitmapTileContainer.js +1 -1
  470. package/views/2d/engine/DisplayObject.js +1 -1
  471. package/views/2d/engine/Stage.js +1 -1
  472. package/views/2d/engine/imagery/RasterTileContainer.js +1 -1
  473. package/views/2d/engine/imagery/RasterVFTileContainer.js +1 -1
  474. package/views/2d/engine/vectorTiles/VectorTileContainer.js +1 -1
  475. package/views/2d/engine/vectorTiles/decluttering/SymbolDeclutterer.js +1 -1
  476. package/views/2d/engine/vectorTiles/decluttering/SymbolFader.js +1 -1
  477. package/views/2d/engine/webgl/RenderingDevice.js +1 -1
  478. package/views/2d/engine/webgl/TileContainer.js +1 -1
  479. package/views/2d/engine/webgl/collisions/LabelMetric.js +1 -1
  480. package/views/2d/engine/webgl/shaderGraph/techniques/TechniqueProgramCache.js +1 -1
  481. package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueBackground.js +1 -1
  482. package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueFill.js +1 -1
  483. package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueLine.js +1 -1
  484. package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueSymbol.js +1 -1
  485. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  486. package/views/2d/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiles2D.js +1 -1
  487. package/views/2d/layers/TileLayerView2D.js +1 -1
  488. package/views/2d/layers/WMTSLayerView2D.js +1 -1
  489. package/views/2d/layers/features/FeatureContainer.js +1 -1
  490. package/views/2d/layers/features/Processor.js +1 -1
  491. package/views/2d/layers/features/support/Tile.js +1 -1
  492. package/views/2d/layers/imagery/BaseImageryTileSubView2D.js +1 -1
  493. package/views/2d/layers/imagery/ImageryTileView2D.js +1 -1
  494. package/views/2d/layers/imagery/VectorFieldTileView2D.js +1 -1
  495. package/views/2d/layers/support/imageUtils.js +1 -1
  496. package/views/2d/tiling/TileCache.js +1 -1
  497. package/views/2d/tiling/TileInfoView.js +1 -1
  498. package/views/2d/tiling/TileInfoViewPOT.js +1 -1
  499. package/views/3d/FocusAreasView.js +1 -1
  500. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillVisualization.js +1 -1
  501. package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
  502. package/views/3d/layers/ImageryTileLayerView3D.js +1 -1
  503. package/views/3d/layers/graphics/ElevationQuery.js +1 -1
  504. package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
  505. package/views/3d/layers/graphics/extrudeUtils.js +5 -0
  506. package/widgets/Attribution.d.ts +1 -0
  507. package/widgets/FeatureForm.js +1 -1
  508. package/widgets/FeatureTable/FieldColumn.js +1 -1
  509. package/widgets/FeatureTable/Grid/EditorColumn.js +1 -1
  510. package/widgets/FeatureTable/support/tableUtils.js +1 -1
  511. package/widgets/FeatureTable.js +1 -1
  512. package/widgets/Legend/LegendViewModel.d.ts +6 -0
  513. package/widgets/Legend/styles/card/CardView.d.ts +19 -3
  514. package/widgets/Legend/styles/classic/ClassicView.d.ts +1 -0
  515. package/widgets/Legend.d.ts +15 -0
  516. package/widgets/smartMapping/BinaryColorSizeSlider.js +1 -1
  517. package/widgets/smartMapping/ClassedColorSlider.js +1 -1
  518. package/widgets/smartMapping/ClassedSizeSlider.d.ts +1 -1
  519. package/widgets/smartMapping/ClassedSizeSlider.js +1 -1
  520. package/widgets/smartMapping/ColorSizeSlider.js +1 -1
  521. package/widgets/smartMapping/ColorSlider.js +1 -1
  522. package/widgets/smartMapping/OpacitySlider.js +1 -1
  523. package/widgets/smartMapping/SizeSlider.js +1 -1
  524. package/assets/esri/core/workers/chunks/00c77f03dd511c6dbff2.js +0 -1
  525. package/assets/esri/core/workers/chunks/015492d609c28077d66c.js +0 -1
  526. package/assets/esri/core/workers/chunks/04176244b0a3539c9681.js +0 -1
  527. package/assets/esri/core/workers/chunks/0429ca6ba562ae29897e.js +0 -1
  528. package/assets/esri/core/workers/chunks/04958494022f82dca473.js +0 -1
  529. package/assets/esri/core/workers/chunks/049c125085028ffdd0dd.js +0 -1
  530. package/assets/esri/core/workers/chunks/05e3bfd07a7a227862fd.js +0 -1
  531. package/assets/esri/core/workers/chunks/095c1b88cdcb91ab837e.js +0 -1
  532. package/assets/esri/core/workers/chunks/09b77f82c22530b44daa.js +0 -1
  533. package/assets/esri/core/workers/chunks/0a39c6dc57bd60d5587e.js +0 -1
  534. package/assets/esri/core/workers/chunks/0b679d5a1bfdbd006d6e.js +0 -1
  535. package/assets/esri/core/workers/chunks/0b7bbdc0d71ee6721751.js +0 -2
  536. package/assets/esri/core/workers/chunks/0d9e1ccc3ba8b5ed3287.js +0 -1
  537. package/assets/esri/core/workers/chunks/0f4e9846d074864b39c2.js +0 -1
  538. package/assets/esri/core/workers/chunks/0fc22ad791d3ec0a9c5e.js +0 -1
  539. package/assets/esri/core/workers/chunks/1037b38aade2a847bf24.js +0 -1
  540. package/assets/esri/core/workers/chunks/108a4ab28b6586e281d9.js +0 -1
  541. package/assets/esri/core/workers/chunks/12f9a55253084a910b2e.js +0 -1
  542. package/assets/esri/core/workers/chunks/13137f35b9ab299d07e3.js +0 -1
  543. package/assets/esri/core/workers/chunks/13839d220e5c62404923.js +0 -1
  544. package/assets/esri/core/workers/chunks/1484a7ef4fcbd748b197.js +0 -1
  545. package/assets/esri/core/workers/chunks/14dedd80fb797303f91f.js +0 -1
  546. package/assets/esri/core/workers/chunks/1694b9154df3eccf602e.js +0 -1
  547. package/assets/esri/core/workers/chunks/16a7edb381621085a631.js +0 -1
  548. package/assets/esri/core/workers/chunks/16cfa7031d6dbf5aa09b.js +0 -1
  549. package/assets/esri/core/workers/chunks/18ab5959ebf8689f8fe8.js +0 -1
  550. package/assets/esri/core/workers/chunks/18b0ce0bc2a9737ffb1b.js +0 -1
  551. package/assets/esri/core/workers/chunks/1a6d2f525dd30d08cf9b.js +0 -1
  552. package/assets/esri/core/workers/chunks/1b284a6f32effe28aafc.js +0 -1
  553. package/assets/esri/core/workers/chunks/1c58bd3275c849d44b13.js +0 -1
  554. package/assets/esri/core/workers/chunks/1c742018eb7dfd5d23e3.js +0 -1
  555. package/assets/esri/core/workers/chunks/1dfa949cc4f4c18ed4cf.js +0 -1
  556. package/assets/esri/core/workers/chunks/1e848d9da1c61a27cf18.js +0 -1
  557. package/assets/esri/core/workers/chunks/20f4c6d8b310ecab97be.js +0 -1
  558. package/assets/esri/core/workers/chunks/218b2b767b40d85fb713.js +0 -1
  559. package/assets/esri/core/workers/chunks/22c115ec003351c7d8ee.js +0 -1
  560. package/assets/esri/core/workers/chunks/23545a9adc75564ecf6e.js +0 -1
  561. package/assets/esri/core/workers/chunks/23cf4cbc389d2b50e968.js +0 -1
  562. package/assets/esri/core/workers/chunks/24527b61c8c216becbc4.js +0 -1
  563. package/assets/esri/core/workers/chunks/24dab877047369de13e2.js +0 -1
  564. package/assets/esri/core/workers/chunks/25f3ee666f545a7a7993.js +0 -2
  565. package/assets/esri/core/workers/chunks/29471e0b3f7296dee096.js +0 -1
  566. package/assets/esri/core/workers/chunks/2b27499fa9de22970b7a.js +0 -1
  567. package/assets/esri/core/workers/chunks/2bd59ece927b5c1c9f80.js +0 -1
  568. package/assets/esri/core/workers/chunks/2c7038a7ffaf75344b02.js +0 -1
  569. package/assets/esri/core/workers/chunks/2d8b8880e6bff4414e95.js +0 -1
  570. package/assets/esri/core/workers/chunks/2dfa7abf2d39fa5a3874.js +0 -1
  571. package/assets/esri/core/workers/chunks/2e6ae1ca07df442fc966.js +0 -1
  572. package/assets/esri/core/workers/chunks/2e6bd743b88e83d43137.js +0 -1
  573. package/assets/esri/core/workers/chunks/3001568a99fdd14aada9.js +0 -1
  574. package/assets/esri/core/workers/chunks/30dd4a7c93b33988a270.js +0 -1
  575. package/assets/esri/core/workers/chunks/312b3cc1c91d5b419faf.js +0 -1
  576. package/assets/esri/core/workers/chunks/31fa3dd983e9e73fcb65.js +0 -1
  577. package/assets/esri/core/workers/chunks/33a13e80badd20ed8de2.js +0 -1
  578. package/assets/esri/core/workers/chunks/355c8d0eadfff9f62dfb.js +0 -1
  579. package/assets/esri/core/workers/chunks/35c98ea99000f411175f.js +0 -1
  580. package/assets/esri/core/workers/chunks/35e1d0cfc3c5a484422f.js +0 -1
  581. package/assets/esri/core/workers/chunks/360f263f32aa2342a897.js +0 -1
  582. package/assets/esri/core/workers/chunks/369f37060608342a4262.js +0 -1
  583. package/assets/esri/core/workers/chunks/36ecf951c0c7dad84b69.js +0 -1
  584. package/assets/esri/core/workers/chunks/37002a46f03a9fc5f644.js +0 -2
  585. package/assets/esri/core/workers/chunks/37258b702fe06bbcf748.js +0 -1
  586. package/assets/esri/core/workers/chunks/37a3e91791a18ed8b8da.js +0 -1
  587. package/assets/esri/core/workers/chunks/3a04153ca9d8e4f01185.js +0 -1
  588. package/assets/esri/core/workers/chunks/3b1982bf7b44ff897a35.js +0 -1
  589. package/assets/esri/core/workers/chunks/3b25f5d9c8f78bb6e011.js +0 -1
  590. package/assets/esri/core/workers/chunks/3c5f07ebe1b09dcdc958.js +0 -1
  591. package/assets/esri/core/workers/chunks/3c66dd52ad156711a6a2.js +0 -1
  592. package/assets/esri/core/workers/chunks/3ed317900f0edf635508.js +0 -1
  593. package/assets/esri/core/workers/chunks/3f0959b1abafe516146e.js +0 -1
  594. package/assets/esri/core/workers/chunks/41f487713c6278d389a1.js +0 -1
  595. package/assets/esri/core/workers/chunks/4319b89cfa02894a8cae.js +0 -1
  596. package/assets/esri/core/workers/chunks/43e2c1d72cd9c8beed2f.js +0 -2
  597. package/assets/esri/core/workers/chunks/44c228388a95fa958827.js +0 -1
  598. package/assets/esri/core/workers/chunks/45a9cd722e98dd1548ae.js +0 -1
  599. package/assets/esri/core/workers/chunks/46daa1ff5b412a97edc9.js +0 -1
  600. package/assets/esri/core/workers/chunks/46e547691bca424f2bc9.js +0 -1
  601. package/assets/esri/core/workers/chunks/4750f55a289bc0cf3d77.js +0 -1
  602. package/assets/esri/core/workers/chunks/47d2103b876b01bc26fd.js +0 -1
  603. package/assets/esri/core/workers/chunks/495af366ec1defd89a72.js +0 -1
  604. package/assets/esri/core/workers/chunks/4b14ee37b5ac50a734f9.js +0 -1
  605. package/assets/esri/core/workers/chunks/4bcd74951477e8977ba1.js +0 -1
  606. package/assets/esri/core/workers/chunks/4cbe78d6a5ff617e15d6.js +0 -1
  607. package/assets/esri/core/workers/chunks/4ce28c936eaffe57c448.js +0 -1
  608. package/assets/esri/core/workers/chunks/4d5591c1b4ef37075921.js +0 -1
  609. package/assets/esri/core/workers/chunks/4ef97eb67dc42e0052d6.js +0 -1
  610. package/assets/esri/core/workers/chunks/4fa230dc6e5e87b0dec1.js +0 -1
  611. package/assets/esri/core/workers/chunks/4fcf035582fa6e93d264.js +0 -1
  612. package/assets/esri/core/workers/chunks/509307a2ef990ad1da8f.js +0 -301
  613. package/assets/esri/core/workers/chunks/50eb381b18b84b9c75a3.js +0 -1
  614. package/assets/esri/core/workers/chunks/50f03813fba4b752ca9f.js +0 -1
  615. package/assets/esri/core/workers/chunks/52a14266fe239b95c5ce.js +0 -1
  616. package/assets/esri/core/workers/chunks/52bcfb3ea563c1a301d4.js +0 -1
  617. package/assets/esri/core/workers/chunks/53b5c77832df7df4d4e3.js +0 -1
  618. package/assets/esri/core/workers/chunks/558822b700e8bd844052.js +0 -1
  619. package/assets/esri/core/workers/chunks/55a9ea536c64976c3409.js +0 -1
  620. package/assets/esri/core/workers/chunks/563933a84fc9b0e021f6.js +0 -1
  621. package/assets/esri/core/workers/chunks/56569d0c2cf5c5167651.js +0 -1
  622. package/assets/esri/core/workers/chunks/575a33924ec900f9e537.js +0 -1
  623. package/assets/esri/core/workers/chunks/584c4602d97a008afb83.js +0 -1
  624. package/assets/esri/core/workers/chunks/58b3a776ef129f7f86dc.js +0 -1
  625. package/assets/esri/core/workers/chunks/590a7fd4f5476224ec89.js +0 -1
  626. package/assets/esri/core/workers/chunks/59a45533e96cedf1c480.js +0 -1
  627. package/assets/esri/core/workers/chunks/5a66b7f1f4da75da8e7f.js +0 -1
  628. package/assets/esri/core/workers/chunks/5b9f2aa3ba1bf12c3240.js +0 -2
  629. package/assets/esri/core/workers/chunks/5bbf20135c87a1cc8a18.js +0 -1
  630. package/assets/esri/core/workers/chunks/5cc217f188fd56006158.js +0 -1
  631. package/assets/esri/core/workers/chunks/5dc2f2e28c30386efadf.js +0 -1
  632. package/assets/esri/core/workers/chunks/5df49e1f283e2e83de46.js +0 -1
  633. package/assets/esri/core/workers/chunks/60764ea501a3a1aacc63.js +0 -1
  634. package/assets/esri/core/workers/chunks/6087d5dc40bb62ec48c8.js +0 -1
  635. package/assets/esri/core/workers/chunks/6094bba52ddada48c7ed.js +0 -1
  636. package/assets/esri/core/workers/chunks/60eeeea671a523bb6b15.js +0 -1
  637. package/assets/esri/core/workers/chunks/60f363ee2add089e8f0b.js +0 -1
  638. package/assets/esri/core/workers/chunks/6387308c4add226e5b83.js +0 -1
  639. package/assets/esri/core/workers/chunks/63b8193ad90b2ebe6884.js +0 -1
  640. package/assets/esri/core/workers/chunks/657602e6a84e8b4576fb.js +0 -1
  641. package/assets/esri/core/workers/chunks/65fd971d0574d69cbc26.js +0 -1
  642. package/assets/esri/core/workers/chunks/679cd6424e0e2d7f372b.js +0 -1
  643. package/assets/esri/core/workers/chunks/6800647240b7968be225.js +0 -1
  644. package/assets/esri/core/workers/chunks/68074a484d7f9bc713c0.js +0 -1
  645. package/assets/esri/core/workers/chunks/680f9c29ca96ea8e01da.js +0 -1
  646. package/assets/esri/core/workers/chunks/68cb43f2fa8cc826e99b.js +0 -1
  647. package/assets/esri/core/workers/chunks/69a68a6d6736c4b97a27.js +0 -1
  648. package/assets/esri/core/workers/chunks/6a3d66d7c92f90cc2a17.js +0 -1
  649. package/assets/esri/core/workers/chunks/6a544fb44f7da0e80f43.js +0 -1
  650. package/assets/esri/core/workers/chunks/6a782e8475bff4d56dbc.js +0 -1
  651. package/assets/esri/core/workers/chunks/6b85a8776ec2beff63cb.js +0 -1
  652. package/assets/esri/core/workers/chunks/6be530ab81291745485b.js +0 -2
  653. package/assets/esri/core/workers/chunks/6d3ae7969ea86a2e0b13.js +0 -1
  654. package/assets/esri/core/workers/chunks/6df484faf54e90a6cc77.js +0 -1
  655. package/assets/esri/core/workers/chunks/6ea6ad894ac634aa4391.js +0 -1
  656. package/assets/esri/core/workers/chunks/6ffc1a0400298fca00ee.js +0 -1
  657. package/assets/esri/core/workers/chunks/729c2d26ae23d9c86547.js +0 -1
  658. package/assets/esri/core/workers/chunks/73bee5659414b3687cfc.js +0 -1
  659. package/assets/esri/core/workers/chunks/73c416ae0ec5a1815591.js +0 -2
  660. package/assets/esri/core/workers/chunks/74b825d4f0e7ab567b10.js +0 -1
  661. package/assets/esri/core/workers/chunks/75c66e38bdc1c786c599.js +0 -1
  662. package/assets/esri/core/workers/chunks/75fd2ef1236a9364ca7f.js +0 -1
  663. package/assets/esri/core/workers/chunks/760a759f9697adde6dd4.js +0 -1
  664. package/assets/esri/core/workers/chunks/77509bd20ac5bc190c94.js +0 -1039
  665. package/assets/esri/core/workers/chunks/7763cf4a9a4343c28591.js +0 -1
  666. package/assets/esri/core/workers/chunks/7972954801b82e7afc72.js +0 -1
  667. package/assets/esri/core/workers/chunks/798d227205bd958de6a7.js +0 -1
  668. package/assets/esri/core/workers/chunks/7bc09e80bf45fe137055.js +0 -1
  669. package/assets/esri/core/workers/chunks/7be9bbae23895d1cfa92.js +0 -1
  670. package/assets/esri/core/workers/chunks/7bf30c254228f9b7f224.js +0 -1
  671. package/assets/esri/core/workers/chunks/7bf491b468cd74a4166c.js +0 -1
  672. package/assets/esri/core/workers/chunks/7d631ebf8f79225cf0f6.js +0 -1
  673. package/assets/esri/core/workers/chunks/7d744554d14057d9b2b1.js +0 -1
  674. package/assets/esri/core/workers/chunks/7d8664aeff66e34138bd.js +0 -1
  675. package/assets/esri/core/workers/chunks/7db52d2451494835c160.js +0 -1
  676. package/assets/esri/core/workers/chunks/818b5b8027d6fe8999d6.js +0 -1
  677. package/assets/esri/core/workers/chunks/8195310b4c53db902fc1.js +0 -1
  678. package/assets/esri/core/workers/chunks/82ace0195b63790b22c9.js +0 -1
  679. package/assets/esri/core/workers/chunks/83117d2747bdaf480c7b.js +0 -1
  680. package/assets/esri/core/workers/chunks/83c5dea24e36ac2e3497.js +0 -1
  681. package/assets/esri/core/workers/chunks/84440efe2cc337dab81f.js +0 -1
  682. package/assets/esri/core/workers/chunks/84ec8ea3e40e0864798f.js +0 -1
  683. package/assets/esri/core/workers/chunks/852007720e3bc29532db.js +0 -1
  684. package/assets/esri/core/workers/chunks/85c92726121cb43a2216.js +0 -1
  685. package/assets/esri/core/workers/chunks/86832d94190150c70c11.js +0 -1
  686. package/assets/esri/core/workers/chunks/873008572c1f21cea122.js +0 -2
  687. package/assets/esri/core/workers/chunks/87c6470ee295d736b06d.js +0 -1
  688. package/assets/esri/core/workers/chunks/88379cd8e8e1c7ae3c7c.js +0 -1
  689. package/assets/esri/core/workers/chunks/88cbaa91c495d86f4bb0.js +0 -1
  690. package/assets/esri/core/workers/chunks/89853fccdf2bfcc290c0.js +0 -1
  691. package/assets/esri/core/workers/chunks/8c1f1eb36198ce40ef13.js +0 -1
  692. package/assets/esri/core/workers/chunks/8d58e59ea13ecafdd45c.js +0 -1
  693. package/assets/esri/core/workers/chunks/8db723b8468e408dda46.js +0 -1
  694. package/assets/esri/core/workers/chunks/8dca61f8ba6689379f86.js +0 -1
  695. package/assets/esri/core/workers/chunks/8e354c7b4858db5880a9.js +0 -1
  696. package/assets/esri/core/workers/chunks/8e556ff730ae96290a69.js +0 -1
  697. package/assets/esri/core/workers/chunks/8e62a5fcc4c7e83a903a.js +0 -1
  698. package/assets/esri/core/workers/chunks/9086a4933d3d3d9ffa72.js +0 -1
  699. package/assets/esri/core/workers/chunks/91d9ade78854f40a962d.js +0 -1
  700. package/assets/esri/core/workers/chunks/91fba3bebd78cb956941.js +0 -1
  701. package/assets/esri/core/workers/chunks/920b4def081c78c0d586.js +0 -1
  702. package/assets/esri/core/workers/chunks/92928c56b312e1514600.js +0 -1
  703. package/assets/esri/core/workers/chunks/92a4f56232f81ca457fa.js +0 -1
  704. package/assets/esri/core/workers/chunks/92ef6071ea87b7f940e2.js +0 -1
  705. package/assets/esri/core/workers/chunks/9319d57494482668ab19.js +0 -1
  706. package/assets/esri/core/workers/chunks/9361834d2c3064eb41fc.js +0 -1
  707. package/assets/esri/core/workers/chunks/9382af94bf6bf1b09c8c.js +0 -1
  708. package/assets/esri/core/workers/chunks/942c80c425b1f13cced5.js +0 -1
  709. package/assets/esri/core/workers/chunks/95cb062cae4c31c07124.js +0 -1
  710. package/assets/esri/core/workers/chunks/968335b28b895e19913b.js +0 -1
  711. package/assets/esri/core/workers/chunks/979bc762ccc0d3fc2467.js +0 -1
  712. package/assets/esri/core/workers/chunks/9828b07b5f8fd9f40935.js +0 -1
  713. package/assets/esri/core/workers/chunks/98739414c107ad78e4d8.js +0 -1
  714. package/assets/esri/core/workers/chunks/988f5e003377d734d282.js +0 -1
  715. package/assets/esri/core/workers/chunks/9921c8d4487a0f580b93.js +0 -1
  716. package/assets/esri/core/workers/chunks/9a6bdcedcb7d2798ba30.js +0 -1
  717. package/assets/esri/core/workers/chunks/9afe220b5b60cfa44c95.js +0 -1
  718. package/assets/esri/core/workers/chunks/9ba8a2e1c0fb4e1efc7c.js +0 -1
  719. package/assets/esri/core/workers/chunks/9c93eadbd19bef1191b4.js +0 -1
  720. package/assets/esri/core/workers/chunks/9c9d359caf8354a8ec52.js +0 -1
  721. package/assets/esri/core/workers/chunks/9cc2832d5f625f81c08d.js +0 -1
  722. package/assets/esri/core/workers/chunks/9ccabf8142fb5de4d3e2.js +0 -2
  723. package/assets/esri/core/workers/chunks/9cec9d09f3aa5c21660d.js +0 -37
  724. package/assets/esri/core/workers/chunks/9d258f14199181dee424.js +0 -1
  725. package/assets/esri/core/workers/chunks/9e869fd6450cf874783a.js +0 -1
  726. package/assets/esri/core/workers/chunks/9f34cf024231f574009c.js +0 -1
  727. package/assets/esri/core/workers/chunks/a1594486177015e8a6c3.js +0 -1
  728. package/assets/esri/core/workers/chunks/a16e75ff5cd9b22be197.js +0 -1
  729. package/assets/esri/core/workers/chunks/a1b8722c6acafdf1c2bf.js +0 -1
  730. package/assets/esri/core/workers/chunks/a3407ca77b0ff62c0e75.js +0 -1
  731. package/assets/esri/core/workers/chunks/a41073263af5eba3c16d.js +0 -1
  732. package/assets/esri/core/workers/chunks/a623676c74745e040a2a.js +0 -1
  733. package/assets/esri/core/workers/chunks/a64cd02ca959d511101c.js +0 -1
  734. package/assets/esri/core/workers/chunks/a6742abe3ebe371e85f1.js +0 -1
  735. package/assets/esri/core/workers/chunks/a6d4256c327f07221117.js +0 -1
  736. package/assets/esri/core/workers/chunks/a6f29d1a6356e2de5a79.js +0 -1
  737. package/assets/esri/core/workers/chunks/a79fad422d41019c8232.js +0 -1
  738. package/assets/esri/core/workers/chunks/a8dfd246c797f3b979f5.js +0 -1
  739. package/assets/esri/core/workers/chunks/ab0275669e28e7a34c38.js +0 -1
  740. package/assets/esri/core/workers/chunks/ab5e2f823960c33cefe4.js +0 -1
  741. package/assets/esri/core/workers/chunks/acdbe0299024d58e1421.js +0 -1
  742. package/assets/esri/core/workers/chunks/ad253136c1e12f733d15.js +0 -1
  743. package/assets/esri/core/workers/chunks/adc68e2c6d2698a52bfe.js +0 -1
  744. package/assets/esri/core/workers/chunks/adff1791ae44631ad34a.js +0 -1
  745. package/assets/esri/core/workers/chunks/ae16fe50a54b5c0f9811.js +0 -1
  746. package/assets/esri/core/workers/chunks/ae18de425548bb865702.js +0 -1
  747. package/assets/esri/core/workers/chunks/ae6066ea6cb373dc6db3.js +0 -1
  748. package/assets/esri/core/workers/chunks/aeb524eded012217a865.js +0 -1
  749. package/assets/esri/core/workers/chunks/af00081b78fc30ac556c.js +0 -1
  750. package/assets/esri/core/workers/chunks/b211b53aa7616a093b90.js +0 -1
  751. package/assets/esri/core/workers/chunks/b28e0b89603d8b03f9e1.js +0 -1
  752. package/assets/esri/core/workers/chunks/b4349db7155673329432.js +0 -1
  753. package/assets/esri/core/workers/chunks/b48033645091c91e0d88.js +0 -1
  754. package/assets/esri/core/workers/chunks/b5e4a36784d598ae6679.js +0 -1
  755. package/assets/esri/core/workers/chunks/b64cfd86d9204be743c6.js +0 -1
  756. package/assets/esri/core/workers/chunks/b8988771bfa4e785ebd6.js +0 -1
  757. package/assets/esri/core/workers/chunks/ba6452acee3d6defb37e.js +0 -1
  758. package/assets/esri/core/workers/chunks/bb92a9daa0c5b019561f.js +0 -1
  759. package/assets/esri/core/workers/chunks/bc731ec9d5136f1d9253.js +0 -1
  760. package/assets/esri/core/workers/chunks/bd1d159dce4094694c93.js +0 -1
  761. package/assets/esri/core/workers/chunks/bd2a28b14e5c0a55d783.js +0 -1
  762. package/assets/esri/core/workers/chunks/bdbb5b33f0f49661bf6d.js +0 -1
  763. package/assets/esri/core/workers/chunks/befeca51530bba5e8073.js +0 -1
  764. package/assets/esri/core/workers/chunks/bf05164b7a3e4f31e9db.js +0 -1
  765. package/assets/esri/core/workers/chunks/bf88bd763fd6442a95fd.js +0 -1
  766. package/assets/esri/core/workers/chunks/bfe052b386ec4874f350.js +0 -1
  767. package/assets/esri/core/workers/chunks/c042269586921e337be9.js +0 -1
  768. package/assets/esri/core/workers/chunks/c0b15510a8cab98df77f.js +0 -1
  769. package/assets/esri/core/workers/chunks/c27842a34e73ccb46116.js +0 -1
  770. package/assets/esri/core/workers/chunks/c3272b09bff886b08ce1.js +0 -1
  771. package/assets/esri/core/workers/chunks/c38a07e936226b361b63.js +0 -1
  772. package/assets/esri/core/workers/chunks/c59c1e52acb5ac8f78f9.js +0 -1
  773. package/assets/esri/core/workers/chunks/c5cc0fc652432a9264cc.js +0 -1
  774. package/assets/esri/core/workers/chunks/c605bf7d1e12917ac482.js +0 -1
  775. package/assets/esri/core/workers/chunks/c743e561e7d73a100576.js +0 -1
  776. package/assets/esri/core/workers/chunks/c7838ac0db8570a2d2c1.js +0 -1
  777. package/assets/esri/core/workers/chunks/c8182c2cbb0ead202af6.js +0 -1
  778. package/assets/esri/core/workers/chunks/c91ef3814e7f024043cf.js +0 -1
  779. package/assets/esri/core/workers/chunks/c96083838f919a8f64cd.js +0 -1
  780. package/assets/esri/core/workers/chunks/cad1d7e5ce89f51b3ac9.js +0 -1
  781. package/assets/esri/core/workers/chunks/cade149fa19b4d06dd24.js +0 -1
  782. package/assets/esri/core/workers/chunks/cc50f96321a7c12f300b.js +0 -1
  783. package/assets/esri/core/workers/chunks/ccc743e41854eb225c23.js +0 -1
  784. package/assets/esri/core/workers/chunks/cd788ed111e1e35cf9c8.js +0 -1
  785. package/assets/esri/core/workers/chunks/ce3870db25566cd93d8e.js +0 -1
  786. package/assets/esri/core/workers/chunks/cfbe9993263fa6f69363.js +0 -1
  787. package/assets/esri/core/workers/chunks/d129a5a34e9ad09bd39e.js +0 -1
  788. package/assets/esri/core/workers/chunks/d14e75b160aa432233c6.js +0 -1
  789. package/assets/esri/core/workers/chunks/d21480925a8bc9c7de96.js +0 -1
  790. package/assets/esri/core/workers/chunks/d32aad968798948946e4.js +0 -1
  791. package/assets/esri/core/workers/chunks/d364096493ceeff34c10.js +0 -1
  792. package/assets/esri/core/workers/chunks/d373986588f6b1b8f2d5.js +0 -1
  793. package/assets/esri/core/workers/chunks/d3b1d1c389d70919fb02.js +0 -1
  794. package/assets/esri/core/workers/chunks/d52a0c3a855029c48bd2.js +0 -1
  795. package/assets/esri/core/workers/chunks/d66973e926bc03e2359a.js +0 -1
  796. package/assets/esri/core/workers/chunks/d7cd1d879768df629716.js +0 -1
  797. package/assets/esri/core/workers/chunks/d7df5e4028d502712317.js +0 -1
  798. package/assets/esri/core/workers/chunks/d90564fbafc00df2d56d.js +0 -1
  799. package/assets/esri/core/workers/chunks/d9ca754f51b9812bb179.js +0 -1
  800. package/assets/esri/core/workers/chunks/d9ef0b3341e2744d8f2f.js +0 -1
  801. package/assets/esri/core/workers/chunks/da5ce19ecf3a5e92a2a9.js +0 -1
  802. package/assets/esri/core/workers/chunks/da7685ec2b6eaf00fd2d.js +0 -1
  803. package/assets/esri/core/workers/chunks/dae715b2b0094641e42f.js +0 -1
  804. package/assets/esri/core/workers/chunks/db04b0a30cce9e476551.js +0 -1
  805. package/assets/esri/core/workers/chunks/db28d00171240b4fffac.js +0 -1
  806. package/assets/esri/core/workers/chunks/db4661fd82dc61162115.js +0 -1
  807. package/assets/esri/core/workers/chunks/dbd382546837aa7709e2.js +0 -1
  808. package/assets/esri/core/workers/chunks/dddb6cb44cbe4dc1af97.js +0 -1
  809. package/assets/esri/core/workers/chunks/de60421029fbcebe2950.js +0 -1
  810. package/assets/esri/core/workers/chunks/df33d5a08e1b6dc00f45.js +0 -1
  811. package/assets/esri/core/workers/chunks/e0369ce0d729c9656488.js +0 -1
  812. package/assets/esri/core/workers/chunks/e03c706e327f4989280a.js +0 -1
  813. package/assets/esri/core/workers/chunks/e0648f5aed9d939928dc.js +0 -1
  814. package/assets/esri/core/workers/chunks/e071b912539304564b69.js +0 -1
  815. package/assets/esri/core/workers/chunks/e10d6e511921394474ca.js +0 -1
  816. package/assets/esri/core/workers/chunks/e34b7acc963288ca0f04.js +0 -1
  817. package/assets/esri/core/workers/chunks/e4b6aa8f67c2bd285020.js +0 -1
  818. package/assets/esri/core/workers/chunks/e572ffc1d000e4e6325f.js +0 -1
  819. package/assets/esri/core/workers/chunks/e615a935bbf1168fac43.js +0 -1
  820. package/assets/esri/core/workers/chunks/e8bf362b2631f977b1cb.js +0 -1
  821. package/assets/esri/core/workers/chunks/e8e4d48ab4024e17108d.js +0 -1
  822. package/assets/esri/core/workers/chunks/e97787de88e2992add13.js +0 -1
  823. package/assets/esri/core/workers/chunks/eaadcc43837c465342cc.js +0 -1
  824. package/assets/esri/core/workers/chunks/eb7eb3b3b8800fd73f3e.js +0 -1
  825. package/assets/esri/core/workers/chunks/ecb4c223c0278971cdc9.js +0 -1
  826. package/assets/esri/core/workers/chunks/ed7e353e290b3a272457.js +0 -1
  827. package/assets/esri/core/workers/chunks/ee361690b456c12c30d8.js +0 -1
  828. package/assets/esri/core/workers/chunks/ef639d31c94d2b55b8d4.js +0 -1
  829. package/assets/esri/core/workers/chunks/ef977be20a647aeded0a.js +0 -1
  830. package/assets/esri/core/workers/chunks/efb631371b6bb3f043bb.js +0 -1
  831. package/assets/esri/core/workers/chunks/f0100b34f8b13fb37157.js +0 -1
  832. package/assets/esri/core/workers/chunks/f0914715e90e43466f8c.js +0 -1
  833. package/assets/esri/core/workers/chunks/f0a667d8d33bc51c795d.js +0 -1
  834. package/assets/esri/core/workers/chunks/f1e5d52e550326e49d1e.js +0 -1
  835. package/assets/esri/core/workers/chunks/f25bebd2b6eb0d0f6626.js +0 -2
  836. package/assets/esri/core/workers/chunks/f2b63597ae956db74eb3.js +0 -1
  837. package/assets/esri/core/workers/chunks/f32d4813b450a3eb4262.js +0 -1
  838. package/assets/esri/core/workers/chunks/f3b2c81f5ad26a58a4bd.js +0 -1
  839. package/assets/esri/core/workers/chunks/f54ec21fa67db6fef5a6.js +0 -1
  840. package/assets/esri/core/workers/chunks/f57b5720ce827f5845cd.js +0 -1
  841. package/assets/esri/core/workers/chunks/f5a695dc51793b138b23.js +0 -1
  842. package/assets/esri/core/workers/chunks/f5f584d325f8f2ea825f.js +0 -1
  843. package/assets/esri/core/workers/chunks/f65d26588d2d80680a26.js +0 -1
  844. package/assets/esri/core/workers/chunks/f65f1798f398bc549463.js +0 -1
  845. package/assets/esri/core/workers/chunks/f72e6c903f55ce95a6c5.js +0 -1
  846. package/assets/esri/core/workers/chunks/f77b93bef06bae03c1c6.js +0 -1
  847. package/assets/esri/core/workers/chunks/f7dfbf24859f4ac2421b.js +0 -1
  848. package/assets/esri/core/workers/chunks/f8438642a9bdd8980b4b.js +0 -1
  849. package/assets/esri/core/workers/chunks/f98689562017583f73ee.js +0 -1
  850. package/assets/esri/core/workers/chunks/fdb5b5d8a7c99a0bf5f9.js +0 -1
  851. package/assets/esri/core/workers/chunks/fdbe16e3b23e01655c0c.js +0 -1
  852. package/assets/esri/core/workers/chunks/fe07390e27f8cd5e93a8.js +0 -1
  853. package/assets/esri/core/workers/chunks/fe33b11ec3f58a0f541a.js +0 -1
  854. package/assets/esri/core/workers/chunks/ff8e2f998169ca3a7a68.js +0 -1
  855. package/assets/esri/core/workers/chunks/ffdba51e7256ebf8ebd3.js +0 -1
  856. /package/assets/esri/core/workers/chunks/{43e2c1d72cd9c8beed2f.js.LICENSE.txt → 008a555ce169640e2a35.js.LICENSE.txt} +0 -0
  857. /package/assets/esri/core/workers/chunks/{6be530ab81291745485b.js.LICENSE.txt → 21ac84b5c7dedcfd747d.js.LICENSE.txt} +0 -0
  858. /package/assets/esri/core/workers/chunks/{5b9f2aa3ba1bf12c3240.js.LICENSE.txt → 534ed6574e4a1613ba05.js.LICENSE.txt} +0 -0
  859. /package/assets/esri/core/workers/chunks/{37002a46f03a9fc5f644.js.LICENSE.txt → 5aee84e827e6fcc9c4c4.js.LICENSE.txt} +0 -0
  860. /package/assets/esri/core/workers/chunks/{73c416ae0ec5a1815591.js.LICENSE.txt → 90a53bfe95ed687c28c1.js.LICENSE.txt} +0 -0
  861. /package/assets/esri/core/workers/chunks/{873008572c1f21cea122.js.LICENSE.txt → 91e307ca0d11804a7a1d.js.LICENSE.txt} +0 -0
  862. /package/assets/esri/core/workers/chunks/{25f3ee666f545a7a7993.js.LICENSE.txt → dc57400b835724204909.js.LICENSE.txt} +0 -0
  863. /package/assets/esri/core/workers/chunks/{f25bebd2b6eb0d0f6626.js.LICENSE.txt → e3d3fc87789fd711f161.js.LICENSE.txt} +0 -0
  864. /package/assets/esri/core/workers/chunks/{0b7bbdc0d71ee6721751.js.LICENSE.txt → ef519984fa691aad8d87.js.LICENSE.txt} +0 -0
  865. /package/assets/esri/core/workers/chunks/{9ccabf8142fb5de4d3e2.js.LICENSE.txt → f5ed6953a9255f0bed6a.js.LICENSE.txt} +0 -0
@@ -0,0 +1,1039 @@
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[2206],{2495(e,t,r){r.d(t,{$U:()=>Ce,fs:()=>Ee,ty:()=>Ae});var i=r(35522),n=r(51850),o=r(49255),a=r(25634),s=r(11725),l=r(70328),c=r(620);class d{constructor(e=0,t=!1,r=!0){this.tolerance=e,this.isVerticalRay=t,this.normalRequired=r}}const u=(0,l.vt)();function h(e,t,r,n,o,a){if(!e.visible)return;const s=(0,i.jb)(C,n,r),l=(e,t,r)=>a(e,r,t),{tolerance:u}=t,h=new d(u,!1,t.options.normalRequired);if(e.boundingInfo)(0,c.vA)(0===e.type),p(e.boundingInfo,r,s,u,o,h,l);else{const t=e.positionAttribute,n=t.indices;!function(e,t,r,n,o,a,s,l,c,d){const u=t,h=S,m=Math.abs(u[0]),p=Math.abs(u[1]),f=Math.abs(u[2]),x=m>=p?m>=f?0:2:p>=f?1:2,b=x,y=u[b]<0?2:1,M=(x+y)%3,T=(x+(3-y))%3,C=u[M]/u[b],E=u[T]/u[b],A=1/u[b],I=v,R=g,O=_,{normalRequired:F}=c;for(let t=r;t<n;++t){const r=3*t,n=s*o[r];(0,i.hZ)(h[0],a[n+0],a[n+1],a[n+2]);const c=s*o[r+1];(0,i.hZ)(h[1],a[c+0],a[c+1],a[c+2]);const u=s*o[r+2];(0,i.hZ)(h[2],a[u+0],a[u+1],a[u+2]),l&&((0,i.C)(h[0],l.applyToVertex(h[0][0],h[0][1],h[0][2],t)),(0,i.C)(h[1],l.applyToVertex(h[1][0],h[1][1],h[1][2],t)),(0,i.C)(h[2],l.applyToVertex(h[2][0],h[2][1],h[2][2],t))),(0,i.jb)(I,h[0],e),(0,i.jb)(R,h[1],e),(0,i.jb)(O,h[2],e);const m=I[M]-C*I[b],p=I[T]-E*I[b],f=R[M]-C*R[b],v=R[T]-E*R[b],g=O[M]-C*O[b],_=O[T]-E*O[b],x=g*v-_*f,y=m*_-p*g,S=f*p-v*m;if((x<0||y<0||S<0)&&(x>0||y>0||S>0))continue;const P=x+y+S;if(0===P)continue;const D=x*(A*I[b])+y*(A*R[b])+S*(A*O[b]);if(D*Math.sign(P)<0)continue;const H=D/P;H>=0&&d(H,t,F?w(h):null)}}(r,s,0,n.length/3,n,t.data,t.stride,o,h,l)}}const m=(0,n.vt)();function p(e,t,r,n,o,a,s){if(null==e)return;const c=function(e,t){return(0,i.hZ)(t,1/e[0],1/e[1],1/e[2])}(r,m);if((0,l.Ne)(u,e.bbMin),(0,l.vI)(u,e.bbMax),null!=o&&o.applyToAabb(u),function(e,t,r,i){return function(e,t,r,i){const n=(e[0]-i-t[0])*r[0],o=(e[3]+i-t[0])*r[0];let a=Math.min(n,o),s=Math.max(n,o);const l=(e[1]-i-t[1])*r[1],c=(e[4]+i-t[1])*r[1];if(s=Math.min(s,Math.max(l,c)),s<0)return!1;if(a=Math.max(a,Math.min(l,c)),a>s)return!1;const d=(e[2]-i-t[2])*r[2],u=(e[5]+i-t[2])*r[2];return s=Math.min(s,Math.max(d,u)),!(s<0)&&(a=Math.max(a,Math.min(d,u)),!(a>s)&&a<1/0)}(e,t,r,i)}(u,t,c,n)){const{primitiveIndices:i,position:l}=e,c=i?i.length:l.indices.length/3;if(c>M){const i=e.getChildren();if(void 0!==i){for(const e of i)p(e,t,r,n,o,a,s);return}}!function(e,t,r,i,n,o,a,s,l,c,d){const u=e[0],h=e[1],m=e[2],p=t[0],v=t[1],g=t[2],{normalRequired:_}=c;for(let e=0;e<i;++e){const t=s[e],r=3*t,i=a*n[r];let c=o[i],w=o[i+1],b=o[i+2];const y=a*n[r+1];let M=o[y],C=o[y+1],S=o[y+2];const E=a*n[r+2];let A=o[E],I=o[E+1],R=o[E+2];null!=l&&([c,w,b]=l.applyToVertex(c,w,b,e),[M,C,S]=l.applyToVertex(M,C,S,e),[A,I,R]=l.applyToVertex(A,I,R,e));const O=M-c,F=C-w,P=S-b,D=A-c,H=I-w,N=R-b,z=v*N-H*g,L=g*D-N*p,B=p*H-D*v,V=O*z+F*L+P*B;if(Math.abs(V)<=T)continue;const U=u-c,G=h-w,j=m-b,W=U*z+G*L+j*B;if(V>0){if(W<0||W>V)continue}else if(W>0||W<V)continue;const k=G*P-F*j,Z=j*O-P*U,$=U*F-O*G,q=p*k+v*Z+g*$;if(V>0){if(q<0||W+q>V)continue}else if(q>0||W+q<V)continue;const Y=(D*k+H*Z+N*$)/V;Y>=0&&d(Y,t,_?x(O,F,P,D,H,N,f):null)}}(t,r,0,c,l.indices,l.data,l.stride,i,o,a,s)}}const f=(0,n.vt)();const v=(0,n.vt)(),g=(0,n.vt)(),_=(0,n.vt)();function x(e,t,r,n,o,a,s){return(0,i.hZ)(b,e,t,r),(0,i.hZ)(y,n,o,a),(0,i.$A)(s,b,y),(0,i.S8)(s,s),s}function w(e){return(0,i.jb)(b,e[1],e[0]),(0,i.jb)(y,e[2],e[0]),(0,i.$A)(f,b,y),(0,i.S8)(f,f),f}const b=(0,n.vt)(),y=(0,n.vt)(),M=1e3,T=1e-7,C=(0,n.vt)(),S=[(0,n.vt)(),(0,n.vt)(),(0,n.vt)()];var E=r(16396),A=r(13030),I=r(59907);class R{constructor(e){this.layout=e}elementCount(e){return e.get("position").indices.length}write(e,t,r,i,n,o){return(0,I.vJ)(r,i,this.layout,e,t,n,o)}intersect(e,t,r,n,o,a,s){const l=this.layout.createView(e).getField("position",A.xs);if(null==l)return;const c=(0,i.jb)(O,a,o),d=l.count/3,u=n.options.normalRequired;!function(e,t,r,i,n,o,a,s){const l=e[0],c=e[1],d=e[2],u=t[0],h=t[1],m=t[2];for(let e=0;e<i;++e){const t=3*e,r=t+1,i=t+2,p=o*t,v=n[p],g=n[p+1],_=n[p+2],w=o*r,b=o*i,y=n[w]-v,M=n[w+1]-g,C=n[w+2]-_,S=n[b]-v,E=n[b+1]-g,A=n[b+2]-_,I=h*A-E*m,R=m*S-A*u,O=u*E-S*h,F=y*I+M*R+C*O;if(Math.abs(F)<=T)continue;const P=l-v,D=c-g,H=d-_,N=P*I+D*R+H*O;if(F>0){if(N<0||N>F)continue}else if(N>0||N<F)continue;const z=D*C-M*H,L=H*y-C*P,B=P*M-y*D,V=u*z+h*L+m*B;if(F>0){if(V<0||N+V>F)continue}else if(V>0||N+V<F)continue;const U=(S*z+E*L+A*B)/F;U>=0&&s(U,e,a?x(y,M,C,S,E,A,f):null)}}(o,c,0,d,l.typedBuffer,l.typedBufferStride,u,(e,t,r)=>s(e,r,t))}}const O=(0,n.vt)();var F=r(43616),P=r(31635),D=r(91429),H=r(91829),N=r(4431),z=r(1843),L=r(72824),B=r(13840),V=r(42958),U=r(16943),G=r(33524);const j={mask:255},W={function:{func:519,ref:2,mask:2},operation:{fail:7680,zFail:7680,zPass:0}},k={function:{func:519,ref:2,mask:2},operation:{fail:7680,zFail:7680,zPass:7681}};var Z=r(4576),$=r(44208);r(53966),r(34275),r(94656),r(63907),(0,$.A)("esri-tests-disable-gpu-memory-measurements");var q=r(69622),Y=r(65529),X=r(77690),K=r(29242),J=r(58083),Q=r(9093),ee=r(32728);class te{constructor(e){this.localTransform=e.localTransform,this.globalTransform=e.globalTransform,this.modelOrigin=e.modelOrigin,this.model=e.instanceModel,this.modelNormal=e.instanceModelNormal,this.modelScaleFactors=e.modelScaleFactors,this.boundingSphere=e.boundingSphere,this.featureAttribute=e.getField("instanceFeatureAttribute",A.Eq),this.color=e.getField("instanceColor",A.XP),this.olidColor=e.getField("instanceOlidColor",A.XP),this.state=e.getField("state",A.SL),this.lodLevel=e.getField("lodLevel",A.SL)}}let re=class extends q.A{constructor(e,t){super(e),this.events=new Y.bk,this._capacity=0,this._size=0,this._next=0,this._highlightOptionsMap=new Map,this._highlightOptionsMapPrev=new Map,this._layout=function(e){return ne(ie.clone(),e).u8("state").u8("lodLevel")}(t),this._capacity=ce,this._buffer=this._layout.createBuffer(this._capacity),this._view=new te(this._buffer)}get capacity(){return this._capacity}get size(){return this._size}get view(){return this._view}addInstance(){this._size+1>this._capacity&&this._grow();const e=this._findSlot();return this._view.state.set(e,1),this._size++,this.events.emit("instances-changed"),e}removeInstance(e){const t=this._view.state;(0,c.vA)(e>=0&&e<this._capacity&&!!(1&t.get(e)),"invalid instance handle"),this._getStateFlag(e,18)?this._setStateFlags(e,32):this.freeInstance(e),this.events.emit("instances-changed")}freeInstance(e){const t=this._view.state;(0,c.vA)(e>=0&&e<this._capacity&&!!(1&t.get(e)),"invalid instance handle"),t.set(e,0),this._size--}setLocalTransform(e,t,r=!0){this._view.localTransform.setMat(e,t),r&&this.updateModelTransform(e)}getLocalTransform(e,t){this._view.localTransform.getMat(e,t)}setGlobalTransform(e,t,r=!0){this._view.globalTransform.setMat(e,t),r&&this.updateModelTransform(e)}getGlobalTransform(e,t){this._view.globalTransform.getMat(e,t)}updateModelTransform(e){const t=this._view,r=oe,n=ae;t.localTransform.getMat(e,se),t.globalTransform.getMat(e,le);const o=(0,J.lw)(le,le,se);(0,i.hZ)(r,o[12],o[13],o[14]),t.modelOrigin.setVec(e,r),(0,X.z0)(n,o),t.model.setMat(e,n);const a=(0,ee.wp)(oe,o);a.sort(),t.modelScaleFactors.set(e,0,a[1]),t.modelScaleFactors.set(e,1,a[2]),(0,X.B8)(n,n),(0,X.mg)(n,n),t.modelNormal.setMat(e,n),this._setStateFlags(e,64),this.events.emit("instance-transform-changed",{index:e})}getModelTransform(e,t){const r=this._view;r.model.getMat(e,ae),r.modelOrigin.getVec(e,oe),t[0]=ae[0],t[1]=ae[1],t[2]=ae[2],t[3]=0,t[4]=ae[3],t[5]=ae[4],t[6]=ae[5],t[7]=0,t[8]=ae[6],t[9]=ae[7],t[10]=ae[8],t[11]=0,t[12]=oe[0],t[13]=oe[1],t[14]=oe[2],t[15]=1}applyShaderTransformation(e,t){null!=this.shaderTransformation&&this.shaderTransformation.applyTransform(this,e,t)}getCombinedModelTransform(e,t){return this.getModelTransform(e,t),null!=this.shaderTransformation&&this.shaderTransformation.applyTransform(this,e,t),t}getCombinedLocalTransform(e,t){this._view.localTransform.getMat(e,t),null!=this.shaderTransformation&&this.shaderTransformation.applyTransform(this,e,t)}getCombinedMaxScaleFactor(e){let t=this._view.modelScaleFactors.get(e,1);return null!=this.shaderTransformation&&(this.shaderTransformation.scaleFactor(oe,this,e),t*=Math.max(oe[0],oe[1],oe[2])),t}getCombinedMedianScaleFactor(e){let t=this._view.modelScaleFactors.get(e,0);return null!=this.shaderTransformation&&(this.shaderTransformation.scaleFactor(oe,this,e),t*=function(e,t,r){return Math.max(Math.min(e,t),Math.min(Math.max(e,t),r))}(oe[0],oe[1],oe[2])),t}getModel(e,t){this._view.model.getMat(e,t)}setFeatureAttribute(e,t){this._view.featureAttribute?.setVec(e,t)}getFeatureAttribute(e,t){this._view.featureAttribute?.getVec(e,t)}setColor(e,t){this._view.color?.setVec(e,t)}setObjectAndLayerIdColor(e,t){this._view.olidColor?.setVec(e,t)}setVisible(e,t){t!==this.getVisible(e)&&(this._setStateFlag(e,4,t),this.events.emit("instance-visibility-changed",{index:e}))}getVisible(e){return this._getStateFlag(e,4)}setHighlight(e,t){const{_highlightOptionsMap:r}=this,i=r.get(e);t?t!==i&&(r.set(e,t),this._setStateFlag(e,8,!0),this.events.emit("instance-highlight-changed")):i&&(r.delete(e),this._setStateFlag(e,8,!1),this.events.emit("instance-highlight-changed"))}get highlightOptionsMap(){return this._highlightOptionsMap}getHighlightStateFlag(e){return this._getStateFlag(e,8)}geHighlightOptionsPrev(e){const t=this._highlightOptionsMapPrev.get(e)??null;return this._highlightOptionsMapPrev.delete(e),t}getHighlightName(e){const t=this.highlightOptionsMap.get(e)??null;return t?this._highlightOptionsMapPrev.set(e,t):this._highlightOptionsMapPrev.delete(e),t}getState(e){return this._view.state.get(e)}getLodLevel(e){return this._view.lodLevel.get(e)}countFlags(e){let t=0;for(let r=0;r<this._capacity;++r)this.getState(r)&e&&++t;return t}_setStateFlags(e,t){const r=this._view.state;t=r.get(e)|t,r.set(e,t)}_clearStateFlags(e,t){const r=this._view.state;t=r.get(e)&~t,r.set(e,t)}_setStateFlag(e,t,r){r?this._setStateFlags(e,t):this._clearStateFlags(e,t)}_getStateFlag(e,t){return!!(this._view.state.get(e)&t)}_grow(){this._capacity=Math.max(ce,Math.floor(this._capacity*Z.Ji)),this._buffer=this._layout.createBuffer(this._capacity).copyFrom(this._buffer),this._view=new te(this._buffer)}_findSlot(){const e=this._view.state;let t=this._next;for(;1&e.get(t);)t=t+1===this._capacity?0:t+1;return this._next=t+1===this._capacity?0:t+1,t}};(0,P.Cg)([(0,D.MZ)({constructOnly:!0})],re.prototype,"shaderTransformation",void 0),(0,P.Cg)([(0,D.MZ)()],re.prototype,"_size",void 0),(0,P.Cg)([(0,D.MZ)({readOnly:!0})],re.prototype,"size",null),re=(0,P.Cg)([(0,D.$K)("esri.views.3d.webgl-engine.lib.lodRendering.InstanceData")],re);const ie=(0,z.BP)().mat4f64("localTransform").mat4f64("globalTransform").vec4f64("boundingSphere").vec3f64("modelOrigin").mat3f("instanceModel").mat3f("instanceModelNormal").vec2f("modelScaleFactors");function ne(e,t){return t.instancedFeatureAttribute&&e.vec4f("instanceFeatureAttribute"),t.instancedColor&&e.vec4u8("instanceColor"),(0,U.E)()&&e.vec4u8("instanceOlidColor"),e}const oe=(0,n.vt)(),ae=(0,K.vt)(),se=(0,Q.vt)(),le=(0,Q.vt)(),ce=64,de=(0,z.BP)().vec3f("instanceModelOriginHi").vec3f("instanceModelOriginLo").mat3f("instanceModel").mat3f("instanceModelNormal");var ue=r(74810),he=r(28491),me=r(90644),pe=r(49788);class fe extends L.Zo{constructor(){super(...arguments),this.isSchematic=!1,this.usePBR=!1,this.mrrFactors=ue.mb,this.hasVertexColors=!1,this.hasSymbolColors=!1,this.doubleSided=!1,this.doubleSidedType="normal",this.cullFace=2,this.instanced=!1,this.instancedFeatureAttribute=!1,this.instancedColor=!1,this.instanceColorEncodesAlphaIgnore=!1,this.emissiveStrengthFromSymbol=0,this.emissiveStrengthKHR=1,this.emissiveSource=1,this.emissiveBaseColor=n.uY,this.instancedDoublePrecision=!1,this.normalType=0,this.receiveShadows=!0,this.receiveAmbientOcclusion=!0,this.castShadows=!0,this.ambient=(0,n.CN)(.2,.2,.2),this.diffuse=(0,n.CN)(.8,.8,.8),this.externalColor=(0,H.fA)(1,1,1,1),this.colorMixMode="multiply",this.opacity=1,this.layerOpacity=1,this.origin=(0,n.vt)(),this.hasSlicePlane=!1,this.offsetTransparentBackfaces=!1,this.vvSize=null,this.vvColor=null,this.vvOpacity=null,this.vvSymbolAnchor=null,this.vvSymbolRotationMatrix=null,this.modelTransformation=null,this.drivenOpacity=!1,this.writeDepth=!0,this.customDepthTest=0,this.textureAlphaMode=0,this.textureAlphaCutoff=pe.Q,this.textureAlphaPremultiplied=!1,this.renderOccluded=1,this.testsTransparentRenderOrder=0,this.isDecoration=!1}get hasVVSize(){return!!this.vvSize}get hasVVColor(){return!!this.vvColor}get hasVVOpacity(){return!!this.vvOpacity}}L.gy;let ve=class extends V.w{constructor(e,t){let i=(0,N.U)(xe(t));t.instanced&&t.instancedDoublePrecision&&(i=i.concat((0,N.U)(function(e){return ne(de.clone(),e)}(t)))),super(e,t,i),this.shader=new B.r(he.D,()=>r.e(5141).then(r.bind(r,5141)))}_makePipeline(e,t){const{oitPass:r,output:i,hasEmission:n,transparent:a,cullFace:s,customDepthTest:l,hasOccludees:c}=e;return(0,me.Ey)({blending:(0,o._o)(i)&&a?(0,G.Yf)(r):null,culling:_e(e)?(0,me.Xt)(s):null,depthTest:(0,G.mt)(r,ge(l)),depthWrite:(0,G.z5)(e),drawBuffers:(0,V.L)(i,(0,G.Sv)(r,n)),colorWrite:me.kn,stencilWrite:c?j:null,stencilTest:c?t?k:W:null,polygonOffset:(0,G.mE)(e)})}initializePipeline(e){return this._occludeePipelineState=this._makePipeline(e,!0),this._makePipeline(e,!1)}getPipeline(e,t){return t?this._occludeePipelineState:super.getPipeline(e)}};function ge(e){switch(e){case 1:return 515;case 0:case 3:return 513;case 2:return 516}}function _e(e){return 0!==e.cullFace||!e.hasSlicePlane&&!e.transparent&&!e.doubleSidedMode}function xe(e){const t=(0,z.BP)().vec3f("position");return 1===e.normalType?t.vec2i16("normalCompressed",{glNormalized:!0}):t.vec3f("normal"),e.hasVertexTangents&&t.vec4f("tangent"),e.hasTextures&&t.vec2f16("uv0"),e.hasVertexColors&&t.vec4u8("color"),e.hasSymbolColors&&t.vec4u8("symbolColor"),!e.instanced&&(0,U.E)()&&t.vec4u8("olidColor"),t}ve=(0,P.Cg)([(0,D.$K)("esri.views.3d.webgl-engine.shaders.DefaultMaterialTechnique")],ve);var we=r(51976),be=r(99550);class ye extends be.E{constructor(e){super(),this.spherical=e,this.alphaDiscardMode=1,this.doubleSidedMode=0,this.pbrMode=0,this.cullFace=0,this.normalType=0,this.customDepthTest=0,this.emissionSource=0,this.hasVertexColors=!1,this.hasSymbolColors=!1,this.hasVerticalOffset=!1,this.hasColorTexture=!1,this.hasMetallicRoughnessTexture=!1,this.hasOcclusionTexture=!1,this.hasNormalTexture=!1,this.hasScreenSizePerspective=!1,this.hasVertexTangents=!1,this.hasOccludees=!1,this.instanced=!1,this.instancedDoublePrecision=!1,this.hasModelTransformation=!1,this.offsetBackfaces=!1,this.hasVVSize=!1,this.hasVVColor=!1,this.receiveShadows=!1,this.receiveAmbientOcclusion=!1,this.textureAlphaPremultiplied=!1,this.instancedFeatureAttribute=!1,this.instancedColor=!1,this.writeDepth=!0,this.transparent=!1,this.enableOffset=!0,this.terrainDepthTest=!1,this.cullAboveTerrain=!1,this.snowCover=!1,this.hasColorTextureTransform=!1,this.hasEmissionTextureTransform=!1,this.hasNormalTextureTransform=!1,this.hasOcclusionTextureTransform=!1,this.hasMetallicRoughnessTextureTransform=!1,this.occlusionPass=!1,this.useCustomDTRExponentForWater=!1,this.useFillLights=!0,this.draped=!1}get textureCoordinateType(){return this.hasTextures?1:0}get hasTextures(){return this.hasColorTexture||this.hasNormalTexture||this.hasMetallicRoughnessTexture||3===this.emissionSource||this.hasOcclusionTexture}get hasVVInstancing(){return this.instanced}get discardInvisibleFragments(){return this.transparent}}(0,P.Cg)([(0,we.W)({count:4})],ye.prototype,"alphaDiscardMode",void 0),(0,P.Cg)([(0,we.W)({count:3})],ye.prototype,"doubleSidedMode",void 0),(0,P.Cg)([(0,we.W)({count:7})],ye.prototype,"pbrMode",void 0),(0,P.Cg)([(0,we.W)({count:3})],ye.prototype,"cullFace",void 0),(0,P.Cg)([(0,we.W)({count:3})],ye.prototype,"normalType",void 0),(0,P.Cg)([(0,we.W)({count:3})],ye.prototype,"customDepthTest",void 0),(0,P.Cg)([(0,we.W)({count:8})],ye.prototype,"emissionSource",void 0),(0,P.Cg)([(0,we.W)()],ye.prototype,"hasVertexColors",void 0),(0,P.Cg)([(0,we.W)()],ye.prototype,"hasSymbolColors",void 0),(0,P.Cg)([(0,we.W)()],ye.prototype,"hasVerticalOffset",void 0),(0,P.Cg)([(0,we.W)()],ye.prototype,"hasColorTexture",void 0),(0,P.Cg)([(0,we.W)()],ye.prototype,"hasMetallicRoughnessTexture",void 0),(0,P.Cg)([(0,we.W)()],ye.prototype,"hasOcclusionTexture",void 0),(0,P.Cg)([(0,we.W)()],ye.prototype,"hasNormalTexture",void 0),(0,P.Cg)([(0,we.W)()],ye.prototype,"hasScreenSizePerspective",void 0),(0,P.Cg)([(0,we.W)()],ye.prototype,"hasVertexTangents",void 0),(0,P.Cg)([(0,we.W)()],ye.prototype,"hasOccludees",void 0),(0,P.Cg)([(0,we.W)()],ye.prototype,"instanced",void 0),(0,P.Cg)([(0,we.W)()],ye.prototype,"instancedDoublePrecision",void 0),(0,P.Cg)([(0,we.W)()],ye.prototype,"hasModelTransformation",void 0),(0,P.Cg)([(0,we.W)()],ye.prototype,"offsetBackfaces",void 0),(0,P.Cg)([(0,we.W)()],ye.prototype,"hasVVSize",void 0),(0,P.Cg)([(0,we.W)()],ye.prototype,"hasVVColor",void 0),(0,P.Cg)([(0,we.W)()],ye.prototype,"receiveShadows",void 0),(0,P.Cg)([(0,we.W)()],ye.prototype,"receiveAmbientOcclusion",void 0),(0,P.Cg)([(0,we.W)()],ye.prototype,"textureAlphaPremultiplied",void 0),(0,P.Cg)([(0,we.W)()],ye.prototype,"instancedFeatureAttribute",void 0),(0,P.Cg)([(0,we.W)()],ye.prototype,"instancedColor",void 0),(0,P.Cg)([(0,we.W)()],ye.prototype,"writeDepth",void 0),(0,P.Cg)([(0,we.W)()],ye.prototype,"transparent",void 0),(0,P.Cg)([(0,we.W)()],ye.prototype,"enableOffset",void 0),(0,P.Cg)([(0,we.W)()],ye.prototype,"terrainDepthTest",void 0),(0,P.Cg)([(0,we.W)()],ye.prototype,"cullAboveTerrain",void 0),(0,P.Cg)([(0,we.W)()],ye.prototype,"snowCover",void 0),(0,P.Cg)([(0,we.W)()],ye.prototype,"hasColorTextureTransform",void 0),(0,P.Cg)([(0,we.W)()],ye.prototype,"hasEmissionTextureTransform",void 0),(0,P.Cg)([(0,we.W)()],ye.prototype,"hasNormalTextureTransform",void 0),(0,P.Cg)([(0,we.W)()],ye.prototype,"hasOcclusionTextureTransform",void 0),(0,P.Cg)([(0,we.W)()],ye.prototype,"hasMetallicRoughnessTextureTransform",void 0);var Me=r(57323);let Te=class extends ve{constructor(){super(...arguments),this.shader=new B.r(Me.R,()=>r.e(2314).then(r.bind(r,39933)))}};Te=(0,P.Cg)([(0,D.$K)("esri.views.3d.webgl-engine.shaders.RealisticTreeTechnique")],Te);class Ce extends s.i{constructor(e,t){super(e,Ee),this.materialType="default",this.supportsEdges=!0,this.intersectDraped=void 0,this.produces=new Map([[2,e=>((0,o.iq)(e)||(0,o.yT)(e))&&!this.transparent],[4,e=>((0,o.iq)(e)||(0,o.yT)(e))&&this.transparent&&this.parameters.writeDepth],[9,e=>((0,o.iq)(e)||(0,o.yT)(e))&&this.transparent&&!this.parameters.writeDepth]]),this._layout=xe(this.parameters),this._configuration=new ye(t.spherical)}isVisibleForOutput(e){return 3!==e&&5!==e&&4!==e||this.parameters.castShadows}get visible(){const{layerOpacity:e,colorMixMode:t,opacity:r,externalColor:i}=this.parameters;return e*("replace"===t?1:r)*("ignore"===t||isNaN(i[3])?1:i[3])>=pe.Q}get _hasEmissiveBase(){return!!this.parameters.emissiveTextureId||!(0,i.t2)(this.parameters.emissiveBaseColor,n.uY)}get hasEmissions(){return this.parameters.emissiveStrength>0&&(0===this.parameters.emissiveSource&&this._hasEmissiveBase||1===this.parameters.emissiveSource)}getConfiguration(e,t){const{parameters:r,_configuration:i}=this,{treeRendering:n,doubleSided:a,doubleSidedType:s}=r;return super.getConfiguration(e,t,this._configuration),i.hasNormalTexture=r.hasNormalTexture,i.hasColorTexture=r.hasColorTexture,i.hasMetallicRoughnessTexture=r.hasMetallicRoughnessTexture,i.hasOcclusionTexture=r.hasOcclusionTexture,i.hasVertexTangents=!n&&r.hasVertexTangents,i.instanced=r.instanced,i.instancedDoublePrecision=r.instancedDoublePrecision,i.hasVVColor=!!r.vvColor,i.hasVVSize=!!r.vvSize,i.hasVerticalOffset=null!=r.verticalOffset,i.hasScreenSizePerspective=null!=r.screenSizePerspective,i.hasSlicePlane=r.hasSlicePlane,i.alphaDiscardMode=r.textureAlphaMode,i.normalType=n?0:r.normalType,i.transparent=this.transparent,i.writeDepth=r.writeDepth,i.customDepthTest=r.customDepthTest??0,i.hasOccludees=t.hasOccludees,i.cullFace=r.hasSlicePlane?0:r.cullFace,i.cullAboveTerrain=t.cullAboveTerrain,i.hasModelTransformation=!n&&null!=r.modelTransformation,i.hasVertexColors=r.hasVertexColors,i.hasSymbolColors=r.hasSymbolColors,i.doubleSidedMode=n?2:a&&"normal"===s?1:a&&"winding-order"===s?2:0,i.instancedFeatureAttribute=r.instancedFeatureAttribute,i.instancedColor=r.instancedColor,(0,o._o)(e)?(i.terrainDepthTest=t.terrainDepthTest,i.receiveShadows=r.receiveShadows,i.receiveAmbientOcclusion=r.receiveAmbientOcclusion&&null!=t.ssao):(i.terrainDepthTest=!1,i.receiveShadows=i.receiveAmbientOcclusion=!1),i.textureAlphaPremultiplied=!!r.textureAlphaPremultiplied,i.pbrMode=r.usePBR?r.isSchematic?2:1:0,i.emissionSource=r.emissionSource,i.offsetBackfaces=!(!this.transparent||!r.offsetTransparentBackfaces),i.oitPass=t.oitPass,i.enableOffset=t.enableOffset,i.snowCover=t.snowCover>0,i.hasColorTextureTransform=!!r.colorTextureTransformMatrix,i.hasNormalTextureTransform=!!r.normalTextureTransformMatrix,i.hasEmissionTextureTransform=!!r.emissiveTextureTransformMatrix,i.hasOcclusionTextureTransform=!!r.occlusionTextureTransformMatrix,i.hasMetallicRoughnessTextureTransform=!!r.metallicRoughnessTextureTransformMatrix,i}intersect(e,t,r,n,o,a){if(null!=this.parameters.verticalOffset){const e=r.camera;(0,i.hZ)(De,t[12],t[13],t[14]);let a=null;switch(r.viewingMode){case 1:a=(0,i.S8)(Fe,De);break;case 2:a=(0,i.C)(Fe,Oe)}const s=(0,i.Re)(He,De,e.eye),l=(0,i.Bw)(s),c=(0,i.hs)(s,s,1/l);let d=null;this.parameters.screenSizePerspective&&(d=(0,i.Om)(a,c));const u=(0,F.kE)(e,l,this.parameters.verticalOffset,d??0,this.parameters.screenSizePerspective,null);(0,i.hs)(a,a,u),(0,i.ei)(Pe,a,r.transform.inverseRotation),n=(0,i.Re)(Ie,n,Pe),o=(0,i.Re)(Re,o,Pe)}h(e,r,n,o,(0,E.ou)(r.verticalOffset),a)}createGLMaterial(e){return new Se(e)}createBufferWriter(){return new R(this._layout)}get transparent(){return Ae(this.parameters)}}class Se extends a.m8{constructor(e){super({...e,...e.material.parameters})}beginSlot(e){this._material.setParameters({receiveShadows:e.shadowMap.enabled});const t=this._material.parameters;this.updateTexture(t.textureId);const r=e.camera.viewInverseTransposeMatrix;return(0,i.hZ)(t.origin,r[3],r[7],r[11]),this._material.setParameters(this.textureBindParameters),this.getTechnique(t.treeRendering?Te:ve,e)}}class Ee extends fe{constructor(){super(...arguments),this.treeRendering=!1,this.hasVertexTangents=!1}get hasNormalTexture(){return!this.treeRendering&&!!this.normalTextureId}get hasColorTexture(){return!!this.textureId}get hasMetallicRoughnessTexture(){return!this.treeRendering&&!!this.metallicRoughnessTextureId}get hasOcclusionTexture(){return!this.treeRendering&&!!this.occlusionTextureId}get emissiveStrength(){return this.emissiveStrengthFromSymbol*this.emissiveStrengthKHR}get emissionSource(){return this.treeRendering?0:null!=this.emissiveTextureId&&0===this.emissiveSource?3:0===this.emissiveSource?2:1}get hasTextures(){return this.hasColorTexture||this.hasNormalTexture||this.hasMetallicRoughnessTexture||3===this.emissionSource||this.hasOcclusionTexture}}function Ae(e){const{drivenOpacity:t,opacity:r,externalColor:i,layerOpacity:n,texture:o,textureId:a,textureAlphaMode:s,colorMixMode:l}=e,c=i[3];return t||r<1&&"replace"!==l||c<1&&"ignore"!==l||n<1||(null!=o||null!=a)&&1!==s&&2!==s&&"replace"!==l}const Ie=(0,n.vt)(),Re=(0,n.vt)(),Oe=(0,n.fA)(0,0,1),Fe=(0,n.vt)(),Pe=(0,n.vt)(),De=(0,n.vt)(),He=(0,n.vt)()},6867(e,t,r){r.d(t,{i:()=>d});var i=r(58083),n=r(9093),o=r(35522),a=r(51850),s=r(78955),l=r(91829),c=r(71351);class d{get ray(){return this._ray}get distanceInRenderSpace(){return null==this.distance?null:((0,o.hs)(h,this.ray.direction,this.distance),(0,o.Bw)(h))}withinDistance(e){return!!u(this)&&this.distanceInRenderSpace<=e}getIntersectionPoint(e){return!!u(this)&&((0,o.hs)(h,this.ray.direction,this.distance),(0,o.WQ)(e,this.ray.origin,h),!0)}getTransformedNormal(e){return(0,o.C)(m,this.normal),m[3]=0,(0,s.Z0)(m,m,this.transformation),(0,o.C)(e,m),(0,o.S8)(e,e)}constructor(e){this.intersector=4,this.normal=(0,a.vt)(),this.transformation=(0,n.vt)(),this._ray=(0,c.vt)(),this.init(e)}init(e){this.distance=this.target=this.drapedLayerOrder=this.renderPriority=null,this.intersector=4,(0,c.C)(e,this._ray)}set(e,t,r,s,l,c,d){this.intersector=e,this.distance=r,(0,o.C)(this.normal,s??a.Cb),(0,i.C)(this.transformation,l??n.zK),this.target=t,this.drapedLayerOrder=c,this.renderPriority=d}copy(e){(0,c.C)(e.ray,this._ray),this.intersector=e.intersector,this.distance=e.distance,this.target=e.target,this.drapedLayerOrder=e.drapedLayerOrder,this.renderPriority=e.renderPriority,(0,o.C)(this.normal,e.normal),(0,i.C)(this.transformation,e.transformation)}}function u(e){return null!=e?.distance}const h=(0,a.vt)(),m=(0,l.vt)()},10906(e,t,r){r.d(t,{b:()=>o});var i=r(33094),n=r(31821);function o(e,t){t.snowCover&&(e.uniforms.add(new i.U("snowCover",e=>e.snowCover)).code.add(n.H`float getSnow(vec3 normal, vec3 groundNormal) {
2
+ return smoothstep(0.5, 0.55, dot(normal, groundNormal)) * snowCover;
3
+ }
4
+ float getRealisticTreeSnow(vec3 faceNormal, vec3 shadingNormal, vec3 groundNormal) {
5
+ float snow = min(1.0, smoothstep(0.5, 0.55, dot(faceNormal, groundNormal)) +
6
+ smoothstep(0.5, 0.55, dot(-faceNormal, groundNormal)) +
7
+ smoothstep(0.0, 0.1, dot(shadingNormal, groundNormal)));
8
+ return snow * snowCover;
9
+ }`),e.code.add(n.H`vec3 applySnowToMRR(vec3 mrr, float snow) {
10
+ return mix(mrr, vec3(0.0, 1.0, 0.04), snow);
11
+ }`))}},11725(e,t,r){r.d(t,{i:()=>l});var i=r(24326),n=r(49255),o=r(99550),a=r(43616),s=r(65786);class l{constructor(e,t){this.id=(0,i.c)(),this.supportsEdges=!1,this._renderPriority=0,this._parameters=new t,(0,a.MB)(this._parameters,e),this.validateParameters(this._parameters)}get parameters(){return this._parameters}update(e){return!1}setParameters(e,t=!0){(0,a.MB)(this._parameters,e)&&(this.validateParameters(this._parameters),t&&this._parametersChanged())}validateParameters(e){}shouldRender(e){return this.visible&&this.isVisibleForOutput(e.output)&&(!this.parameters.isDecoration||e.bind.decorations)&&0!==(this.parameters.renderOccluded&e.renderOccludedMask)}isVisibleForOutput(e){return!0}get renderPriority(){return this._renderPriority}set renderPriority(e){e!==this._renderPriority&&(this._renderPriority=e,this._parametersChanged())}_parametersChanged(){this.repository?.materialChanged(this)}get renderOccludedFlags(){return this.visible?this.parameters.renderOccluded:0}get testsTransparentRenderOrder(){return this.parameters.testsTransparentRenderOrder}get hasEmissions(){return!1}getConfiguration(e,t,r=new o.E){return r.output=e,r.hasEmission=t.hasEmission&&(0,n._o)(e),r.hasHighlightMixTexture=8===e&&null!=t.highlightMixTexture,r}}s.Y},11868(e,t,r){r.d(t,{Wz:()=>o,oe:()=>n});var i=r(34275);function n(e,t=!1){return e<=i.y9?t?new Array(e).fill(0):new Array(e):new Float32Array(e)}function o(e){return(Array.isArray(e)?e.length:e.byteLength/8)<=i.y9?Array.from(e):new Float32Array(e)}},12791(e,t,r){r.d(t,{x:()=>n});var i=r(74333);class n extends i.n{constructor(e,t){super(e,"sampler2D",0,(r,i)=>r.bindTexture(e,t(i)))}}},13840(e,t,r){r.d(t,{r:()=>i});class i{constructor(e,t){this._module=e,this._load=t}get(){return this._module}async reload(){return this._module=await this._load(),this._module}}},14113(e,t,r){r.d(t,{N5:()=>s});var i=r(49186),n=(r(44208),r(53966));const o=()=>n.A.getLogger("esri.views.3d.webgl-engine.core.shaderModules.shaderBuilder");class a{constructor(){this._includedModules=new Map}include(e,t){this._includedModules.has(e)?this._includedModules.get(e):(this._includedModules.set(e,t),e(this.builder,t))}}class s extends a{constructor(){super(...arguments),this.vertex=new u,this.fragment=new u,this.attributes=new h,this.varyings=new m,this.outputs=new p}get fragmentUniforms(){return this.fragment.uniforms.entries}get attributeNames(){return this.attributes.names}get builder(){return this}generate(e,t=!1){const r=this.attributes.generateSource(e),i=this.varyings.generateSource(e),n="vertex"===e?this.vertex:this.fragment,o=n.uniforms.generateSource(),a=n.code.generateSource(),s=n.main.generateSource(t),l=this.debugName?`// ${this.debugName}\n`:"",c="vertex"===e?g:v,d=n.constants.generateSource(),u=this.outputs.generateSource(e);return`#version 300 es\n${l}\n${c}\n${d.join("\n")}\n${o.join("\n")}\n${r.join("\n")}\n${i.join("\n")}\n${u.join("\n")}\n${a.join("\n")}\n${s.join("\n")}`}generateBind(e){const t=new Map;this.vertex.uniforms.entries.forEach(e=>{const r=e.bind[0];r&&t.set(e.name,r)}),this.fragment.uniforms.entries.forEach(e=>{const r=e.bind[0];r&&t.set(e.name,r)});const r=Array.from(t.values()),i=r.length;return t=>{for(let n=0;n<i;++n)r[n](e,t)}}generateBindPass(e){const t=new Map;this.vertex.uniforms.entries.forEach(e=>{const r=e.bind[1];r&&t.set(e.name,r)}),this.fragment.uniforms.entries.forEach(e=>{const r=e.bind[1];r&&t.set(e.name,r)});const r=Array.from(t.values()),i=r.length;return(t,n)=>{for(let o=0;o<i;++o)r[o](e,t,n)}}generateBindDraw(e){const t=new Map;this.vertex.uniforms.entries.forEach(e=>{const r=e.bind[2];r&&t.set(e.name,r)}),this.fragment.uniforms.entries.forEach(e=>{const r=e.bind[2];r&&t.set(e.name,r)});const r=Array.from(t.values()),i=r.length;return(t,n,o)=>{for(let a=0;a<i;++a)r[a](e,o,t,n)}}}class l{constructor(e){this._stage=e,this._entries=new Map}add(...e){for(const t of e)this._add(t);return this._stage}get(e){return this._entries.get(e)}_add(e){if(null!=e){if(this._entries.has(e.name)&&!this._entries.get(e.name).equals(e))throw new i.A("shaderbuilder:duplicate-uniform",`Duplicate uniform name ${e.name} for different uniform type`);this._entries.set(e.name,e)}else o().error(`Trying to add null Uniform from ${(new Error).stack}.`)}generateSource(){return Array.from(this._entries.values()).map(({name:e,arraySize:t,type:r})=>null!=t?`uniform ${r} ${e}[${t}];`:`uniform ${r} ${e};`)}get entries(){return Array.from(this._entries.values())}}class c{constructor(e){this._stage=e,this._bodies=new Array}add(e){return this._bodies.push(e),this._stage}generateSource(e){if(this._bodies.length>0)return[`void main() {\n ${this._bodies.join("\n")||""} \n}`];if(e)throw new i.A("shaderbuilder:missing-main","Shader does not contain main function body.");return[]}}class d{constructor(e){this._stage=e,this._entries=new Array}add(e){return this._entries.push(e),this._stage}generateSource(){return this._entries}}class u extends a{constructor(){super(...arguments),this.uniforms=new l(this),this.main=new c(this),this.code=new d(this),this.constants=new f(this)}get builder(){return this}}class h{constructor(){this._entries=new Array}add(e,t){this._entries.push([e,t])}generateSource(e){return"fragment"===e?[]:this._entries.map(e=>`in ${e[1]} ${e[0]};`)}get names(){return this._entries.map(([e])=>e)}}class m{constructor(){this._entries=new Map}add(e,t,r){this._entries.has(e)?o().warn(`Ignoring duplicate varying ${t} ${e}`):this._entries.set(e,{type:t,invariant:r?.invariant??!1})}generateSource(e){const t=new Array;return this._entries.forEach((r,i)=>t.push((r.invariant&&"vertex"===e?"invariant ":"")+("int"===r.type?"flat ":"")+("vertex"===e?"out":"in")+` ${r.type} ${i};`)),t}}class p{constructor(){this._entries=new Map}add(e,t,r=0){const i=this._entries.get(r);i?.name!==e||i?.type!==t?this._entries.set(r,{name:e,type:t}):o().warn(`Fragment shader output location ${r} occupied`)}static{this.DEFAULT_TYPE="vec4"}static{this.DEFAULT_NAME="fragColor"}generateSource(e){if("vertex"===e)return[];0===this._entries.size&&this._entries.set(0,{name:p.DEFAULT_NAME,type:p.DEFAULT_TYPE});const t=new Array;return this._entries.forEach((e,r)=>t.push(`layout(location = ${r}) out ${e.type} ${e.name};`)),t}}class f{constructor(e){this._stage=e,this._entries=new Set}add(e,t,r){let i="ERROR_CONSTRUCTOR_STRING";switch(t){case"float":i=f._numberToFloatStr(r);break;case"int":i=f._numberToIntStr(r);break;case"uint":i=f._numberToUintStr(r);break;case"bool":i=r.toString();break;case"vec2":i=`vec2(${f._numberToFloatStr(r[0])}, ${f._numberToFloatStr(r[1])})`;break;case"vec3":i=`vec3(${f._numberToFloatStr(r[0])}, ${f._numberToFloatStr(r[1])}, ${f._numberToFloatStr(r[2])})`;break;case"vec4":i=`vec4(${f._numberToFloatStr(r[0])}, ${f._numberToFloatStr(r[1])}, ${f._numberToFloatStr(r[2])}, ${f._numberToFloatStr(r[3])})`;break;case"ivec2":i=`ivec2(${f._numberToIntStr(r[0])}, ${f._numberToIntStr(r[1])})`;break;case"ivec3":i=`ivec3(${f._numberToIntStr(r[0])}, ${f._numberToIntStr(r[1])}, ${f._numberToIntStr(r[2])})`;break;case"ivec4":i=`ivec4(${f._numberToIntStr(r[0])}, ${f._numberToIntStr(r[1])}, ${f._numberToIntStr(r[2])}, ${f._numberToIntStr(r[3])})`;break;case"uvec2":i=`uvec2(${f._numberToUintStr(r[0])}, ${f._numberToUintStr(r[1])})`;break;case"uvec3":i=`uvec3(${f._numberToUintStr(r[0])}, ${f._numberToUintStr(r[1])}, ${f._numberToUintStr(r[2])})`;break;case"uvec4":i=`uvec4(${f._numberToUintStr(r[0])}, ${f._numberToUintStr(r[1])}, ${f._numberToUintStr(r[2])}, ${f._numberToUintStr(r[3])})`;break;case"mat2":case"mat3":case"mat4":i=`${t}(${Array.prototype.map.call(r,e=>f._numberToFloatStr(e)).join(", ")})`}return this._entries.add(`const ${t} ${e} = ${i};`),this._stage}static _numberToIntStr(e){return e.toFixed(0)}static _numberToUintStr(e){return`${e.toFixed(0)}u`}static _numberToFloatStr(e){return Number.isInteger(e)?e.toFixed(1):e.toString()}generateSource(){return Array.from(this._entries)}}const v="#ifdef GL_FRAGMENT_PRECISION_HIGH\n precision highp float;\n precision highp int;\n precision highp sampler2D;\n precision highp usampler2D;\n precision highp sampler2DArray;\n precision highp sampler2DShadow;\n#else\n precision mediump float;\n precision mediump int;\n precision mediump sampler2D;\n precision mediump usampler2D;\n precision mediump sampler2DArray;\n precision mediump sampler2DShadow;\n#endif",g="precision highp float;\n precision highp int;\n precision highp sampler2D;\n precision highp usampler2D;\n precision highp sampler2DArray;\n precision highp sampler2DShadow;\n\n\n invariant gl_Position;\n "},14314(e,t,r){r.d(t,{I:()=>n});var i=r(74333);class n extends i.n{constructor(e,t,r){super(e,"vec4",0,(i,n)=>i.setUniform4fv(e,t(n),r))}}},14527(e,t,r){r.d(t,{n:()=>ft});var i=r(31821),n=r(12791),o=r(31635),a=r(34727),s=r(97768),l=r(36708),c=r(78659),d=r(91429),u=r(37585),h=r(69540);let m=class extends h.Pw{constructor(e){super(e),this.row=0,this.column=0,this.rows=1,this.columns=1}equals(e){return null!=e&&this.row===e.row&&this.rows===e.rows&&this.column===e.column&&this.columns===e.columns}};(0,o.Cg)([(0,d.MZ)({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],m.prototype,"row",void 0),(0,o.Cg)([(0,d.MZ)({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],m.prototype,"column",void 0),(0,o.Cg)([(0,d.MZ)({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],m.prototype,"rows",void 0),(0,o.Cg)([(0,d.MZ)({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],m.prototype,"columns",void 0),m=(0,o.Cg)([(0,d.$K)("esri.CameraLayout")],m);const p=m;var f=r(69052),v=r(25482),g=r(56507),_=r(86738),x=r(43937),w=r(36005);let b=class extends((0,h.OU)(v.o)){constructor(...e){super(...e),this.position=new _.A([0,0,0]),this.heading=0,this.tilt=0,this.fov=55,this.layout=new p}normalizeCtorArgs(e,t,r,i){if(e&&"object"==typeof e&&("x"in e||Array.isArray(e))){const n={position:e};return null!=t&&(n.heading=t),null!=r&&(n.tilt=r),null!=i&&(n.fov=i),n}return e}writePosition(e,t,r,i){const n=e.clone();n.x=(0,g.GB)(e.x||0),n.y=(0,g.GB)(e.y||0),n.z=e.hasZ?(0,g.GB)(e.z||0):e.z,t[r]=n.write({},i)}readPosition(e,t){const r=new _.A;return r.read(e,t),r.x=(0,g.GB)(r.x||0),r.y=(0,g.GB)(r.y||0),r.z=r.hasZ?(0,g.GB)(r.z||0):r.z,r}equals(e){return null!=e&&this.tilt===e.tilt&&this.heading===e.heading&&this.fov===e.fov&&this.position.equals(e.position)&&this.layout.equals(e.layout)}};(0,o.Cg)([(0,d.MZ)({type:_.A,json:{write:{isRequired:!0}}})],b.prototype,"position",void 0),(0,o.Cg)([(0,x.K)("position")],b.prototype,"writePosition",null),(0,o.Cg)([(0,w.w)("position")],b.prototype,"readPosition",null),(0,o.Cg)([(0,d.MZ)({type:Number,nonNullable:!0,json:{write:{isRequired:!0}}}),(0,d.wg)(e=>f.ie.normalize((0,g.GB)(e)))],b.prototype,"heading",void 0),(0,o.Cg)([(0,d.MZ)({type:Number,nonNullable:!0,json:{write:{isRequired:!0}}}),(0,d.wg)(e=>(0,a.qE)((0,g.GB)(e),-180,180))],b.prototype,"tilt",void 0),(0,o.Cg)([(0,d.MZ)({type:Number,nonNullable:!0,json:{default:55,write:!0}}),(0,d.wg)(e=>(0,a.qE)((0,g.GB)(e,55),1,170))],b.prototype,"fov",void 0),(0,o.Cg)([(0,d.MZ)({type:p,nonNullable:!0,json:{read:!1,write:!1}})],b.prototype,"layout",void 0),b=(0,o.Cg)([(0,d.$K)("esri.Camera")],b);var y=r(9093),M=r(35522),T=r(51850),C=r(16930),S=(r(48353),r(9762),r(65806)),E=r(27993),A=r(73941),I=(r(19419),r(71351)),R=r(69622),O=r(53966),F=r(90629),P=r(58083),D=r(48163),H=r(78955),N=r(91829),z=r(82919),L=r(44280);const B=(0,T.vt)(),V=(0,T.vt)();var U;let G=U=class extends R.A{constructor(e){super(e),this._ray=(0,I.vt)(),this._viewport=(0,N.fA)(0,0,1,1),this._padding=(0,N.fA)(0,0,0,0),this._fov=55/180*Math.PI,this._nearFar=(0,D.fA)(1,1e3),this._viewDirty=!0,this._viewMatrix=(0,y.vt)(),this._viewProjectionDirty=!0,this._viewProjectionMatrix=(0,y.vt)(),this._viewInverseTransposeMatrixDirty=!0,this._viewInverseTransposeMatrix=(0,y.vt)(),this._frustumDirty=!0,this._frustum=(0,z.vt)(),this._fullViewport=(0,N.vt)(),this._pixelRatio=1,this.row=0,this.column=0,this._rows=1,this._columns=1,this._center=(0,T.vt)(),this._up=(0,T.vt)(),this.relativeElevation=0}get pixelRatio(){return this._pixelRatio}set pixelRatio(e){this._pixelRatio=e>0?e:1}get rows(){return this._rows}set rows(e){this._rows=Math.max(1,e)}get columns(){return this._columns}set columns(e){this._columns=Math.max(1,e)}get eye(){return this._ray.origin}set eye(e){this._compareAndSetView(e,this._ray.origin)}get center(){return this._center}set center(e){this._compareAndSetView(e,this._center,"_center")}get ray(){return(0,M.Re)(this._ray.direction,this.center,this.eye),this._ray}get up(){return this._up}set up(e){this._compareAndSetView(e,this._up,"_up")}get viewMatrix(){return this._ensureViewClean(),this._viewMatrix}set viewMatrix(e){(0,P.C)(this._viewMatrix,e),this.notifyChange("_viewMatrix"),this._viewDirty=!1,this._viewInverseTransposeMatrixDirty=!0,this._viewProjectionDirty=!0,this._frustumDirty=!0}get viewForward(){return this._ensureViewClean(),(0,M.hZ)((0,T.vt)(),-this._viewMatrix[2],-this._viewMatrix[6],-this._viewMatrix[10])}get viewUp(){return this._ensureViewClean(),(0,M.hZ)((0,T.vt)(),this._viewMatrix[1],this._viewMatrix[5],this._viewMatrix[9])}get viewRight(){return this._ensureViewClean(),(0,M.hZ)((0,T.vt)(),this._viewMatrix[0],this._viewMatrix[4],this._viewMatrix[8])}get nearFar(){return this._nearFar}get near(){return this._nearFar[0]}set near(e){this._nearFar[0]!==e&&(this._nearFar[0]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_nearFar"))}get far(){return this._nearFar[1]}set far(e){this._nearFar[1]!==e&&(this._nearFar[1]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_nearFar"))}get viewport(){return this._viewport}set viewport(e){this.x=e[0],this.y=e[1],this.width=e[2],this.height=e[3]}get screenViewport(){if(1===this.pixelRatio)return this._viewport;const e=(0,H.hs)((0,N.vt)(),this._viewport,1/this.pixelRatio),t=this._get("screenViewport");return t&&(0,H.aI)(e,t)?t:e}get screenPadding(){if(1===this.pixelRatio)return this._padding;const e=(0,H.hs)((0,N.vt)(),this._padding,1/this.pixelRatio),t=this._get("screenPadding");return t&&(0,H.aI)(e,t)?t:e}get x(){return this._viewport[0]}set x(e){e+=this._padding[3],this._viewport[0]!==e&&(this._viewport[0]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get y(){return this._viewport[1]}set y(e){e+=this._padding[2],this._viewport[1]!==e&&(this._viewport[1]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get width(){return this._viewport[2]}set width(e){this._viewport[2]!==e&&(this._viewport[2]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get height(){return this._viewport[3]}set height(e){this._viewport[3]!==e&&(this._viewport[3]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get fullWidth(){return this._viewport[2]+this._padding[1]+this._padding[3]}set fullWidth(e){this.width=e-(this._padding[1]+this._padding[3])}get fullHeight(){return this._viewport[3]+this._padding[0]+this._padding[2]}set fullHeight(e){this.height=e-(this._padding[0]+this._padding[2])}get fullViewport(){return this._fullViewport[0]=this._viewport[0]-this._padding[3],this._fullViewport[1]=this._viewport[1]-this._padding[2],this._fullViewport[2]=this.fullWidth,this._fullViewport[3]=this.fullHeight,this._fullViewport}get _aspect(){return this.width/this.height}get padding(){return this._padding}set padding(e){(0,H.t2)(this._padding,e)||(this._viewport[0]+=e[3]-this._padding[3],this._viewport[1]+=e[2]-this._padding[2],this._viewport[2]-=e[1]+e[3]-(this._padding[1]+this._padding[3]),this._viewport[3]-=e[0]+e[2]-(this._padding[0]+this._padding[2]),(0,H.C)(this._padding,e),this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_padding"),this.notifyChange("_viewport"))}get viewProjectionMatrix(){return this._viewProjectionDirty&&((0,P.lw)(this._viewProjectionMatrix,this.projectionMatrix,this.viewMatrix),this._viewProjectionDirty=!1),this._viewProjectionMatrix}get projectionMatrix(){return this._projectionMatrixInternal}get inverseProjectionMatrix(){return(0,P.B8)((0,y.vt)(),this.projectionMatrix)||this._get("inverseProjectionMatrix")||(0,y.vt)()}get fov(){return this._fov}set fov(e){this._fov=e,this._viewProjectionDirty=!0,this._frustumDirty=!0}get fovX(){return e=this._fov,t=this.width,r=this.height,2*Math.atan(t*Math.tan(.5*e)/Math.sqrt(t*t+r*r));var e,t,r}set fovX(e){this._fov=function(e,t,r){return 2*Math.atan(Math.sqrt(t*t+r*r)*Math.tan(.5*e)/t)}(e,this.width,this.height),this._viewProjectionDirty=!0,this._frustumDirty=!0}get fovY(){return e=this._fov,t=this.width,r=this.height,2*Math.atan(r*Math.tan(.5*e)/Math.sqrt(t*t+r*r));var e,t,r}set fovY(e){this._fov=function(e,t,r){return 2*Math.atan(Math.sqrt(t*t+r*r)*Math.tan(.5*e)/r)}(e,this.width,this.height),this._viewProjectionDirty=!0,this._frustumDirty=!0}get distance(){return(0,M.Io)(this.center,this.eye)}get frustum(){return this._recomputeFrustum(),this._frustum}get viewInverseTransposeMatrix(){return(this._viewInverseTransposeMatrixDirty||this._viewDirty)&&((0,P.B8)(this._viewInverseTransposeMatrix,this.viewMatrix),(0,P.mg)(this._viewInverseTransposeMatrix,this._viewInverseTransposeMatrix),this._viewInverseTransposeMatrixDirty=!1),this._viewInverseTransposeMatrix}depthNDCToWorld(e){const{near:t,far:r}=this;return 2*t*r/(r+t-e*(r-t))}get perRenderPixelRatio(){return Math.tan(this.fovX/2)/(this.width/2)}get perScreenPixelRatio(){return this.perRenderPixelRatio*this.pixelRatio}get aboveGround(){return null!=this.relativeElevation&&this.relativeElevation>=0}get _projectionMatrixInternal(){const e=this.width,t=this.height,r=this.near*Math.tan(this.fovY/2)*2,i=r*this._aspect,n=r/this.rows,o=i/this.columns,a=-i/2+this.column*o,s=a+o,l=-r/2+this.row*n,c=l+n,d=(0,P.$h)((0,y.vt)(),a*(1+2*this._padding[3]/e),s*(1+2*this._padding[1]/e),l*(1+2*this._padding[2]/t),c*(1+2*this._padding[0]/t),this.near,this.far),u=this._get("projectionMatrix");return u&&(0,P.aI)(u,d)?u:d}copyFrom(e){(0,M.C)(this._ray.origin,e.eye),this.center=e.center,this.up=e.up,(0,H.C)(this._viewport,e.viewport),this.notifyChange("_viewport"),(0,H.C)(this._padding,e.padding),this.notifyChange("_padding"),(0,u.C)(this._nearFar,e.nearFar),this.notifyChange("_nearFar"),this._fov=e.fov,this.row=e.row,this.column=e.column,this.rows=e.rows,this.columns=e.columns,this.relativeElevation=e.relativeElevation;const t=e;return this._viewDirty=t._viewDirty,this._viewDirty||((0,P.C)(this._viewMatrix,e.viewMatrix),this.notifyChange("_viewMatrix")),this._viewProjectionDirty=!0,this._frustumDirty=t._frustumDirty,this._frustumDirty||((0,z.C)(this._frustum,e.frustum),this._frustumDirty=!1),t._viewInverseTransposeMatrixDirty?this._viewInverseTransposeMatrixDirty=!0:((0,P.C)(this._viewInverseTransposeMatrix,e.viewInverseTransposeMatrix),this._viewInverseTransposeMatrixDirty=!1),(0,H.C)(this._fullViewport,e.fullViewport),this.pixelRatio=e.pixelRatio,this}copyViewFrom(e){this.eye=e.eye,this.center=e.center,this.up=e.up,this.fov=e.fov}clone(){return(new U).copyFrom(this)}equals(e){return(0,M.t2)(this.eye,e.eye)&&(0,M.t2)(this.center,e.center)&&(0,M.t2)(this.up,e.up)&&(0,H.t2)(this._viewport,e.viewport)&&(0,H.t2)(this._padding,e.padding)&&(0,u.t2)(this.nearFar,e.nearFar)&&this._fov===e.fov&&this.pixelRatio===e.pixelRatio&&this.relativeElevation===e.relativeElevation&&this.row===e.row&&this.column===e.column&&this.rows===e.rows&&this.columns===e.columns}almostEquals(e){const t=Math.max(1,1/this.pixelRatio,1/e.pixelRatio);if(Math.abs(e.fov-this._fov)>=.001||(0,H.hG)(e.screenPadding,this.screenPadding)>=t||(0,H.hG)(this.screenViewport,e.screenViewport)>=t||this.row!==e.row||this.column!==e.column||this.rows!==e.rows||this.columns!==e.columns)return!1;(0,M.jb)(k,e.eye,e.center),(0,M.jb)(Z,this.eye,this.center);const r=(0,M.Om)(k,Z),i=(0,M.uE)(k),n=(0,M.uE)(Z),o=5e-4;return r*r>=(1-1e-10)*i*n&&(0,M.lo)(e.eye,this.eye)<Math.max(i,n)*o*o}computeRenderPixelSizeAt(e){return this.computeRenderPixelSizeAtDist(this._viewDirectionDistance(e))}computeRenderPixelSizeAtDist(e){return e*this.perRenderPixelRatio}computeScreenPixelSizeAt(e){return this.computeScreenPixelSizeAtDist(this._viewDirectionDistance(e))}_viewDirectionDistance(e){return Math.abs((0,L.gr)(this.viewForward,(0,M.Re)(k,e,this.eye)))}computeScreenPixelSizeAtDist(e){return e*this.perScreenPixelRatio}computeDistanceFromRadius(e,t){return e/Math.tan(Math.min(this.fovX,this.fovY)/(2*(t||1)))}getScreenCenter(e=(0,F.gs)()){return e[0]=(this.padding[3]+this.width/2)/this.pixelRatio,e[1]=(this.padding[0]+this.height/2)/this.pixelRatio,e}getRenderCenter(e,t=.5,r=.5){return e[0]=this.padding[3]+this.width*t,e[1]=this.padding[2]+this.height*r,e[2]=.5,e}setGLViewport(e){const t=this.viewport,r=this.padding;e.setViewport(t[0]-r[3],t[1]-r[2],t[2]+r[1]+r[3],t[3]+r[0]+r[2])}applyProjection(e,t){e!==j&&(0,M.C)(j,e),j[3]=1,(0,H.Z0)(j,j,this.projectionMatrix);const r=Math.abs(j[3]);(0,M.hs)(j,j,1/r);const i=this.fullViewport;t[0]=(0,a.Cc)(0,i[0]+i[2],.5+.5*j[0]),t[1]=(0,a.Cc)(0,i[1]+i[3],.5+.5*j[1]),t[2]=.5*(j[2]+1),t[3]=r}unapplyProjection(e,t){const r=this.fullViewport;j[0]=(e[0]/(r[0]+r[2])*2-1)*e[3],j[1]=(e[1]/(r[1]+r[3])*2-1)*e[3],j[2]=(2*e[2]-1)*e[3],j[3]=e[3],null!=this.inverseProjectionMatrix&&((0,H.Z0)(j,j,this.inverseProjectionMatrix),t[0]=j[0],t[1]=j[1],t[2]=j[2])}projectToScreen(e,t){return this.projectToRenderScreen(e,$),this.renderToScreen($,t),t}projectToRenderScreen(e,t){if(j[0]=e[0],j[1]=e[1],j[2]=e[2],j[3]=1,(0,H.Z0)(j,j,this.viewProjectionMatrix),0===j[3])return null;const r=j;(0,M.hs)(r,r,1/Math.abs(j[3]));const i=this.fullViewport,n=(0,a.Cc)(0,i[0]+i[2],.5+.5*r[0]),o=(0,a.Cc)(0,i[1]+i[3],.5+.5*r[1]);return"x"in t?(t.x=n,t.y=o):(t[0]=n,t[1]=o,t.length>2&&(t[2]=.5*(r[2]+1))),t}unprojectFromScreen(e,t){return this.unprojectFromRenderScreen(this.screenToRender(e,$),t)}unprojectFromRenderScreen(e,t){if((0,P.lw)(W,this.projectionMatrix,this.viewMatrix),!(0,P.B8)(W,W))return null;const r=this.fullViewport;return j[0]=2*(e[0]-r[0])/r[2]-1,j[1]=2*(e[1]-r[1])/r[3]-1,j[2]=2*e[2]-1,j[3]=1,(0,H.Z0)(j,j,W),0===j[3]?null:(t[0]=j[0]/j[3],t[1]=j[1]/j[3],t[2]=j[2]/j[3],t)}constrainWindowSize(e,t,r,i){const n=e*this.pixelRatio,o=t*this.pixelRatio,a=Math.max(n-r/2,0),s=Math.max(this.fullHeight-o-i/2,0),l=-Math.min(n-r/2,0),c=-Math.min(this.fullHeight-o-i/2,0),d=r-l- -Math.min(this.fullWidth-n-r/2,0),u=i-c- -Math.min(o-i/2,0);return[Math.round(a),Math.round(s),Math.round(d),Math.round(u)]}computeUp(e){1===e?this._computeUpGlobal():this._computeUpLocal()}screenToRender(e,t){const r=e[0]*this.pixelRatio,i=this.fullHeight-e[1]*this.pixelRatio;return t[0]=r,t[1]=i,t}renderToScreen(e,t){const r=e[0]/this.pixelRatio,i=(this.fullHeight-e[1])/this.pixelRatio;t[0]=r,t[1]=i}sphereFrustumCoverage(e,t){const{center:r,eye:i,distance:n,fovY:o}=this,s=Math.abs(Math.PI/2-function(e,t,r){e.worldUpAtPosition(t,B),(0,M.Re)(V,r,t);const i=(0,M.Bw)(V);return 0===i?0:(0,a.XM)((0,M.Om)(V,B)/i)}(t,r,i));return e.frustumCoverage(s,n,o)}_computeUpGlobal(){(0,M.Re)(k,this.center,this.eye);const e=(0,M.Bw)(this.center);e<1?(0,M.t2)(this._up,T.Cb)&&((0,M.C)(this._up,T.Cb),this._markViewDirty(),this.notifyChange("_up")):Math.abs((0,M.Om)(k,this.center))>.9999*(0,M.Bw)(k)*e||((0,M.$A)(Z,k,this.center),(0,M.$A)(Z,Z,k),(0,M.S8)(Z,Z),(0,M.t2)(this._up,Z)||((0,M.C)(this._up,Z),this.notifyChange("_up"),this._markViewDirty()))}_computeUpLocal(){(0,M.oW)(k,this.eye,this.center),Math.abs(k[2])<=.9999&&((0,M.hs)(k,k,k[2]),(0,M.hZ)(k,-k[0],-k[1],1-k[2]),(0,M.S8)(k,k),(0,M.t2)(this._up,k)||((0,M.C)(this._up,k),this.notifyChange("_up"),this._markViewDirty()))}_compareAndSetView(e,t,r=""){"number"==typeof e[0]&&isFinite(e[0])&&"number"==typeof e[1]&&isFinite(e[1])&&"number"==typeof e[2]&&isFinite(e[2])?(0,M.t2)(e,t)||((0,M.C)(t,e),this._markViewDirty(),r.length&&this.notifyChange(r)):O.A.getLogger("esri.views.3d.webgl-engine.lib.RenderCamera").warn("RenderCamera vector contains invalid number, ignoring value")}_markViewDirty(){this._viewDirty=!0,this._frustumDirty=!0,this._viewProjectionDirty=!0}_recomputeFrustum(){this._frustumDirty&&((0,z.ui)(this.viewMatrix,this.projectionMatrix,this._frustum),this._frustumDirty=!1)}_ensureViewClean(){this._viewDirty&&((0,P.t5)(this._viewMatrix,this.eye,this.center,this.up),this.notifyChange("_viewMatrix"),this._viewDirty=!1,this._viewInverseTransposeMatrixDirty=!0)}};(0,o.Cg)([(0,d.MZ)()],G.prototype,"_viewport",void 0),(0,o.Cg)([(0,d.MZ)()],G.prototype,"_padding",void 0),(0,o.Cg)([(0,d.MZ)()],G.prototype,"_fov",void 0),(0,o.Cg)([(0,d.MZ)()],G.prototype,"_nearFar",void 0),(0,o.Cg)([(0,d.MZ)()],G.prototype,"_viewDirty",void 0),(0,o.Cg)([(0,d.MZ)()],G.prototype,"_viewMatrix",void 0),(0,o.Cg)([(0,d.MZ)()],G.prototype,"_pixelRatio",void 0),(0,o.Cg)([(0,d.MZ)()],G.prototype,"pixelRatio",null),(0,o.Cg)([(0,d.MZ)()],G.prototype,"row",void 0),(0,o.Cg)([(0,d.MZ)()],G.prototype,"column",void 0),(0,o.Cg)([(0,d.MZ)()],G.prototype,"_rows",void 0),(0,o.Cg)([(0,d.MZ)()],G.prototype,"rows",null),(0,o.Cg)([(0,d.MZ)()],G.prototype,"_columns",void 0),(0,o.Cg)([(0,d.MZ)()],G.prototype,"columns",null),(0,o.Cg)([(0,d.MZ)()],G.prototype,"eye",null),(0,o.Cg)([(0,d.MZ)()],G.prototype,"center",null),(0,o.Cg)([(0,d.MZ)()],G.prototype,"_center",void 0),(0,o.Cg)([(0,d.MZ)()],G.prototype,"up",null),(0,o.Cg)([(0,d.MZ)()],G.prototype,"_up",void 0),(0,o.Cg)([(0,d.MZ)()],G.prototype,"viewMatrix",null),(0,o.Cg)([(0,d.MZ)({readOnly:!0})],G.prototype,"viewForward",null),(0,o.Cg)([(0,d.MZ)({readOnly:!0})],G.prototype,"viewUp",null),(0,o.Cg)([(0,d.MZ)({readOnly:!0})],G.prototype,"viewRight",null),(0,o.Cg)([(0,d.MZ)({readOnly:!0})],G.prototype,"nearFar",null),(0,o.Cg)([(0,d.MZ)()],G.prototype,"near",null),(0,o.Cg)([(0,d.MZ)()],G.prototype,"far",null),(0,o.Cg)([(0,d.MZ)()],G.prototype,"viewport",null),(0,o.Cg)([(0,d.MZ)({readOnly:!0})],G.prototype,"screenViewport",null),(0,o.Cg)([(0,d.MZ)({readOnly:!0})],G.prototype,"screenPadding",null),(0,o.Cg)([(0,d.MZ)()],G.prototype,"x",null),(0,o.Cg)([(0,d.MZ)()],G.prototype,"y",null),(0,o.Cg)([(0,d.MZ)()],G.prototype,"width",null),(0,o.Cg)([(0,d.MZ)()],G.prototype,"height",null),(0,o.Cg)([(0,d.MZ)()],G.prototype,"fullWidth",null),(0,o.Cg)([(0,d.MZ)()],G.prototype,"fullHeight",null),(0,o.Cg)([(0,d.MZ)({readOnly:!0})],G.prototype,"_aspect",null),(0,o.Cg)([(0,d.MZ)()],G.prototype,"padding",null),(0,o.Cg)([(0,d.MZ)({readOnly:!0})],G.prototype,"projectionMatrix",null),(0,o.Cg)([(0,d.MZ)({readOnly:!0})],G.prototype,"inverseProjectionMatrix",null),(0,o.Cg)([(0,d.MZ)()],G.prototype,"fov",null),(0,o.Cg)([(0,d.MZ)()],G.prototype,"fovX",null),(0,o.Cg)([(0,d.MZ)()],G.prototype,"fovY",null),(0,o.Cg)([(0,d.MZ)()],G.prototype,"viewInverseTransposeMatrix",null),(0,o.Cg)([(0,d.MZ)({readOnly:!0})],G.prototype,"_projectionMatrixInternal",null),(0,o.Cg)([(0,d.MZ)()],G.prototype,"relativeElevation",void 0),G=U=(0,o.Cg)([(0,d.$K)("esri.views.3d.webgl.RenderCamera")],G);const j=(0,N.vt)(),W=(0,y.vt)(),k=(0,T.vt)(),Z=(0,T.vt)(),$=(0,F.r_)();r(49718),r(6867),r(16396),(0,T.vt)(),(0,T.vt)(),(0,T.vt)();var q=r(5443),Y=r(39829),X=r(95108);function K(e,t,r,i){const n=function(e,t){const r=0===t||2===t?0:1,i=e[t],n=0===t||1===t?1:-1,o=0===r?1:0;return(e,t,a)=>{if(t[r]<i&&a[r]<i)return 1===n?0:1;if(t[r]>i&&a[r]>i)return 1===n?1:0;const s=(a[o]-t[o])/(a[r]-t[r]),l=t[o]+s*(i-t[r]);return e[r]=i,e[o]=l,(t[r]<i?1:-1)*n>0?2:3}}(r,i);if(e.length=0,t.length){1===n(Q,t[0],t[0])&&J(e,t[0]);for(let r=0;r<t.length;r++){const i=t[r===t.length-1?0:r+1];switch(n(Q,t[r],i)){case 1:J(e,i);break;case 3:J(e,(0,D.o8)(Q));break;case 2:J(e,(0,D.o8)(Q)),J(e,i)}}}}function J(e,t){0!==e.length&&(0,u.aI)(e.at(-1),t)||e.push(t)}const Q=(0,D.vt)();var ee=r(11964),te=r(27921);const re=(0,T.vt)(),ie=(0,T.vt)();function ne(){return{direction:(0,T.vt)(),up:(0,T.vt)()}}function oe(e,t,r,i,n){let o=(0,M.S8)(re,e),s=(0,M.Om)(o,i);const l=s>0;s=Math.abs(s),s>.99&&(s=Math.abs((0,M.Om)(t,i)),s<.99?((0,M.C)(o,t),l&&(0,M.hs)(o,o,-1)):o=null);let c=0;if(o){(0,M.hs)(ie,i,(0,M.Om)(i,o)),(0,M.Re)(o,o,ie);const e=(0,M.Om)(o,n)/((0,M.Bw)(o)*(0,M.Bw)(n));(0,M.$A)(ie,o,n),c=((0,M.Om)(ie,i)>0?1:-1)*(0,a.KJ)((0,a.XM)(e))}const d=(0,a.KJ)((0,a.XM)(-(0,M.Om)(i,e)/(0,M.Bw)(e)));return r?(r.heading=c,r.tilt=d,r):{heading:c,tilt:d}}function ae(e,t,r,i){(0,M.Re)(se,r,t),(0,te.T7)(i,(0,ee.LV)(t,se),e)||e===r||(0,M.C)(e,r)}const se=(0,T.vt)(),le=(0,T.fA)(0,1,0),ce=(0,T.fA)(0,0,1),de=(0,y.vt)(),ue=(0,T.vt)(),he=(0,T.vt)();function me(e,t,r,i=ne()){const{direction:n,up:o}=i;return(0,P.N9)(de,-(0,a.kU)(t)),(0,P.eL)(de,de,(0,a.kU)(r)),(0,M.Z0)(n,ce,de),(0,M.hs)(n,n,-1),(0,M.Z0)(o,le,de),i}function pe(e,t,r,i,n){const o=t.lines[11].direction,a=(n-r.getAltitude(i))/o[2];(0,M.Ln)(e,i,o,a)}const fe=(0,T.vt)();Object.freeze(Object.defineProperty({__proto__:null,directionToHeadingTilt:function(e,t,r,i){return oe(t,r,i,ce,le)},eyeForCenterWithHeadingTilt:function(e,t,r,i){const n=me(0,r,i),o=(0,T.vt)();return(0,M.hs)(o,n.direction,-t),(0,M.WQ)(o,o,e),{up:n.up,eye:o,heading:r,tilt:i}},eyeTiltToLookAtTilt:function(e){return(0,a.kU)(e)},headingTiltToDirectionUp:me,lookAtTiltToEyeTilt:function(e){return(0,a.KJ)(e)},toArea:function(e,t){const r=e.frustum,{renderCoordsHelper:i}=e,n=i.getAltitude(t),o=e.spatialReference,a=e.state.camera.eye,s=[],l=r.planes[5];for(let e=0;e<4;e++){const t=r.lines[e];i.intersectInfiniteManifold((0,I.LV)(t.origin,t.direction),n,fe)||pe(fe,r,i,t.endpoint,n),ae(fe,a,fe,l),s.push((0,D.fA)(fe[0],fe[1]))}return function(e,t,r){const i=e.map(e=>((0,M.hZ)(fe,e[0],e[1],0),t.fromRenderCoords(fe,fe,r),[fe[0],fe[1]]));return i.length<=2?new Y.A({spatialReference:r}):(i.push(i[0].slice()),(0,X.$3)(i)||i.reverse(),new Y.A({rings:[i],spatialReference:r}))}(function(e,t){const r=[],i=[];return K(r,e,t,0),K(i,r,t,1),K(r,i,t,2),K(i,r,t,3),i}(s,i.extent),i,o)},toExtent:function(e,t,r,i,n){const o=e.renderSpatialReference,a=e.spatialReference??t.spatialReference;return(0,S.g)(t,ue,o),(0,S.g)(t,he,o),ue[0]-=r/2,he[0]+=r/2,ue[1]-=i/2,he[1]+=i/2,(0,E.F)(ue,o,ue,a),(0,E.F)(he,o,he,a),n?(n.xmin=ue[0],n.ymin=ue[1],n.xmax=he[0],n.ymax=he[1],n.spatialReference=a):n=new q.A(ue[0],ue[1],he[0],he[1],a),n}},Symbol.toStringTag,{value:"Module"}));var ve=r(34304),ge=r(17136),_e=r(94008),xe=r(28735);class we{get planes(){return this.frustum}get points(){return this._points}get mutablePoints(){return this._points}get direction(){return this._direction}get origin(){return this._origin}get boundingSphere(){return this._boundingSphereDirty&&this._updateBoundingSphere(),this._boundingSphere}constructor(e){this.renderCoordsHelper=e,this.frustum=(0,z.vt)(),this._points=(0,z.Qy)(),this.lines=new Array(12),this._origin=(0,T.vt)(),this._direction=(0,T.vt)(),this._boundingSphere=new _e.iy,this._altitude=null,this._boundingSphereDirty=!0;for(let e=0;e<12;e++)this.lines[e]={origin:null,direction:(0,T.vt)(),endpoint:null}}update(e){(0,z.ui)(e.viewMatrix,e.projectionMatrix,this.frustum,this._points),(0,M.C)(this._origin,e.eye),(0,M.C)(this._direction,e.viewForward),this._altitude=this.renderCoordsHelper.getAltitude(this._origin),this._updateLines(),this._boundingSphereDirty=!0}updatePoints(e){for(let t=0;t<this._points.length;t++)(0,M.C)(this._points[t],e[t]);(0,z.DV)(this.frustum,this._points),this._updateLines()}get altitude(){return this._altitude}intersectsSphere(e){return(0,z.m7)(this.frustum,e)}intersectsRay(e){return(0,z.pw)(this.frustum,e)}intersectsLineSegment(e,t){return(0,z.ST)(this.frustum,e,t)}intersectsPoint(e){return(0,z.bU)(this.frustum,e)}_updateLines(){const e=this._points;for(let t=0;t<4;t++){const r=t+4;be(this.lines[t],e[t],e[r]),be(this.lines[t+4],e[t],3===t?e[0]:e[t+1]),be(this.lines[t+8],e[r],3===t?e[4]:e[r+1])}}_updateBoundingSphere(){const{origin:e}=this,t=Me;(0,M.S8)(t,this.direction);const r=ye;(0,M.jb)(r,this.points[4],e);const i=.5*(0,M.Om)(r,r)/(0,M.Om)(t,r),n=this._boundingSphere,o=(0,M.Ln)(Te,e,t,i);n.center=o,n.radius=i}static{this.planePointIndices=z.c8}static{this.nearFarLineIndices=[[0,4],[1,5],[2,6],[3,7]]}}function be(e,t,r){e.origin=t,e.endpoint=r,(0,M.oW)(e.direction,t,r)}const ye=(0,T.vt)(),Me=(0,T.vt)(),Te=(0,T.vt)();r(86211);const Ce=(0,T.fA)(5802e-9,13558e-9,331e-7),Se=(0,T.fA)(65e-8*3,5643e-9,255e-9);(0,T.fA)(Ce[0]+Se[0],Ce[1]+Se[1],Ce[2]+Se[2]);class Ee{constructor(e=1/0,t=-1/0){this.near=e,this.far=t}set(e,t){this.near=e,this.far=t}union(e){return null!=e&&(this.near=Math.min(this.near,e.near),this.far=Math.max(this.far,e.far)),this}within(e){return this.near<=e&&e<=this.far}equals(e){return this.near===e.near&&this.far===e.far}static{this.Zero=new Ee(0,0)}static{this.Infinite=new Ee}}(0,T.vt)(),(0,T.vt)(),new _e.iy,(0,I.vt)(),new q.A({xmin:0,ymin:0,zmin:0,xmax:0,ymax:0,zmax:0});var Ae=r(32728);const Ie=(0,T.fA)(0,0,1),Re=(0,M.S8)((0,T.vt)(),(0,T.fA)(1,1,1)),Oe=(0,y.vt)(),Fe=(0,T.vt)(),Pe=(0,T.vt)();function De(e,t,r,i=ne()){(0,M.$A)(Fe,e,Ie),0===(0,M.Om)(Fe,Fe)&&(0,M.$A)(Fe,e,Re),(0,P.$0)(Oe,-(0,a.kU)(t),e),(0,P.e$)(Oe,Oe,-(0,a.kU)(r),Fe);const{up:n,direction:o}=i;return(0,M.$A)(n,Fe,e),(0,M.S8)(n,n),(0,M.Z0)(n,n,Oe),(0,M.S8)(o,e),(0,M.ze)(o,o),(0,M.Z0)(o,o,Oe),i}function He(e){const t=e[1];e[1]=-e[2],e[2]=t}function Ne(e,t){const r=De(t,e.heading,e.tilt);return e.up=r.up,e}function ze(e,t){const r=[],i=[],n=(0,ve.FD)();for(let o=0;o<e.length;o++){const a=e[o],s=o===e.length-1?e[0]:e[o+1],l=(0,ee.Cr)(a,s,ke),c=(0,te.vE)(t,l.origin,l.vector,0,je);switch(c){case 2:r.push(a);break;case 3:i.push(a);break;case 0:case 1:{const[e,o,s]=0===c?[1,r,i]:[-1,i,r],l=(0,te.Qj)(t),d=(0,M.Ln)((0,T.vt)(),je,l,e*n),u=(0,M.Ln)((0,T.vt)(),je,l,e*-n);o.push(a),o.push(d),s.push(u)}}}const o=[];return r.length&&o.push(r),i.length&&o.push(i),o}const Le={minCurvature:(0,a.kU)(5),maxCurvature:(0,a.kU)(50),minSamples:1,maxSamples:6},Be=(0,T.fA)(1,0,0),Ve=(0,T.fA)(0,1,0),Ue=(0,T.vt)(),Ge=(0,T.vt)(),je=(0,T.vt)(),We=new _e.iy,ke=(0,ee.vt)(),Ze=(0,N.vt)();Object.freeze(Object.defineProperty({__proto__:null,directionToHeadingTilt:function(e,t,r,i){const n=Fe,o=Pe;return(0,M.S8)(n,e),(0,M.$A)(Pe,n,Ie),0===(0,M.Om)(Pe,Pe)&&(0,M.$A)(Pe,n,Re),(0,M.$A)(o,Pe,n),oe(t,r,i,n,o)},eyeForCenterWithHeadingTilt:function(e,t,r,i){const n={eye:(0,T.vt)(),up:null,tilt:i,heading:r},o=Fe;o[0]=e[0],o[1]=e[2],o[2]=-e[1];const s=t,l=(0,a.kU)(r),c=(0,a.kU)(i),d=Math.sin(l),u=Math.cos(l),h=Math.sin(c),m=Math.cos(c),p=(0,M.Bw)(o);let f;if(Math.abs(c)<1e-8)f=s+p;else{const e=p/h,t=(0,a.YN)(s/e),r=Math.PI-c-t;f=e*Math.sin(r)}const v=m*s,g=s*s*(h*h),_=u*u*g,x=f-v,w=x*x,b=_*(_+w-o[1]*o[1]);if(b<0)return(0,M.hs)(n.eye,o,f/p),n.tilt=0,Ne(n,e);const y=Math.sqrt(b),C=o[1]*x,S=_+w;let E;if(E=u>0?-y+C:y+C,Math.abs(S)<1e-8)return p<1e-8?(n.eye[0]=0,n.eye[1]=0,n.eye[2]=s):(0,M.hs)(n.eye,o,f/p),n.tilt=0,He(n.eye),Ne(n,e);n.eye[1]=E/S;const A=d*d*g,I=h*s,R=u*I*n.eye[1],O=n.eye[1]*n.eye[1],F=1-O,P=Math.sqrt(F),D=_*O+A-2*R*P*x+F*w;return Math.abs(D)<1e-8?((0,M.hs)(n.eye,o,f/p),n.tilt=0,He(n.eye),Ne(n,e)):(n.eye[0]=(F*(f*o[0]-v*o[0])-I*P*(o[0]*n.eye[1]*u+o[2]*d))/D,n.eye[2]=(F*(f*o[2]-v*o[2])-I*P*(o[2]*n.eye[1]*u-o[0]*d))/D,(0,M.hs)(n.eye,n.eye,f),He(n.eye),Ne(n,e))},eyeTiltToLookAtTilt:function(e,t,r){const i=(0,a.kU)(e),n=(0,M.Bw)(t);return(0,a.YN)(r/(n/Math.sin(i)))+i},headingTiltToDirectionUp:De,lookAtTiltToEyeTilt:function(e,t,r){const i=(0,M.Bw)(t),n=Math.sqrt(r*r+i*i-2*r*i*Math.cos(Math.PI-e)),o=(0,a.YN)(r/(n/Math.sin(e)));return(0,a.KJ)(e-o)},toArea:function(e,t){const{renderCoordsHelper:r}=e,i=e.state.camera.clone(),n=new we(r);i.near=2,n.update(i);const o=r.getAltitude(t),s=e.spatialReference,l=r.referenceEllipsoid.radius,c=i.eye,d=1+(0,M.Io)(c,t)/(l+o),u=Math.sqrt(d*d-1),{minCurvature:h,maxCurvature:m,minSamples:p,maxSamples:f}=Le,v=function(e){const{renderCoordsHelper:t,state:r}=e,i=Math.abs(t.getAltitude(r.camera.center));return We.radius=t.referenceEllipsoid.radius+i,r.camera.sphereFrustumCoverage(We,t)}(e),g=(0,a.qE)((u-h)/(m-h),0,1),_=Math.round((0,a.Cc)(p,f,g)),x=i.aboveGround,w=n.planes[5],b=[],y=(0,te.O_)(T.uY,Be,(0,te.vt)()),C=(0,te.O_)(T.uY,Ve,(0,te.vt)());(0,H.hZ)(Ze,0,0,0,0);const S=e=>{};for(let e=0;e<4;e++){const t=1===e&&!x||3===e&&x?1-v:0,i=1===e&&x||3===e&&!x?v:1,s=n.lines[e],l=n.lines[3===e?0:e+1];for(let n=0;n<_;n++){const d=n/_,u=0===n?0:(0,a.Cc)(t,i,1===e?1-(1-d)**2:3===e?d**2:d),h=(0,M.Cc)(Ge,s.origin,l.origin,u),m=(0,Ae.nu)(s.direction,l.direction,u,Ue);r.intersectManifoldClosestSilhouette((0,I.LV)(h,m),o,je),ae(je,c,je,w),b.push((0,T.o8)(je)),0!==b.length&&S((0,M.lo)(b.at(-1),je));const p=((0,te.Tj)(y,je)?1:0)|((0,te.Tj)(C,je)?2:0);Ze[p]=1}}b.length>2&&(0,M.lo)(b[0],b.at(-1));const E=function(e,t,r){const i=2*(0,ve.FD)();return e.map(e=>{const n=[];let o=!1;for(const a of e)t.fromRenderCoords(a,je,r),Math.abs(a[0])<i&&Math.abs(a[1])<i?(n.push([null,je[1]]),n.push([null,je[1]]),o=!0):n.push([je[0],je[1]]);if(o)for(let e=0;e<n.length;e++){const t=n[e];if(null!=t[0])continue;const r=n[e+1],i=n.at(0===e?-1:e-1);t[0]=i[0],e++;const o=n.at(e===n.length-1?0:e+1);r[0]=o[0]}return n.push(n[0]),(0,X.$3)(n)||n.reverse(),n})}((0,H.m3)(Ze)>1?function(e,t){const r=[];for(const i of e)r.push(...ze(i,t));return r}(ze(b,y),C):[b],r,s);return new Y.A({rings:E,spatialReference:s})},toExtent:function(e,t,r,i,n){let o,s,l,c;const d=t.latitude,u=(0,A.tO)(e.spatialReference).radius,h=t.longitude,m=function(e,t,r){const i=t/r,n=(0,a.kU)(e),o=Math.sin(i/2),s=Math.cos(n),l=2*(0,a.YN)(Math.sqrt(o*o/(s*s)));return(0,a.KJ)(l)}(d,r,u)/2;o=h-m,s=h+m;const p=(0,a.kU)(d),v=(1+Math.sin(p))/(1-Math.sin(p)),g=(v+1)*Math.tan(i/u/2),_=g*g;function x(e){const t=Math.PI/2;return(e=f.uC.normalize(e,-t))>t&&(e=Math.PI-e),e}if(l=1.5*Math.PI-2*Math.atan(.5*(g+Math.sqrt(4*v+_))),c=l+i/u,l=x(l),c=x(c),c<l){const e=c;c=l,l=e}if(l=Math.max((0,a.KJ)(l),-90),c=Math.min((0,a.KJ)(c),90),s=ge.Y_.monotonic(o,s),s-o>180){const e=(s-o-180)/2;o+=e,s-=e}const w=e.spatialReference&&e.spatialReference.isGeographic?e.spatialReference:C.A.WGS84;return n?(n.xmin=o,n.ymin=l,n.xmax=s,n.ymax=c,n.spatialReference=w):n=new q.A(o,l,s,c,w),e.spatialReference&&e.spatialReference.isWebMercator&&(0,xe.Gh)(n,!1,n),n}},Symbol.toStringTag,{value:"Module"}));const $e="ssao";(0,T.vt)();var qe=r(49186),Ye=r(10107),Xe=r(64108);let Ke=class extends R.A{constructor(e){super(e),this.view=null,this.consumes={required:[]},this.produces="composite-color",this.requireGeometryDepth=!1,this._dirty=!0}initialize(){this.addHandles([(0,l.wB)(()=>this.view.ready,e=>{e&&this.view.stage?.renderer.addRenderNode(this)},l.Vh)])}destroy(){this.view.stage?.renderer?.removeRenderNode(this)}precompile(){}render(){throw new qe.A("RenderNode:render-function-not-implemented","render() is not implemented.")}get camera(){return this.view.state.camera.clone()}get sunLight(){return this.bindParameters.lighting.legacy}get gl(){return this.view.stage.renderView.renderingContext.gl}get techniques(){return this.view.stage.renderView.techniques}acquireOutputFramebuffer(){const e=this._frameBuffer?.getTexture()?.descriptor,t=this.view.stage.renderer.fboCache.acquire(e?.width??640,e?.height??480,this.produces);return t.fbo?.initializeAndBind(),t}bindRenderTarget(){return this._frameBuffer?.fbo?.initializeAndBind(),this._frameBuffer}requestRender(e){switch(e){case 2:this.view.state.fading=!0;case 1:this.view.stage?.renderView.requestRender(e);case 0:case void 0:this._dirty=!0}}resetWebGLState(){this.renderingContext.resetState(),this.renderingContext.bindFramebuffer(this._frameBuffer?.fbo)}get fboCache(){return this.view.stage.renderer.fboCache}get bindParameters(){return this.renderContext.bind}get renderingContext(){return this.view.stage.renderView.renderingContext}get renderContext(){return this.view.stage?.renderer.renderContext}updateAnimation(e){return!!this._dirty&&(this._dirty=!1,!0)}doRender(e){this._frameBuffer=e.find(({name:e})=>e===this.produces);try{return this.render(e)}finally{this._frameBuffer=null}}};(0,o.Cg)([(0,Ye.MZ)({constructOnly:!0})],Ke.prototype,"view",void 0),(0,o.Cg)([(0,Ye.MZ)({constructOnly:!0})],Ke.prototype,"consumes",void 0),(0,o.Cg)([(0,Ye.MZ)()],Ke.prototype,"produces",void 0),(0,o.Cg)([(0,Ye.MZ)({readOnly:!0})],Ke.prototype,"techniques",null),Ke=(0,o.Cg)([(0,Xe.$)("esri.views.3d.webgl.RenderNode")],Ke);var Je=r(13840),Qe=r(42958),et=r(95774),tt=r(90644);let rt=class extends Qe.w{constructor(){super(...arguments),this.shader=new Je.r(et.S,()=>r.e(9384).then(r.bind(r,59384)))}initializePipeline(){return(0,tt.Ey)({colorWrite:tt.kn})}};rt=(0,o.Cg)([(0,d.$K)("esri.views.3d.webgl-engine.effects.ssao.SSAOBlurTechnique")],rt);var it=r(65786);class nt extends it.Y{constructor(){super(...arguments),this.projScale=1}}class ot extends nt{constructor(){super(...arguments),this.intensity=1}}class at extends it.Y{}class st extends at{constructor(){super(...arguments),this.blurSize=(0,D.vt)()}}var lt=r(15581);let ct=class extends Qe.w{constructor(){super(...arguments),this.shader=new Je.r(lt.S,()=>r.e(191).then(r.bind(r,90191)))}initializePipeline(){return(0,tt.Ey)({colorWrite:tt.kn})}};ct=(0,o.Cg)([(0,d.$K)("esri.views.3d.webgl-engine.effects.ssao.SSAOTechnique")],ct);var dt=r(63907),ut=r(76284),ht=r(67171);let mt=class extends Ke{constructor(e){super(e),this.consumes={required:["normals"]},this.produces=$e,this.isEnabled=()=>!1,this._enableTime=(0,c.l5)(0),this._passParameters=new ot,this._drawParameters=new st}initialize(){const e=Uint8Array.from(atob("eXKEvZaUc66cjIKElE1jlJ6MjJ6Ufkl+jn2fcXp5jBx7c6KEflSGiXuXeW6OWs+tfqZ2Yot2Y7Zzfo2BhniEj3xoiXuXj4eGZpqEaHKDWjSMe7palFlzc3BziYOGlFVzg6Zzg7CUY5JrjFF7eYJ4jIKEcyyEonSXe7qUfqZ7j3xofqZ2c4R5lFZ5Y0WUbppoe1l2cIh2ezyUho+BcHN2cG6DbpqJhqp2e1GcezhrdldzjFGUcyxjc3aRjDyEc1h7Sl17c6aMjH92pb6Mjpd4dnqBjMOEhqZleIOBYzB7gYx+fnqGjJuEkWlwnCx7fGl+c4hjfGyRe5qMlNOMfnqGhIWHc6OMi4GDc6aMfqZuc6aMzqJzlKZ+lJ6Me3qRfoFue0WUhoR5UraEa6qMkXiPjMOMlJOGe7JrUqKMjK6MeYRzdod+Sl17boiPc6qEeYBlcIh2c1WEe7GDiWCDa0WMjEmMdod+Y0WcdntzhmN8WjyMjKJjiXtzgYxYaGd+a89zlEV7e2GJfnd+lF1rcK5zc4p5cHuBhL6EcXp5eYB7fnh8iX6HjIKEeaxuiYOGc66RfG2Ja5hzjlGMjEmMe9OEgXuPfHyGhPeEdl6JY02McGuMfnqGhFiMa3WJfnx2l4hwcG1uhmN8c0WMc39og1GBbrCEjE2EZY+JcIh2cIuGhIWHe0mEhIVrc09+gY5+eYBlnCyMhGCDl3drfmmMgX15aGd+gYx+fnuRfnhzY1SMsluJfnd+hm98WtNrcIuGh4SEj0qPdkqOjFF7jNNjdnqBgaqUjMt7boeBhnZ4jDR7c5pze4GGjEFrhLqMjHyMc0mUhKZze4WEa117kWlwbpqJjHZ2eX2Bc09zeId+e0V7WlF7jHJ2l72BfId8l3eBgXyBe897jGl7c66cgW+Xc76EjKNbgaSEjGx4fId8jFFjgZB8cG6DhlFziZhrcIh2fH6HgUqBgXiPY8dahGFzjEmMhEFre2dxhoBzc5SGfleGe6alc7aUeYBlhKqUdlp+cH5za4OEczxza0Gcc4J2jHZ5iXuXjH2Jh5yRjH2JcFx+hImBjH+MpddCl3dreZeJjIt8ZW18bm1zjoSEeIOBlF9oh3N7hlqBY4+UeYFwhLJjeYFwaGd+gUqBYxiEYot2fqZ2ondzhL6EYyiEY02Ea0VjgZB8doaGjHxoc66cjEGEiXuXiXWMiZhreHx8frGMe75rY02Ec5pzfnhzlEp4a3VzjM+EhFFza3mUY7Zza1V5e2iMfGyRcziEhDyEkXZ2Y4OBnCx7g5t2eyBjgV6EhEFrcIh2dod+c4Z+nJ5zjm15jEmUeYxijJp7nL6clIpjhoR5WrZraGd+fnuRa6pzlIiMg6ZzfHx5foh+eX1ufnB5eX1ufnB5aJt7UqKMjIh+e3aBfm5lbYSBhGFze6J4c39oc0mUc4Z+e0V7fKFVe0WEdoaGY02Ec4Z+Y02EZYWBfH6HgU1+gY5+hIWUgW+XjJ57ebWRhFVScHuBfJ6PhBx7WqJzlM+Ujpd4gHZziX6HjHmEgZN+lJt5boiPe2GJgX+GjIGJgHZzeaxufnB5hF2JtdN7jJ57hp57hK6ElFVzg6ZzbmiEbndzhIWHe3uJfoFue3qRhJd2j3xoc65zlE1jc3p8lE1jhniEgXJ7e657vZaUc3qBh52BhIF4aHKDa9drgY5+c52GWqZzbpqJe8tjnM+UhIeMfo2BfGl+hG1zSmmMjKJjZVaGgX15c1lze0mEp4OHa3mUhIWHhDyclJ6MeYOJkXiPc0VzhFiMlKaEboSJa5Jze41re3qRhn+HZYWBe0mEc4p5fnORbox5lEp4hGFjhGGEjJuEc1WEhLZjeHeGa7KlfHx2hLaMeX1ugY5+hIWHhKGPjMN7c1WEho1zhoBzZYx7fnhzlJt5exyUhFFziXtzfmmMa6qMYyiEiXxweV12kZSMeWqXSl17fnhzxmmMrVGEe1mcc4p5eHeGjK6MgY5+doaGa6pzlGV7g1qBh4KHkXiPeW6OaKqafqZ2eXZ5e1V7jGd7boSJc3BzhJd2e0mcYot2h1RoY8dahK6EQmWEWjx7e1l2lL6UgXyBdnR4eU9zc0VreX1umqaBhld7fo2Bc6KEc5Z+hDyEcIeBWtNrfHyGe5qMhMuMe5qMhEGEbVVupcNzg3aHhIF4boeBe0mEdlptc39ofFl5Y8uUlJOGiYt2UmGEcyxjjGx4jFF7a657ZYWBnElzhp57iXtrgZN+tfOEhIOBjE2HgU1+e8tjjKNbiWCDhE15gUqBgYN7fnqGc66ce9d7iYSBj0qPcG6DnGGcT3eGa6qMZY+JlIiMl4hwc3aRdnqBlGV7eHJ2hLZjfnuRhDyEeX6MSk17g6Z+c6aUjHmEhIF4gXyBc76EZW18fGl+fkl+jCxrhoVwhDyUhIqGlL2DlI6EhJd2tdN7eYORhEGMa2Faa6pzc3Bzc4R5lIRznM+UY9eMhDycc5Z+c4p5c4iGY117pb6MgXuPrbJafnx2eYOJeXZ5e657hDyEcziElKZjfoB5eHeGj4WRhGGEe6KGeX1utTStc76EhFGJnCyMa5hzfH6HnNeceYB7hmN8gYuMhIVrczSMgYF8h3N7c5pza5hzjJqEYIRdgYuMlL2DeYRzhGGEeX1uhLaEc4iGeZ1zdl6JhrVteX6Me2iMfm5lWqJzSpqEa6pzdnmchHx2c6OMhNdrhoR5g3aHczxzeW52gV6Ejm15frGMc0Vzc4Z+l3drfniJe+9rWq5rlF1rhGGEhoVwe9OEfoh+e7pac09+c3qBY0lrhDycdnp2lJ6MiYOGhGCDc3aRlL2DlJt5doaGdnp2gYF8gWeOjF2Uc4R5c5Z+jEmMe7KEc4mEeYJ4dmyBe0mcgXiPbqJ7eYB7fmGGiYSJjICGlF1reZ2PnElzbpqJfH6Hc39oe4WEc5eJhK6EhqyJc3qBgZB8c09+hEmEaHKDhFGJc5SGiXWMUpaEa89zc6OMnCyMiXtrho+Be5qMc7KEjJ57dmN+hKGPjICGbmiEe7prdod+hGCDdnmchBx7eX6MkXZ2hGGEa657hm98jFFjY5JreYOJgY2EjHZ2a295Y3FajJ6Mc1J+YzB7e4WBjF2Uc4R5eV12gYxzg1qBeId+c9OUc5pzjFFjgY5+hFiMlIaPhoR5lIpjjIKBlNdSe7KEeX2BfrGMhIqGc65zjE2UhK6EklZ+QmWEeziMWqZza3VzdnR4foh+gYF8n3iJiZhrnKp7gYF8eId+lJ6Me1lrcIuGjKJjhmN8c66MjFF7a6prjJ6UnJ5zezyUfruRWlF7nI5zfHyGe657h4SEe8tjhBx7jFFjc09+c39ojICMeZeJeXt+YzRzjHZ2c0WEcIeBeXZ5onSXkVR+gYJ+eYFwdldzgYF7eX2BjJ6UiXuXlE1jh4SEe1mchLJjc4Z+hqZ7eXZ5bm1zlL6Ue5p7iWeGhKqUY5pzjKJjcIeBe8t7gXyBYIRdlEp4a3mGnK6EfmmMZpqEfFl5gYxzjKZuhGFjhoKGhHx2fnx2eXuMe3aBiWeGvbKMe6KGa5hzYzB7gZOBlGV7hmN8hqZlYot2Y117a6pzc6KEfId8foB5rctrfneJfJ6PcHN2hFiMc5pzjH92c0VzgY2EcElzdmCBlFVzg1GBc65zY4OBboeBcHiBeYJ4ewxzfHx5lIRzlEmEnLKEbk1zfJ6PhmN8eYBljBiEnMOEiXxwezyUcIeBe76EdsKEeX2BdnR4jGWUrXWMjGd7fkl+j4WRlEGMa5Jzho+BhDyEfnqMeXt+g3aHlE1jczClhNN7ZW18eHx8hGFjZW18iXWMjKJjhH57gYuMcIuGWjyMe4ZtjJuExmmMj4WRdntzi4GDhFFzYIRdnGGcjJp7Y0F7e4WEkbCGiX57fnSHa657a6prhBCMe3Z+SmmMjH92eHJ2hK6EY1FzexhrvbKMnI5za4OEfnd+eXuMhImBe897hLaMjN+EfG+BeIOBhF1+eZeJi4GDkXZ2eXKEgZ6Ejpd4c2GHa1V5e5KUfqZuhCx7jKp7lLZrg11+hHx2hFWUoot2nI5zgbh5mo9zvZaUe3qRbqKMfqZ2kbCGhFiM"),e=>e.charCodeAt(0)),t=new ht.R(32);t.wrapMode=33071,t.pixelFormat=6407,t.wrapMode=10497,t.hasMipmap=!0,this._passParameters.noiseTexture=new ut.A(this.renderingContext,t,e),this.techniques.precompile(ct),this.techniques.precompile(rt),this.addHandles((0,l.wB)(()=>this.isEnabled(),()=>this._enableTime=(0,c.l5)(0)))}destroy(){this._passParameters.noiseTexture=(0,s.WD)(this._passParameters.noiseTexture)}render(e){const t=e.find(({name:e})=>"normals"===e),r=t?.getTexture(),i=t?.getTexture(dt.nI);if(!r||!i)return;const n=this.techniques.get(ct),o=this.techniques.get(rt);if(!n.compiled||!o.compiled)return this._enableTime=(0,c.l5)(performance.now()),void this.requestRender(1);0===this._enableTime&&(this._enableTime=(0,c.l5)(performance.now()));const s=this.renderingContext,l=this.view.qualitySettings.fadeDuration,d=this.bindParameters,h=d.camera,m=h.relativeElevation,p=(0,a.qE)((5e5-m)/2e5,0,1),f=l>0?Math.min(l,performance.now()-this._enableTime)/l:1,v=f*p;this._passParameters.normalTexture=r,this._passParameters.depthTexture=i,this._passParameters.projScale=1/h.computeScreenPixelSizeAtDist(1),this._passParameters.intensity=4*pt/(0,lt.g)(h)**6*v;const g=h.fullViewport[2],_=h.fullViewport[3],x=this.fboCache.acquire(g,_,"ssao input",2);s.bindFramebuffer(x.fbo),s.setViewport(0,0,g,_),s.bindTechnique(n,d,this._passParameters,this._drawParameters),s.screen.draw();const w=Math.round(g/2),b=Math.round(_/2),y=this.fboCache.acquire(w,b,"ssao blur",0);s.bindFramebuffer(y.fbo),this._drawParameters.colorTexture=x.getTexture(),(0,u.hZ)(this._drawParameters.blurSize,0,2/_),s.bindTechnique(o,d,this._passParameters,this._drawParameters),s.setViewport(0,0,w,b),s.screen.draw(),x.release();const M=this.fboCache.acquire(w,b,$e,0);return s.bindFramebuffer(M.fbo),s.setViewport(0,0,g,_),s.setClearColor(1,1,1,0),s.clear(16384),this._drawParameters.colorTexture=y.getTexture(),(0,u.hZ)(this._drawParameters.blurSize,2/g,0),s.bindTechnique(o,d,this._passParameters,this._drawParameters),s.setViewport(0,0,w,b),s.screen.draw(),s.setViewport4fv(h.fullViewport),y.release(),f<1&&this.requestRender(2),M}};(0,o.Cg)([(0,d.MZ)()],mt.prototype,"consumes",void 0),(0,o.Cg)([(0,d.MZ)()],mt.prototype,"produces",void 0),(0,o.Cg)([(0,d.MZ)({constructOnly:!0})],mt.prototype,"isEnabled",void 0),mt=(0,o.Cg)([(0,d.$K)("esri.views.3d.webgl-engine.effects.ssao.SSAO")],mt);const pt=.5;function ft(e,t){t.receiveAmbientOcclusion?(e.uniforms.add(new n.x("ssaoTex",e=>e.ssao?.getTexture())),e.constants.add("blurSizePixelsInverse","float",.5),e.code.add(i.H`float evaluateAmbientOcclusionInverse() {
12
+ vec2 ssaoTextureSizeInverse = 1.0 / vec2(textureSize(ssaoTex, 0));
13
+ return texture(ssaoTex, gl_FragCoord.xy * blurSizePixelsInverse * ssaoTextureSizeInverse).r;
14
+ }
15
+ float evaluateAmbientOcclusion() {
16
+ return 1.0 - evaluateAmbientOcclusionInverse();
17
+ }`)):e.code.add(i.H`float evaluateAmbientOcclusionInverse() { return 1.0; }
18
+ float evaluateAmbientOcclusion() { return 0.0; }`)}},15581(e,t,r){r.d(t,{S:()=>_,b:()=>f,g:()=>v});var i=r(37585),n=r(48163),o=r(82048),a=r(52540),s=r(34845),l=r(77108),c=r(47286),d=r(33094),u=r(20304),h=r(31821),m=r(63761),p=r(14113);function f(){const e=new p.N5,t=e.fragment;return e.include(o.c),e.include(s.Ir),t.include(a.E),t.uniforms.add(new d.U("radius",e=>v(e.camera))).code.add(h.H`vec3 sphere[16] = vec3[16](
19
+ vec3(0.186937, 0.0, 0.0),
20
+ vec3(0.700542, 0.0, 0.0),
21
+ vec3(-0.864858, -0.481795, -0.111713),
22
+ vec3(-0.624773, 0.102853, -0.730153),
23
+ vec3(-0.387172, 0.260319, 0.007229),
24
+ vec3(-0.222367, -0.642631, -0.707697),
25
+ vec3(-0.01336, -0.014956, 0.169662),
26
+ vec3(0.122575, 0.1544, -0.456944),
27
+ vec3(-0.177141, 0.85997, -0.42346),
28
+ vec3(-0.131631, 0.814545, 0.524355),
29
+ vec3(-0.779469, 0.007991, 0.624833),
30
+ vec3(0.308092, 0.209288,0.35969),
31
+ vec3(0.359331, -0.184533, -0.377458),
32
+ vec3(0.192633, -0.482999, -0.065284),
33
+ vec3(0.233538, 0.293706, -0.055139),
34
+ vec3(0.417709, -0.386701, 0.442449)
35
+ );
36
+ float fallOffFunction(float vv, float vn, float bias) {
37
+ float f = max(radius * radius - vv, 0.0);
38
+ return f * f * f * max(vn - bias, 0.0);
39
+ }`),t.code.add(h.H`float aoValueFromPositionsAndNormal(vec3 C, vec3 n_C, vec3 Q) {
40
+ vec3 v = Q - C;
41
+ float vv = dot(v, v);
42
+ float vn = dot(normalize(v), n_C);
43
+ return fallOffFunction(vv, vn, 0.1);
44
+ }`),e.outputs.add("fragOcclusion","float"),t.uniforms.add(new m.N("normalMap",e=>e.normalTexture),new m.N("depthMap",e=>e.depthTexture),new u.m("projScale",e=>e.projScale),new m.N("rnm",e=>e.noiseTexture),new c.G("rnmScale",(e,t)=>(0,i.hZ)(g,t.camera.fullWidth/e.noiseTexture.descriptor.width,t.camera.fullHeight/e.noiseTexture.descriptor.height)),new u.m("intensity",e=>e.intensity),new l.E("screenSize",e=>(0,i.hZ)(g,e.camera.fullWidth,e.camera.fullHeight))).main.add(h.H`
45
+ float depth = depthFromTexture(depthMap, uv);
46
+
47
+ // Early out if depth is out of range, such as in the sky
48
+ if (depth >= 1.0 || depth <= 0.0) {
49
+ fragOcclusion = 1.0;
50
+ return;
51
+ }
52
+
53
+ // get the normal of current fragment
54
+ ivec2 iuv = ivec2(uv * vec2(textureSize(normalMap, 0)));
55
+ vec4 norm4 = texelFetch(normalMap, iuv, 0);
56
+ if(norm4.a != 1.0) {
57
+ fragOcclusion = 1.0;
58
+ return;
59
+ }
60
+ vec3 norm = normalize(norm4.xyz * 2.0 - 1.0);
61
+
62
+ float currentPixelDepth = linearizeDepth(depth);
63
+ vec3 currentPixelPos = reconstructPosition(gl_FragCoord.xy, currentPixelDepth);
64
+
65
+ float sum = 0.0;
66
+ vec3 tapPixelPos;
67
+
68
+ vec3 fres = normalize(2.0 * texture(rnm, uv * rnmScale).xyz - 1.0);
69
+
70
+ // note: the factor 2.0 should not be necessary, but makes ssao much nicer.
71
+ // bug or deviation from CE somewhere else?
72
+ float ps = projScale / (2.0 * currentPixelPos.z * zScale.x + zScale.y);
73
+
74
+ for(int i = 0; i < ${h.H.int(16)}; ++i) {
75
+ vec2 unitOffset = reflect(sphere[i], fres).xy;
76
+ vec2 offset = vec2(-unitOffset * radius * ps);
77
+
78
+ // don't use current or very nearby samples
79
+ if( abs(offset.x) < 2.0 || abs(offset.y) < 2.0){
80
+ continue;
81
+ }
82
+
83
+ vec2 tc = vec2(gl_FragCoord.xy + offset);
84
+ if (tc.x < 0.0 || tc.y < 0.0 || tc.x > screenSize.x || tc.y > screenSize.y) continue;
85
+ vec2 tcTap = tc / screenSize;
86
+ float occluderFragmentDepth = linearDepthFromTexture(depthMap, tcTap);
87
+
88
+ tapPixelPos = reconstructPosition(tc, occluderFragmentDepth);
89
+
90
+ sum += aoValueFromPositionsAndNormal(currentPixelPos, norm, tapPixelPos);
91
+ }
92
+
93
+ // output the result
94
+ float A = max(1.0 - sum * intensity / float(${h.H.int(16)}), 0.0);
95
+
96
+ // Anti-tone map to reduce contrast and drag dark region farther: (x^0.2 + 1.2 * x^4) / 2.2
97
+ A = (pow(A, 0.2) + 1.2 * A * A * A * A) / 2.2;
98
+
99
+ fragOcclusion = A;
100
+ `),e}function v(e){return Math.max(10,20*e.computeScreenPixelSizeAtDist(Math.abs(4*e.relativeElevation)))}const g=(0,n.vt)(),_=Object.freeze(Object.defineProperty({__proto__:null,build:f,getRadius:v},Symbol.toStringTag,{value:"Module"}))},15976(e,t,r){r.d(t,{o:()=>n});var i=r(74333);class n extends i.n{constructor(e,t){super(e,"sampler2D",2,(r,i,n)=>r.bindTexture(e,t(i,n)))}}},16396(e,t,r){r.d(t,{ou:()=>l}),r(77690),r(29242),r(58083),r(9093);var i=r(35522),n=r(51850),o=r(94008),a=r(57005);const s=new class{constructor(e=0){this.offset=e,this.tmpVertex=(0,n.vt)(),this._tmpSphere=new o.iy}applyToVertex(e,t,r){const n=this.objectTransform.transform,o=(0,i.hZ)(c,e,t,r),a=(0,i.Z0)(o,o,n),s=this.offset/(0,i.Bw)(a);(0,i.Ln)(a,a,a,s);const l=this.objectTransform.inverse;return(0,i.Z0)(this.tmpVertex,a,l),this.tmpVertex}applyToMinMax(e,t){const r=this.offset/(0,i.Bw)(e);(0,i.Ln)(e,e,e,r);const n=this.offset/(0,i.Bw)(t);(0,i.Ln)(t,t,t,n)}applyToAabb(e){const t=this.offset/Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]);e[0]+=e[0]*t,e[1]+=e[1]*t,e[2]+=e[2]*t;const r=this.offset/Math.sqrt(e[3]*e[3]+e[4]*e[4]+e[5]*e[5]);return e[3]+=e[3]*r,e[4]+=e[4]*r,e[5]+=e[5]*r,e}applyToBoundingSphere(e){const t=e.center,r=(0,i.Bw)(t),n=this.offset/r;return(0,i.Ln)(this._tmpSphere.center,t,t,n),this._tmpSphere.radius=e.radius+e.radius*this.offset/r,this._tmpSphere}};function l(e){return null!=e?(s.offset=e,s):null}new class{constructor(e=0){this.componentLocalOriginLength=0,this._totalOffset=0,this._offset=0,this._tmpVertex=(0,n.vt)(),this._tmpMbs=new o.iy,this._tmpObb=new a.ab,this._resetOffset(e)}_resetOffset(e){this._offset=e,this._totalOffset=e}set offset(e){this._resetOffset(e)}get offset(){return this._offset}set componentOffset(e){this._totalOffset=this._offset+e}set localOrigin(e){this.componentLocalOriginLength=(0,i.Bw)(e)}applyToVertex(e,t,r){const n=(0,i.hZ)(c,e,t,r),o=(0,i.hZ)(d,e,t,r+this.componentLocalOriginLength),a=this._totalOffset/(0,i.Bw)(o);return(0,i.Ln)(this._tmpVertex,n,o,a),this._tmpVertex}applyToAabb(e){const t=this.componentLocalOriginLength,r=e[0],i=e[1],n=e[2]+t,o=e[3],a=e[4],s=e[5]+t,l=Math.abs(r),c=Math.abs(i),d=Math.abs(n),u=Math.abs(o),h=Math.abs(a),m=Math.abs(s),p=.5*(1+Math.sign(r*o))*Math.min(l,u),f=.5*(1+Math.sign(i*a))*Math.min(c,h),v=.5*(1+Math.sign(n*s))*Math.min(d,m),g=Math.max(l,u),_=Math.max(c,h),x=Math.max(d,m),w=Math.sqrt(p*p+f*f+v*v),b=Math.sign(l+r),y=Math.sign(c+i),M=Math.sign(d+n),T=Math.sign(u+o),C=Math.sign(h+a),S=Math.sign(m+s),E=this._totalOffset;if(w<E)return e[0]-=(1-b)*E,e[1]-=(1-y)*E,e[2]-=(1-M)*E,e[3]+=T*E,e[4]+=C*E,e[5]+=S*E,e;const A=E/Math.sqrt(g*g+_*_+x*x),I=E/w,R=I-A,O=-R;return e[0]+=r*(b*O+I),e[1]+=i*(y*O+I),e[2]+=n*(M*O+I),e[3]+=o*(T*R+A),e[4]+=a*(C*R+A),e[5]+=s*(S*R+A),e}applyToMbs(e){const t=e.center,r=(0,i.Bw)(t),n=this._totalOffset/r;return(0,i.Ln)(this._tmpMbs.center,t,t,n),this._tmpMbs.radius=e.radius+e.radius*this._totalOffset/r,this._tmpMbs}applyToObb(e){return(0,a.gm)(e,this._totalOffset,this._totalOffset,1,this._tmpObb),this._tmpObb}},new class{constructor(e=0){this.offset=e,this.tmpVertex=(0,n.vt)()}applyToVertex(e,t,r){const n=(0,i.hZ)(c,e,t,r),o=(0,i.WQ)(d,n,this.localOrigin),a=this.offset/(0,i.Bw)(o);return(0,i.Ln)(this.tmpVertex,n,o,a),this.tmpVertex}applyToAabb(e){const t=u,r=h,i=m;for(let n=0;n<3;++n)t[n]=e[0+n]+this.localOrigin[n],r[n]=e[3+n]+this.localOrigin[n],i[n]=t[n];const n=this.applyToVertex(t[0],t[1],t[2]);for(let t=0;t<3;++t)e[t]=n[t],e[t+3]=n[t];const o=t=>{const r=this.applyToVertex(t[0],t[1],t[2]);for(let t=0;t<3;++t)e[t]=Math.min(e[t],r[t]),e[t+3]=Math.max(e[t+3],r[t])};for(let e=1;e<8;++e){for(let n=0;n<3;++n)i[n]=e&1<<n?r[n]:t[n];o(i)}let a=0;for(let e=0;e<3;++e)t[e]*r[e]<0&&(a|=1<<e);if(0!==a&&7!==a)for(let e=0;e<8;++e)if(0===(a&e)){for(let n=0;n<3;++n)i[n]=a&1<<n?0:e&1<<n?t[n]:r[n];o(i)}for(let t=0;t<3;++t)e[t]-=this.localOrigin[t],e[t+3]-=this.localOrigin[t];return e}};const c=(0,n.vt)(),d=(0,n.vt)(),u=(0,n.vt)(),h=(0,n.vt)(),m=(0,n.vt)()},16943(e,t,r){r.d(t,{E:()=>n});var i=r(44208);function n(){return!!(0,i.A)("enable-feature:objectAndLayerId-rendering")}},20304(e,t,r){r.d(t,{m:()=>n});var i=r(74333);class n extends i.n{constructor(e,t,r){super(e,"float",1,(i,n,o)=>i.setUniform1f(e,t(n,o),r))}}},20693(e,t,r){r.d(t,{yu:()=>m,Nz:()=>_,NB:()=>p,S7:()=>g});var i=r(58083),n=r(9093),o=r(35522),a=r(51850),s=r(23205),l=r(40710),c=r(33094),d=r(58029),u=r(74333);class h extends u.n{constructor(e,t,r){super(e,"mat4",2,(i,n,o)=>i.setUniformMatrix4fv(e,t(n,o),r))}}function m(e,t){t.instancedDoublePrecision?e.constants.add("cameraPosition","vec3",a.uY):e.uniforms.add(new l.W("cameraPosition",(e,t)=>(0,o.hZ)(v,t.camera.viewInverseTransposeMatrix[3]-e.origin[0],t.camera.viewInverseTransposeMatrix[7]-e.origin[1],t.camera.viewInverseTransposeMatrix[11]-e.origin[2])))}function p(e,t){if(!t.instancedDoublePrecision)return void e.uniforms.add(new d.F("proj",e=>e.camera.projectionMatrix),new h("view",(e,t)=>(0,i.Tl)(f,t.camera.viewMatrix,e.origin)),new l.W("localOrigin",e=>e.origin));const r=({camera:e})=>(0,o.hZ)(v,e.viewInverseTransposeMatrix[3],e.viewInverseTransposeMatrix[7],e.viewInverseTransposeMatrix[11]);e.uniforms.add(new d.F("proj",e=>e.camera.projectionMatrix),new d.F("view",e=>(0,i.Tl)(f,e.camera.viewMatrix,r(e))),new s.d("localOrigin",e=>r(e)))}const f=(0,n.vt)(),v=(0,a.vt)();function g(e){e.uniforms.add(new d.F("viewNormal",e=>e.camera.viewInverseTransposeMatrix))}function _(e){e.uniforms.add(new c.U("pixelRatio",e=>e.camera.pixelRatio/e.overlayStretch))}},22393(e,t,r){r.d(t,{c:()=>a});var i=r(31821);function n(e){e.code.add(i.H`vec3 evaluateDiffuseIlluminationHemisphere(vec3 ambientGround, vec3 ambientSky, float NdotNG) {
101
+ return ((1.0 - NdotNG) * ambientGround + (1.0 + NdotNG) * ambientSky) * 0.5;
102
+ }`),e.code.add(i.H`float integratedRadiance(float cosTheta2, float roughness) {
103
+ return (cosTheta2 - 1.0) / (cosTheta2 * (1.0 - roughness * roughness) - 1.0);
104
+ }`),e.code.add(i.H`vec3 evaluateSpecularIlluminationHemisphere(vec3 ambientGround, vec3 ambientSky, float RdotNG, float roughness) {
105
+ float cosTheta2 = 1.0 - RdotNG * RdotNG;
106
+ float intRadTheta = integratedRadiance(cosTheta2, roughness);
107
+ float ground = RdotNG < 0.0 ? 1.0 - intRadTheta : 1.0 + intRadTheta;
108
+ float sky = 2.0 - ground;
109
+ return (ground * ambientGround + sky * ambientSky) * 0.5;
110
+ }`)}var o=r(89786);function a(e,t){e.include(o.p),1!==t.pbrMode&&2!==t.pbrMode&&5!==t.pbrMode&&6!==t.pbrMode||(e.code.add(i.H`float normalDistribution(float NdotH, float roughness)
111
+ {
112
+ float a = NdotH * roughness;
113
+ float b = roughness / (1.0 - NdotH * NdotH + a * a);
114
+ return b * b * INV_PI;
115
+ }`),e.code.add(i.H`const vec4 c0 = vec4(-1.0, -0.0275, -0.572, 0.022);
116
+ const vec4 c1 = vec4( 1.0, 0.0425, 1.040, -0.040);
117
+ const vec2 c2 = vec2(-1.04, 1.04);
118
+ vec2 prefilteredDFGAnalytical(float roughness, float NdotV) {
119
+ vec4 r = roughness * c0 + c1;
120
+ float a004 = min(r.x * r.x, exp2(-9.28 * NdotV)) * r.x + r.y;
121
+ return c2 * a004 + r.zw;
122
+ }`)),1!==t.pbrMode&&2!==t.pbrMode||(e.include(n),e.code.add(i.H`struct PBRShadingInfo
123
+ {
124
+ float NdotV;
125
+ float LdotH;
126
+ float NdotNG;
127
+ float RdotNG;
128
+ float NdotAmbDir;
129
+ float NdotH_Horizon;
130
+ vec3 skyRadianceToSurface;
131
+ vec3 groundRadianceToSurface;
132
+ vec3 skyIrradianceToSurface;
133
+ vec3 groundIrradianceToSurface;
134
+ float averageAmbientRadiance;
135
+ float ssao;
136
+ vec3 albedoLinear;
137
+ vec3 f0;
138
+ vec3 f90;
139
+ vec3 diffuseColor;
140
+ float metalness;
141
+ float roughness;
142
+ };`),e.code.add(i.H`vec3 evaluateEnvironmentIllumination(PBRShadingInfo inputs) {
143
+ vec3 indirectDiffuse = evaluateDiffuseIlluminationHemisphere(inputs.groundIrradianceToSurface, inputs.skyIrradianceToSurface, inputs.NdotNG);
144
+ vec3 indirectSpecular = evaluateSpecularIlluminationHemisphere(inputs.groundRadianceToSurface, inputs.skyRadianceToSurface, inputs.RdotNG, inputs.roughness);
145
+ vec3 diffuseComponent = inputs.diffuseColor * indirectDiffuse * INV_PI;
146
+ vec2 dfg = prefilteredDFGAnalytical(inputs.roughness, inputs.NdotV);
147
+ vec3 specularColor = inputs.f0 * dfg.x + inputs.f90 * dfg.y;
148
+ vec3 specularComponent = specularColor * indirectSpecular;
149
+ return (diffuseComponent + specularComponent);
150
+ }`))}},22911(e,t,r){r.d(t,{NL:()=>m});var i=r(49255),n=r(99208),o=r(65261),a=r(40710),s=r(33079),l=r(28421),c=r(20304),d=r(31821),u=r(15976),h=r(63761);function m(e,t){if(!(0,i._o)(t.output))return;e.fragment.include(o.C);const{emissionSource:r,hasEmissiveTextureTransform:m,bindType:p}=t,f=3===r||4===r||5===r;f&&(e.include(n.r,t),e.fragment.uniforms.add(1===p?new h.N("texEmission",e=>e.textureEmissive):new u.o("texEmission",e=>e.textureEmissive)));const v=2===r||f;v&&e.fragment.uniforms.add(1===p?new s.t("emissiveBaseColor",e=>e.emissiveBaseColor):new a.W("emissiveBaseColor",e=>e.emissiveBaseColor));const g=0!==r;g&&7!==r&&6!==r&&4!==r&&5!==r&&e.fragment.uniforms.add(1===p?new c.m("emissiveStrength",e=>e.emissiveStrength??0):new l.J("emissiveStrength",e=>e.emissiveStrength??0));const _=7===r,x=5===r,w=1===r||6===r||_;e.fragment.code.add(d.H`
151
+ vec4 getEmissions(vec3 symbolColor) {
152
+ vec4 emissions = ${v?x?"emissiveSource == 0 ? vec4(emissiveBaseColor, 1.0): vec4(linearizeGamma(symbolColor), 1.0)":"vec4(emissiveBaseColor, 1.0)":w?_?"emissiveSource == 0 ? vec4(0.0): vec4(linearizeGamma(symbolColor), 1.0)":"vec4(linearizeGamma(symbolColor), 1.0)":"vec4(0.0)"};
153
+ ${(0,d.If)(f,`${(0,d.If)(x,`if(emissiveSource == 0) {\n vec4 emissiveFromTex = textureLookup(texEmission, ${m?"emissiveUV":"vuv0"});\n emissions *= vec4(linearizeGamma(emissiveFromTex.rgb), emissiveFromTex.a);\n }`,`vec4 emissiveFromTex = textureLookup(texEmission, ${m?"emissiveUV":"vuv0"});\n emissions *= vec4(linearizeGamma(emissiveFromTex.rgb), emissiveFromTex.a);`)}\n emissions.w = emissions.rgb == vec3(0.0) ? 0.0: emissions.w;`)}
154
+ ${(0,d.If)(g,`emissions.rgb *= emissiveStrength * ${d.H.float(1)};`)}
155
+ return emissions;
156
+ }
157
+ `)}},23205(e,t,r){r.d(t,{d:()=>n});var i=r(74333);class n extends i.n{constructor(e,t,r){super(e,"vec3",0,(i,n)=>i.setUniform3fv(e,t(n),r))}}},24321(e,t,r){r.d(t,{v:()=>o});var i=r(43519),n=r(31821);function o(e,t){t.instancedColor?(e.attributes.add("instanceColor","vec4"),e.vertex.include(i.WD),e.vertex.include(i.Y1),e.vertex.include(i.ML),e.vertex.code.add(n.H`
158
+ MaskedColor applyInstanceColor(MaskedColor color) {
159
+ return multiplyMaskedColors( color, createMaskedFromUInt8NaNColor(${"instanceColor"}));
160
+ }
161
+ `)):e.vertex.code.add(n.H`MaskedColor applyInstanceColor(MaskedColor color) {
162
+ return color;
163
+ }`)}},25634(e,t,r){r.d(t,{m8:()=>s,NV:()=>c});var i=r(97768),n=r(74887);class o{constructor(e){this._material=e.material,this._techniques=e.techniques,this._output=e.output}dispose(){}get _stippleTextures(){return this._techniques.context?.stippleTextures}get _markerTextures(){return this._techniques.context?.markerTextures}getTechnique(e,t){return this._techniques.get(e,this._material.getConfiguration(this._output,t))}ensureResources(e){return 2}}var a=r(65786);class s extends o{constructor(e){super(e),this._numLoading=0,this._disposed=!1,this._textures=e.textures,this.updateTexture(e.textureId),this._acquire(e.normalTextureId,e=>this._textureNormal=e),this._acquire(e.emissiveTextureId,e=>this._textureEmissive=e),this._acquire(e.occlusionTextureId,e=>this._textureOcclusion=e),this._acquire(e.metallicRoughnessTextureId,e=>this._textureMetallicRoughness=e)}dispose(){super.dispose(),this._texture=(0,i.Gz)(this._texture),this._textureNormal=(0,i.Gz)(this._textureNormal),this._textureEmissive=(0,i.Gz)(this._textureEmissive),this._textureOcclusion=(0,i.Gz)(this._textureOcclusion),this._textureMetallicRoughness=(0,i.Gz)(this._textureMetallicRoughness),this._disposed=!0}ensureResources(e){return 0===this._numLoading?2:1}get textureBindParameters(){return new c(this._texture?.texture??null,this._textureNormal?.texture??null,this._textureEmissive?.texture??null,this._textureOcclusion?.texture??null,this._textureMetallicRoughness?.texture??null)}updateTexture(e){null!=this._texture&&e===this._texture.id||(this._texture=(0,i.Gz)(this._texture),this._acquire(e,e=>this._texture=e))}_acquire(e,t){if(null==e)return void t(null);const r=this._textures.acquire(e);if((0,n.$X)(r))return++this._numLoading,void r.then(e=>{if(this._disposed)return(0,i.Gz)(e),void t(null);t(e)}).finally(()=>--this._numLoading);t(r)}}class l extends a.Y{constructor(e=null){super(),this.textureEmissive=e}}class c extends l{constructor(e,t,r,i,n,o,a){super(r),this.texture=e,this.textureNormal=t,this.textureOcclusion=i,this.textureMetallicRoughness=n,this.scale=o,this.normalTextureTransformMatrix=a}}},26425(e,t,r){r.d(t,{u:()=>o});var i=r(33094),n=r(31821);function o({code:e,uniforms:t},r){t.add(new i.U("dpDummy",()=>1)),e.add(n.H`vec3 dpAdd(vec3 hiA, vec3 loA, vec3 hiB, vec3 loB) {
164
+ vec3 hiD = hiA + hiB;
165
+ vec3 loD = loA + loB;
166
+ return dpDummy * hiD + loD;
167
+ }`)}},26857(e,t,r){r.d(t,{b:()=>s});var i=r(31635),n=r(69622),o=r(91429);let a=class extends n.A{constructor(){super(...arguments),this.SCENEVIEW_HITTEST_RETURN_INTERSECTOR=!1,this.DECONFLICTOR_SHOW_VISIBLE=!1,this.DECONFLICTOR_SHOW_INVISIBLE=!1,this.DECONFLICTOR_SHOW_GRID=!1,this.LABELS_SHOW_BORDER=!1,this.TEXT_SHOW_BASELINE=!1,this.TEXT_SHOW_BORDER=!1,this.OVERLAY_DRAW_DEBUG_TEXTURE=!1,this.OVERLAY_SHOW_CENTER=!1,this.SHOW_POI=!1,this.OCCLUSION_QUERY_DEBUG_PIXEL=!1,this.TESTS_DISABLE_OPTIMIZATIONS=!1,this.TESTS_DISABLE_FAST_UPDATES=!1,this.DRAW_MESH_GEOMETRY_NORMALS=!1,this.FEATURE_TILE_FETCH_SHOW_TILES=!1,this.FEATURE_TILE_TREE_SHOW_TILES=!1,this.TERRAIN_TILE_TREE_SHOW_TILES=!1,this.I3S_TREE_SHOW_TILES=!1,this.I3S_SHOW_MODIFICATIONS=!1,this.LOD_INSTANCE_RENDERER_DISABLE_UPDATES=!1,this.LOD_INSTANCE_RENDERER_COLORIZE_BY_LEVEL=!1,this.EDGES_SHOW_HIDDEN_TRANSPARENT_EDGES=!1,this.LINE_WIREFRAMES=!1,this.FLOW_GLOBAL_SCALE_THRESHOLD=null}};(0,i.Cg)([(0,o.MZ)()],a.prototype,"SCENEVIEW_HITTEST_RETURN_INTERSECTOR",void 0),(0,i.Cg)([(0,o.MZ)()],a.prototype,"DECONFLICTOR_SHOW_VISIBLE",void 0),(0,i.Cg)([(0,o.MZ)()],a.prototype,"DECONFLICTOR_SHOW_INVISIBLE",void 0),(0,i.Cg)([(0,o.MZ)()],a.prototype,"DECONFLICTOR_SHOW_GRID",void 0),(0,i.Cg)([(0,o.MZ)()],a.prototype,"LABELS_SHOW_BORDER",void 0),(0,i.Cg)([(0,o.MZ)()],a.prototype,"TEXT_SHOW_BASELINE",void 0),(0,i.Cg)([(0,o.MZ)()],a.prototype,"TEXT_SHOW_BORDER",void 0),(0,i.Cg)([(0,o.MZ)()],a.prototype,"OVERLAY_DRAW_DEBUG_TEXTURE",void 0),(0,i.Cg)([(0,o.MZ)()],a.prototype,"OVERLAY_SHOW_CENTER",void 0),(0,i.Cg)([(0,o.MZ)()],a.prototype,"SHOW_POI",void 0),(0,i.Cg)([(0,o.MZ)()],a.prototype,"OCCLUSION_QUERY_DEBUG_PIXEL",void 0),(0,i.Cg)([(0,o.MZ)()],a.prototype,"TESTS_DISABLE_OPTIMIZATIONS",void 0),(0,i.Cg)([(0,o.MZ)()],a.prototype,"TESTS_DISABLE_FAST_UPDATES",void 0),(0,i.Cg)([(0,o.MZ)()],a.prototype,"DRAW_MESH_GEOMETRY_NORMALS",void 0),(0,i.Cg)([(0,o.MZ)()],a.prototype,"FEATURE_TILE_FETCH_SHOW_TILES",void 0),(0,i.Cg)([(0,o.MZ)()],a.prototype,"FEATURE_TILE_TREE_SHOW_TILES",void 0),(0,i.Cg)([(0,o.MZ)()],a.prototype,"TERRAIN_TILE_TREE_SHOW_TILES",void 0),(0,i.Cg)([(0,o.MZ)()],a.prototype,"I3S_TREE_SHOW_TILES",void 0),(0,i.Cg)([(0,o.MZ)()],a.prototype,"I3S_SHOW_MODIFICATIONS",void 0),(0,i.Cg)([(0,o.MZ)()],a.prototype,"LOD_INSTANCE_RENDERER_DISABLE_UPDATES",void 0),(0,i.Cg)([(0,o.MZ)()],a.prototype,"LOD_INSTANCE_RENDERER_COLORIZE_BY_LEVEL",void 0),(0,i.Cg)([(0,o.MZ)()],a.prototype,"EDGES_SHOW_HIDDEN_TRANSPARENT_EDGES",void 0),(0,i.Cg)([(0,o.MZ)()],a.prototype,"LINE_WIREFRAMES",void 0),(0,i.Cg)([(0,o.MZ)()],a.prototype,"FLOW_GLOBAL_SCALE_THRESHOLD",void 0),a=(0,i.Cg)([(0,o.$K)("esri.views.3d.support.debugFlags")],a);const s=new a},27950(e,t,r){r.d(t,{N:()=>o});var i=r(63365),n=r(31821);function o(e){e.include(i.a),e.code.add(n.H`
168
+ vec3 mixExternalColor(vec3 internalColor, vec3 textureColor, vec3 externalColor, int mode) {
169
+ // workaround for artifacts in macOS using Intel Iris Pro
170
+ // see: https://devtopia.esri.com/WebGIS/arcgis-js-api/issues/10475
171
+ vec3 internalMixed = internalColor * textureColor;
172
+ vec3 allMixed = internalMixed * externalColor;
173
+
174
+ if (mode == ${n.H.int(1)}) {
175
+ return allMixed;
176
+ }
177
+ if (mode == ${n.H.int(2)}) {
178
+ return internalMixed;
179
+ }
180
+ if (mode == ${n.H.int(3)}) {
181
+ return externalColor;
182
+ }
183
+
184
+ // tint (or something invalid)
185
+ float vIn = rgb2v(internalMixed);
186
+ vec3 hsvTint = rgb2hsv(externalColor);
187
+ vec3 hsvOut = vec3(hsvTint.x, hsvTint.y, vIn * hsvTint.z);
188
+ return hsv2rgb(hsvOut);
189
+ }
190
+
191
+ float mixExternalOpacity(float internalOpacity, float textureOpacity, float externalOpacity, int mode) {
192
+ // workaround for artifacts in macOS using Intel Iris Pro
193
+ // see: https://devtopia.esri.com/WebGIS/arcgis-js-api/issues/10475
194
+ float internalMixed = internalOpacity * textureOpacity;
195
+ float allMixed = internalMixed * externalOpacity;
196
+
197
+ if (mode == ${n.H.int(2)}) {
198
+ return internalMixed;
199
+ }
200
+ if (mode == ${n.H.int(3)}) {
201
+ return externalOpacity;
202
+ }
203
+
204
+ // multiply or tint (or something invalid)
205
+ return allMixed;
206
+ }
207
+ `)}},27993(e,t,r){r.d(t,{F:()=>s});var i=r(91218),n=r(16930),o=r(9762),a=r(65806);function s(e,t,r,n){return!(null==t||null==n||e.length<2)&&((0,i.canProjectWithoutEngine)(t,n)?(0,o.projectBuffer)(e,t,0,r,n,0,1):(l.x=e[0],l.y=e[1],l.z=e[2],l.spatialReference=t,(0,a.g)(l,r,n)))}const l={x:0,y:0,z:0,hasZ:!0,hasM:!1,spatialReference:n.A.WGS84,type:"point"}},28421(e,t,r){r.d(t,{J:()=>n});var i=r(74333);class n extends i.n{constructor(e,t,r){super(e,"float",2,(i,n,o)=>i.setUniform1f(e,t(n,o),r))}}},28491(e,t,r){r.d(t,{D:()=>G,b:()=>U});var i=r(32680),n=r(49255),o=r(68317),a=r(76597),s=r(24321),l=r(72722),c=r(43519),d=r(96336),u=r(71955),h=r(53466),m=r(92700),p=r(72824),f=r(35640),v=r(40261),g=r(77695),_=r(14527),x=r(89390),w=r(98619),b=r(62602),y=r(22393),M=r(59469),T=r(32482),C=r(96598),S=r(51406),E=r(42398),A=r(58614),I=r(27950),R=r(20693),O=r(33079),F=r(71988),P=r(20304),D=r(31821),H=r(63761),N=r(10906),z=r(43616),L=r(51255),B=r(14113),V=r(49788);function U(e){const t=new B.N5,{attributes:r,vertex:U,fragment:G,varyings:j}=t,{output:W,normalType:k,offsetBackfaces:Z,spherical:$,snowCover:q,pbrMode:Y,textureAlphaPremultiplied:X,instancedDoublePrecision:K,hasVertexColors:J,hasVertexTangents:Q,hasColorTexture:ee,hasNormalTexture:te,hasNormalTextureTransform:re,hasColorTextureTransform:ie}=e;if((0,R.NB)(U,e),r.add("position","vec3"),j.add("vpos","vec3",{invariant:!0}),t.include(E.A,e),t.include(l.B,e),t.include(f.Ge,e),t.include(S.q2,e),!(0,n._o)(W))return t.include(v.E,e),t;t.include(S.Sx,e),t.include(S.MU,e),t.include(S.O1,e),t.include(S.QM,e),(0,R.yu)(U,e),t.include(d.Y,e),t.include(a.d);const ne=0===k||1===k;return ne&&Z&&t.include(i.M),t.include(g.J,e),t.include(p.Mh,e),t.include(s.v,e),j.add("vPositionLocal","vec3"),t.include(h.U,e),t.include(u.K,e),t.include(m.c,e),U.uniforms.add(new F.E("externalColor",e=>e.externalColor,{supportsNaN:!0})),j.add("vcolorExt","vec4"),t.include(C.Z,e),U.include(c.WD),U.include(c.oF),t.include(K?T.G:T.Bz,e),U.main.add(D.H`
208
+ forwardNormalizedVertexColor();
209
+
210
+ MaskedColor maskedColor =
211
+ applySymbolColor(applyVVColor(applyInstanceColor(createMaskedFromNaNColor(externalColor))));
212
+
213
+ vcolorExt = maskedColor.color;
214
+ forwardColorMixMode(maskedColor.mask);
215
+
216
+ vpos = getVertexInLocalOriginSpace();
217
+ vPositionLocal = vpos - view[3].xyz;
218
+ vpos = subtractOrigin(vpos);
219
+ ${(0,D.If)(ne,"vNormalWorld = dpNormal(vvLocalNormal(normalModel()));")}
220
+ vpos = addVerticalOffset(vpos, localOrigin);
221
+ ${(0,D.If)(Q,"vTangent = dpTransformVertexTangent(tangent);")}
222
+ gl_Position = transformPosition(proj, view, vpos);
223
+ ${(0,D.If)(ne&&Z,"gl_Position = offsetBackfacingClipPosition(gl_Position, vpos, vNormalWorld, cameraPosition);")}
224
+
225
+ forwardViewPosDepth((view * vec4(vpos, 1.0)).xyz);
226
+ forwardTextureCoordinates();
227
+ forwardColorUV();
228
+ forwardNormalUV();
229
+ forwardEmissiveUV();
230
+ forwardOcclusionUV();
231
+ forwardMetallicRoughnessUV();
232
+
233
+ if (opacityMixMode != ${D.H.int(z.Um.ignore)} && vcolorExt.a < ${D.H.float(V.Q)}) {
234
+ gl_Position = vec4(1e38, 1e38, 1e38, 1.0);
235
+ }
236
+ forwardLinearDepthToReadShadowMap();
237
+ `),G.include(x.kA,e),G.include(_.n,e),t.include(A.S,e),G.include(o.HQ,e),t.include(L.D,e),(0,R.yu)(G,e),G.uniforms.add(U.uniforms.get("localOrigin"),new O.t("ambient",e=>e.ambient),new O.t("diffuse",e=>e.diffuse),new P.m("opacity",e=>e.opacity),new P.m("layerOpacity",e=>e.layerOpacity)),ee&&G.uniforms.add(new H.N("tex",e=>e.texture)),t.include(M._,e),G.include(y.c,e),G.include(I.N),t.include(b.r,e),G.include(N.b,e),(0,x.a8)(G),(0,x.eU)(G),(0,w.O4)(G),G.main.add(D.H`
238
+ discardBySlice(vpos);
239
+ discardByTerrainDepth();
240
+ ${ee?D.H`
241
+ vec4 texColor = texture(tex, ${ie?"colorUV":"vuv0"});
242
+ ${(0,D.If)(X,"texColor.rgb /= texColor.a;")}
243
+ discardOrAdjustAlpha(texColor);`:D.H`vec4 texColor = vec4(1.0);`}
244
+ shadingParams.viewDirection = normalize(vpos - cameraPosition);
245
+ ${2===k?D.H`vec3 normal = screenDerivativeNormal(vPositionLocal);`:D.H`shadingParams.normalView = vNormalWorld;
246
+ vec3 normal = shadingNormal(shadingParams);`}
247
+ applyPBRFactors();
248
+ float ssao = evaluateAmbientOcclusionInverse() * getBakedOcclusion();
249
+
250
+ vec3 posWorld = vpos + localOrigin;
251
+
252
+ float additionalAmbientScale = additionalDirectedAmbientLight(posWorld);
253
+ float shadow = readShadow(additionalAmbientScale, vpos);
254
+
255
+ vec3 matColor = max(ambient, diffuse);
256
+ vec3 albedo = mixExternalColor(${(0,D.If)(J,"vColor.rgb *")} matColor, texColor.rgb, vcolorExt.rgb, colorMixMode);
257
+ float opacity_ = layerOpacity * mixExternalOpacity(${(0,D.If)(J,"vColor.a * ")} opacity, texColor.a, vcolorExt.a, opacityMixMode);
258
+
259
+ ${te?`mat3 tangentSpace = computeTangentSpace(${Q?"normal":"normal, vpos, vuv0"});\n vec3 shadingNormal = computeTextureNormal(tangentSpace, ${re?"normalUV":"vuv0"});`:"vec3 shadingNormal = normal;"}
260
+ vec3 normalGround = ${$?"normalize(posWorld);":"vec3(0.0, 0.0, 1.0);"}
261
+
262
+ ${(0,D.If)(q,D.H`
263
+ float snow = getSnow(normal, normalGround);
264
+ albedo = mix(albedo, vec3(1), snow);
265
+ shadingNormal = mix(shadingNormal, normal, snow);
266
+ ssao = mix(ssao, 1.0, snow);`)}
267
+
268
+ vec3 additionalLight = ssao * mainLightIntensity * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor;
269
+
270
+ ${1===Y||2===Y?D.H`
271
+ float additionalAmbientIrradiance = additionalAmbientIrradianceFactor * mainLightIntensity[2];
272
+ ${(0,D.If)(q,"mrr = applySnowToMRR(mrr, snow);")}
273
+ vec3 shadedColor = evaluateSceneLightingPBR(shadingNormal, albedo, shadow, 1.0 - ssao, additionalLight, shadingParams.viewDirection, normalGround, mrr, additionalAmbientIrradiance);`:D.H`vec3 shadedColor = evaluateSceneLighting(shadingNormal, albedo, shadow, 1.0 - ssao, additionalLight);`}
274
+ vec4 finalColor = vec4(shadedColor, opacity_);
275
+ outputColorHighlightOLID(finalColor, vpos, albedo ${(0,D.If)(q,", snow")});
276
+ `),t}const G=Object.freeze(Object.defineProperty({__proto__:null,build:U},Symbol.toStringTag,{value:"Module"}))},29920(e,t,r){r.d(t,{j:()=>s});var i=r(15142),n=r(35522),o=r(51850),a=r(620);class s{get center(){return(0,o.fA)(this._data[0],this._data[1],this._data[2])}get radius(){return this._data[3]}get bbMin(){return(0,o.fA)(this._data[4],this._data[5],this._data[6])}get bbMax(){return(0,o.fA)(this._data[7],this._data[8],this._data[9])}constructor(e,t,r){this.primitiveIndices=e,this._numIndexPerPrimitive=t,this.position=r,this._data=[.1,0,0,0,0,0,0,0,0,0],this._children=void 0,(0,a.vA)(e.length>=1),(0,a.vA)(3===r.size||4===r.size);const{data:i,size:s,indices:c}=r;(0,a.vA)(c.length%this._numIndexPerPrimitive===0),(0,a.vA)(c.length>=e.length*this._numIndexPerPrimitive);const d=e.length;let u=s*c[this._numIndexPerPrimitive*e[0]];l.clear(),l.push(u);const h=(0,o.fA)(i[u],i[u+1],i[u+2]),m=(0,o.o8)(h);for(let t=0;t<d;++t){const r=this._numIndexPerPrimitive*e[t];for(let e=0;e<this._numIndexPerPrimitive;++e){u=s*c[r+e],l.push(u);let t=i[u];h[0]=Math.min(t,h[0]),m[0]=Math.max(t,m[0]),t=i[u+1],h[1]=Math.min(t,h[1]),m[1]=Math.max(t,m[1]),t=i[u+2],h[2]=Math.min(t,h[2]),m[2]=Math.max(t,m[2])}}for(let e=0;e<3;++e)this._data[4+e]=h[e],this._data[7+e]=m[e];const p=(0,n.Cc)((0,o.vt)(),this.bbMin,this.bbMax,.5);let f=.5*Math.max(Math.max(m[0]-h[0],m[1]-h[1]),m[2]-h[2]),v=f*f;for(let e=0;e<l.length;++e){u=l.at(e);const t=i[u]-p[0],r=i[u+1]-p[1],n=i[u+2]-p[2],o=t*t+r*r+n*n;if(o<=v)continue;const a=Math.sqrt(o),s=.5*(a-f);f+=s,v=f*f;const c=s/a;p[0]+=t*c,p[1]+=r*c,p[2]+=n*c}this._data[3]=f;for(let e=0;e<3;++e)this._data[0+e]=p[e];l.clear()}getChildren(){if(this._children||(0,n.hG)(this.bbMin,this.bbMax)<=1)return this._children;const e=(0,n.Cc)((0,o.vt)(),this.bbMin,this.bbMax,.5),t=this.primitiveIndices.length,r=new Uint8Array(t),i=new Array(8);for(let e=0;e<8;++e)i[e]=0;const{data:a,size:l,indices:c}=this.position;for(let n=0;n<t;++n){let t=0;const o=this._numIndexPerPrimitive*this.primitiveIndices[n];let s=l*c[o],d=a[s],u=a[s+1],h=a[s+2];for(let e=1;e<this._numIndexPerPrimitive;++e){s=l*c[o+e];const t=a[s],r=a[s+1],i=a[s+2];t<d&&(d=t),r<u&&(u=r),i<h&&(h=i)}d<e[0]&&(t|=1),u<e[1]&&(t|=2),h<e[2]&&(t|=4),r[n]=t,++i[t]}let d=0;for(let e=0;e<8;++e)i[e]>0&&++d;if(d<2)return;const u=new Array(8);for(let e=0;e<8;++e)u[e]=i[e]>0?new Uint32Array(i[e]):void 0;for(let e=0;e<8;++e)i[e]=0;for(let e=0;e<t;++e){const t=r[e];u[t][i[t]++]=this.primitiveIndices[e]}this._children=new Array;for(let e=0;e<8;++e)void 0!==u[e]&&this._children.push(new s(u[e],this._numIndexPerPrimitive,this.position));return this._children}static prune(){l.prune()}}const l=new i.A({deallocator:null})},31217(e,t,r){r.d(t,{D:()=>n});var i=r(11254);async function n(e,t){return(await(0,i.A)(e,{responseType:"image",...t})).data}},31821(e,t,r){r.d(t,{H:()=>i,If:()=>n});const i=(e,...t)=>{let r="";for(let i=0;i<t.length;i++)r+=e[i]+t[i];return r+=e[e.length-1],r};function n(e,t,r=""){return e?t:r}i.int=e=>Math.round(e).toString(),i.float=e=>e.toPrecision(8)},32482(e,t,r){r.d(t,{Bz:()=>w,G:()=>x}),r(51850);var i=r(46686),n=r(49255),o=r(31821);function a(e,t){const r=(0,n._o)(t.output)&&t.receiveShadows;r&&(0,i.o)(e,!0),e.vertex.code.add(o.H`
277
+ void forwardLinearDepthToReadShadowMap() { ${(0,o.If)(r,"forwardLinearDepth(gl_Position.w);")} }
278
+ `)}var s=r(14314),l=r(35818),c=r(74333);class d extends c.n{constructor(e,t,r,i){super(e,"mat4",2,(r,n,o,a)=>r.setUniformMatrices4fv(e,t(n,o,a),i),r)}}class u extends c.n{constructor(e,t,r,i){super(e,"mat4",1,(r,n,o)=>r.setUniformMatrices4fv(e,t(n,o),i),r)}}var h=r(65786);function m(e){e.fragment.uniforms.add(new u("shadowMapMatrix",(e,t)=>t.shadowMap.getShadowMapMatrices(e.origin),4)),f(e)}function p(e){e.fragment.uniforms.add(new d("shadowMapMatrix",(e,t)=>t.shadowMap.getShadowMapMatrices(e.origin),4)),f(e)}function f(e){const{fragment:t}=e;t.uniforms.add(new s.I("cascadeDistances",e=>e.shadowMap.cascadeDistances),new l.W("numCascades",e=>e.shadowMap.numCascades)),t.code.add(o.H`const vec3 invalidShadowmapUVZ = vec3(0.0, 0.0, -1.0);
279
+ vec3 lightSpacePosition(vec3 _vpos, mat4 mat) {
280
+ vec4 lv = mat * vec4(_vpos, 1.0);
281
+ lv.xy /= lv.w;
282
+ return 0.5 * lv.xyz + vec3(0.5);
283
+ }
284
+ vec2 cascadeCoordinates(int i, ivec2 textureSize, vec3 lvpos) {
285
+ float xScale = float(textureSize.y) / float(textureSize.x);
286
+ return vec2((float(i) + lvpos.x) * xScale, lvpos.y);
287
+ }
288
+ vec3 calculateUVZShadow(in vec3 _worldPos, in float _linearDepth, in ivec2 shadowMapSize) {
289
+ int i = _linearDepth < cascadeDistances[1] ? 0 : _linearDepth < cascadeDistances[2] ? 1 : _linearDepth < cascadeDistances[3] ? 2 : 3;
290
+ if (i >= numCascades) {
291
+ return invalidShadowmapUVZ;
292
+ }
293
+ mat4 shadowMatrix = i == 0 ? shadowMapMatrix[0] : i == 1 ? shadowMapMatrix[1] : i == 2 ? shadowMapMatrix[2] : shadowMapMatrix[3];
294
+ vec3 lvpos = lightSpacePosition(_worldPos, shadowMatrix);
295
+ if (lvpos.z >= 1.0 || lvpos.x < 0.0 || lvpos.x > 1.0 || lvpos.y < 0.0 || lvpos.y > 1.0) {
296
+ return invalidShadowmapUVZ;
297
+ }
298
+ vec2 uvShadow = cascadeCoordinates(i, shadowMapSize, lvpos);
299
+ return vec3(uvShadow, lvpos.z);
300
+ }`)}function v(e){e.fragment.code.add(o.H`float readShadowMapUVZ(vec3 uvzShadow, sampler2DShadow _shadowMap) {
301
+ return texture(_shadowMap, uvzShadow);
302
+ }`)}h.Y;var g=r(33094);class _ extends c.n{constructor(e,t){super(e,"sampler2DShadow",0,(r,i)=>r.bindTexture(e,t(i)))}}function x(e,t){t.receiveShadows&&e.include(m),b(e,t)}function w(e,t){t.receiveShadows&&e.include(p),b(e,t)}function b(e,t){e.fragment.uniforms.add(new g.U("lightingGlobalFactor",e=>e.lighting.globalFactor));const{receiveShadows:r,spherical:i}=t;e.include(a,t),r&&y(e),e.fragment.code.add(o.H`
303
+ float readShadow(float additionalAmbientScale, vec3 vpos) {
304
+ return ${r?"max(lightingGlobalFactor * (1.0 - additionalAmbientScale), readShadowMap(vpos, linearDepth))":(0,o.If)(i,"lightingGlobalFactor * (1.0 - additionalAmbientScale)","0.0")};
305
+ }
306
+ `)}function y(e){e.include(v),e.fragment.uniforms.add(new _("shadowMap",({shadowMap:e})=>e.depthTexture)).code.add(o.H`float readShadowMap(const in vec3 _worldPos, float _linearDepth) {
307
+ vec3 uvzShadow = calculateUVZShadow(_worldPos, _linearDepth, textureSize(shadowMap,0));
308
+ if (uvzShadow.z < 0.0) {
309
+ return 0.0;
310
+ }
311
+ return readShadowMapUVZ(uvzShadow, shadowMap);
312
+ }`)}h.Y},32680(e,t,r){r.d(t,{M:()=>n});var i=r(31821);function n(e){e.vertex.code.add(i.H`vec4 offsetBackfacingClipPosition(vec4 posClip, vec3 posWorld, vec3 normalWorld, vec3 camPosWorld) {
313
+ vec3 camToVert = posWorld - camPosWorld;
314
+ bool isBackface = dot(camToVert, normalWorld) > 0.0;
315
+ if (isBackface) {
316
+ posClip.z += 0.0000003 * posClip.w;
317
+ }
318
+ return posClip;
319
+ }`)}},32976(e,t,r){r.d(t,{o:()=>n});var i=r(74333);class n extends i.n{constructor(e,t){super(e,"bool",0,(r,i)=>r.setUniform1b(e,t(i)))}}},33079(e,t,r){r.d(t,{t:()=>n});var i=r(74333);class n extends i.n{constructor(e,t,r){super(e,"vec3",1,(i,n,o)=>i.setUniform3fv(e,t(n,o),r))}}},33094(e,t,r){r.d(t,{U:()=>n});var i=r(74333);class n extends i.n{constructor(e,t,r){super(e,"float",0,(i,n)=>i.setUniform1f(e,t(n),r))}}},33120(e,t,r){r.d(t,{i$:()=>a,xJ:()=>o}),r(46686),r(33752);var i=r(77108),n=r(31821);function o(e){e.vertex.uniforms.add(new i.E("nearFar",e=>e.camera.nearFar))}function a(e){e.vertex.code.add(n.H`float calculateLinearDepth(vec2 nearFar,float z) {
320
+ return (-z - nearFar[0]) / (nearFar[1] - nearFar[0]);
321
+ }`)}},33524(e,t,r){r.d(t,{Sv:()=>u,Yf:()=>a,mE:()=>d,mt:()=>l,z5:()=>s});var i=r(63907),n=r(90644);const o=(0,n.p3)(1,0,1,771);function a(e,t=!1){switch(e){case 0:return t?n.RC:n.T8;case 1:return o;case 2:case 3:return null}}function s(e){if(e.draped)return null;switch(e.oitPass){case 0:case 2:return e.writeDepth?n.Uy:null;case 1:case 3:return null}}function l(e,t=513){return{func:0===e||2===e?t:515}}const c={factor:-1,units:-2};function d({oitPass:e,enableOffset:t}){return t&&1===e?c:null}function u(e,t){return 1===e?t?{buffers:[i.r6,i.yI,i.Fq]}:{buffers:[i.r6,i.yI]}:t?{buffers:[i.r6,i.yI]}:null}},33752(e,t,r){r.d(t,{EM:()=>s,dO:()=>a});var i=r(29242),n=r(51850),o=(r(26425),r(40710),r(33079),r(31821),r(98353),r(35644),r(58029),r(65786));class a extends o.Y{constructor(){super(...arguments),this.transformWorldFromViewTH=(0,n.vt)(),this.transformWorldFromViewTL=(0,n.vt)(),this.transformViewFromCameraRelativeRS=(0,i.vt)()}}class s extends o.Y{constructor(){super(...arguments),this.transformWorldFromModelRS=(0,i.vt)(),this.transformWorldFromModelTH=(0,n.vt)(),this.transformWorldFromModelTL=(0,n.vt)()}}},34845(e,t,r){r.d(t,{Ir:()=>d});var i=r(37585),n=r(48163),o=r(78955),a=r(91829),s=r(77108),l=r(14314),c=r(31821);function d(e){e.fragment.uniforms.add(new l.I("projInfo",e=>function(e){const t=e.projectionMatrix;return 0===t[11]?(0,o.hZ)(u,2/(e.fullWidth*t[0]),2/(e.fullHeight*t[5]),(1+t[12])/t[0],(1+t[13])/t[5]):(0,o.hZ)(u,-2/(e.fullWidth*t[0]),-2/(e.fullHeight*t[5]),(1-t[8])/t[0],(1-t[9])/t[5])}(e.camera))),e.fragment.uniforms.add(new s.E("zScale",e=>0===e.camera.projectionMatrix[11]?(0,i.hZ)(h,0,1):(0,i.hZ)(h,1,0))),e.fragment.code.add(c.H`vec3 reconstructPosition(vec2 fragCoord, float depth) {
322
+ return vec3((fragCoord * projInfo.xy + projInfo.zw) * (zScale.x * depth + zScale.y), depth);
323
+ }`)}const u=(0,a.vt)(),h=(0,n.vt)()},35640(e,t,r){r.d(t,{Ge:()=>c,VQ:()=>u});var i=r(78955),n=r(91829),o=r(52587),a=r(20693),s=r(71988),l=r(31821);function c(e,t){const r=e.vertex;t.hasVerticalOffset?(u(r),t.hasScreenSizePerspective&&(e.include(o.Y6),(0,o.OH)(r),(0,a.yu)(e.vertex,t)),r.code.add(l.H`
324
+ vec3 calculateVerticalOffset(vec3 worldPos, vec3 localOrigin) {
325
+ float viewDistance = length((view * vec4(worldPos, 1.0)).xyz);
326
+ ${t.spherical?l.H`vec3 worldNormal = normalize(worldPos + localOrigin);`:l.H`vec3 worldNormal = vec3(0.0, 0.0, 1.0);`}
327
+ ${t.hasScreenSizePerspective?l.H`
328
+ float cosAngle = dot(worldNormal, normalize(worldPos - cameraPosition));
329
+ float verticalOffsetScreenHeight = screenSizePerspectiveScaleFloat(verticalOffset.x, abs(cosAngle), viewDistance, screenSizePerspectiveAlignment);`:l.H`
330
+ float verticalOffsetScreenHeight = verticalOffset.x;`}
331
+ // Screen sized offset in world space, used for example for line callouts
332
+ float worldOffset = clamp(verticalOffsetScreenHeight * verticalOffset.y * viewDistance, verticalOffset.z, verticalOffset.w);
333
+ return worldNormal * worldOffset;
334
+ }
335
+
336
+ vec3 addVerticalOffset(vec3 worldPos, vec3 localOrigin) {
337
+ return worldPos + calculateVerticalOffset(worldPos, localOrigin);
338
+ }
339
+ `)):r.code.add(l.H`vec3 addVerticalOffset(vec3 worldPos, vec3 localOrigin) { return worldPos; }`)}const d=(0,n.vt)();function u(e){e.uniforms.add(new s.E("verticalOffset",(e,t)=>{const{minWorldLength:r,maxWorldLength:n,screenLength:o}=e.verticalOffset,a=Math.tan(.5*t.camera.fovY)/(.5*t.camera.fullViewport[3]),s=t.camera.pixelRatio||1;return(0,i.hZ)(d,o*s,a,r,n)}))}},35644(e,t,r){r.d(t,{k:()=>n});var i=r(74333);class n extends i.n{constructor(e,t,r){super(e,"mat3",1,(i,n,o)=>i.setUniformMatrix3fv(e,t(n,o),r))}}},35818(e,t,r){r.d(t,{W:()=>n});var i=r(74333);class n extends i.n{constructor(e,t){super(e,"int",0,(r,i)=>r.setUniform1i(e,t(i)))}}},36782(e,t,r){r.d(t,{g:()=>n});var i=r(31821);function n(e,t){if(9!==t.output)return e.vertex.code.add(i.H`void forwardObjectAndLayerIdColor() {}`),void e.fragment.code.add(i.H`void outputObjectAndLayerIdColor() {}`);const r=t.instanced;e.varyings.add("objectAndLayerIdColorVarying","vec4");const n=r?"instanceOlidColor":"olidColor";e.attributes.add(n,"vec4"),e.vertex.code.add(i.H`
340
+ void forwardObjectAndLayerIdColor() {
341
+ objectAndLayerIdColorVarying = ${n} * 0.003921568627451;
342
+ }`),e.fragment.code.add(i.H`void outputObjectAndLayerIdColor() {
343
+ fragColor = objectAndLayerIdColorVarying;
344
+ }`)}},38969(e,t,r){r.d(t,{i:()=>n});var i=r(37955);function n(e,t){return new Promise((r,n)=>{e.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA?r():(t((0,i.Oo)(e,"canplay",r)),t((0,i.Oo)(e,"error",n)))})}},40261(e,t,r){r.d(t,{E:()=>g});var i=r(33120),n=r(68317),o=r(76597),a=r(96336),s=r(36782),l=r(53466),c=r(72824),d=r(31821);function u(e,t){switch(t.output){case 3:case 4:case 5:case 6:e.fragment.code.add(d.H`float _calculateFragDepth(const in float depth) {
345
+ const float SLOPE_SCALE = 2.0;
346
+ const float BIAS = 20.0 * .000015259;
347
+ float m = max(abs(dFdx(depth)), abs(dFdy(depth)));
348
+ return depth + SLOPE_SCALE * m + BIAS;
349
+ }
350
+ void outputDepth(float _linearDepth){
351
+ float fragDepth = _calculateFragDepth(_linearDepth);
352
+ gl_FragDepth = fragDepth;
353
+ }`);break;case 7:e.fragment.code.add(d.H`void outputDepth(float _linearDepth){
354
+ gl_FragDepth = _linearDepth;
355
+ }`)}}var h=r(42593),m=r(42398),p=r(58614),f=r(20693),v=r(63761);function g(e,t){const{vertex:r,fragment:g,varyings:_}=e,{hasColorTexture:x,alphaDiscardMode:w}=t,b=x&&1!==w,{output:y,normalType:M,hasColorTextureTransform:T}=t;switch(y){case 1:(0,f.NB)(r,t),e.include(o.d),g.include(n.HQ,t),e.include(l.U,t),b&&g.uniforms.add(new v.N("tex",e=>e.texture)),r.main.add(d.H`vpos = getVertexInLocalOriginSpace();
356
+ vpos = subtractOrigin(vpos);
357
+ vpos = addVerticalOffset(vpos, localOrigin);
358
+ gl_Position = transformPosition(proj, view, vpos);
359
+ forwardTextureCoordinates();`),e.include(p.S,t),g.main.add(d.H`
360
+ discardBySlice(vpos);
361
+ ${(0,d.If)(b,d.H`vec4 texColor = texture(tex, ${T?"colorUV":"vuv0"});
362
+ discardOrAdjustAlpha(texColor);`)}`);break;case 3:case 4:case 5:case 6:case 9:(0,f.NB)(r,t),e.include(o.d),e.include(l.U,t),e.include(m.A,t),e.include(u,t),g.include(n.HQ,t),e.include(s.g,t),(0,i.xJ)(e),_.add("depth","float",{invariant:!0}),b&&g.uniforms.add(new v.N("tex",e=>e.texture)),r.main.add(d.H`vpos = getVertexInLocalOriginSpace();
363
+ vpos = subtractOrigin(vpos);
364
+ vpos = addVerticalOffset(vpos, localOrigin);
365
+ gl_Position = transformPositionWithDepth(proj, view, vpos, nearFar, depth);
366
+ forwardTextureCoordinates();
367
+ forwardObjectAndLayerIdColor();`),e.include(p.S,t),g.main.add(d.H`
368
+ discardBySlice(vpos);
369
+ ${(0,d.If)(b,d.H`vec4 texColor = texture(tex, ${T?"colorUV":"vuv0"});
370
+ discardOrAdjustAlpha(texColor);`)}
371
+ ${9===y?d.H`outputObjectAndLayerIdColor();`:d.H`outputDepth(depth);`}`);break;case 2:{(0,f.NB)(r,t),e.include(o.d),e.include(a.Y,t),e.include(c.Mh,t),e.include(l.U,t),e.include(m.A,t),b&&g.uniforms.add(new v.N("tex",e=>e.texture)),2===M&&_.add("vPositionView","vec3",{invariant:!0});const i=0===M||1===M;r.main.add(d.H`
372
+ vpos = getVertexInLocalOriginSpace();
373
+ ${i?d.H`vNormalWorld = dpNormalView(vvLocalNormal(normalModel()));`:d.H`vPositionView = (view * vec4(vpos, 1.0)).xyz;`}
374
+ vpos = subtractOrigin(vpos);
375
+ vpos = addVerticalOffset(vpos, localOrigin);
376
+ gl_Position = transformPosition(proj, view, vpos);
377
+ forwardTextureCoordinates();`),g.include(n.HQ,t),e.include(p.S,t),g.main.add(d.H`
378
+ discardBySlice(vpos);
379
+ ${(0,d.If)(b,d.H`vec4 texColor = texture(tex, ${T?"colorUV":"vuv0"});
380
+ discardOrAdjustAlpha(texColor);`)}
381
+
382
+ ${2===M?d.H`vec3 normal = screenDerivativeNormal(vPositionView);`:d.H`vec3 normal = normalize(vNormalWorld);
383
+ if (gl_FrontFacing == false){
384
+ normal = -normal;
385
+ }`}
386
+ fragColor = vec4(0.5 + 0.5 * normal, 1.0);`);break}case 8:(0,f.NB)(r,t),e.include(o.d),e.include(l.U,t),e.include(m.A,t),b&&g.uniforms.add(new v.N("tex",e=>e.texture)),r.main.add(d.H`vpos = getVertexInLocalOriginSpace();
387
+ vpos = subtractOrigin(vpos);
388
+ vpos = addVerticalOffset(vpos, localOrigin);
389
+ gl_Position = transformPosition(proj, view, vpos);
390
+ forwardTextureCoordinates();`),g.include(n.HQ,t),e.include(p.S,t),e.include(h.Q,t),g.main.add(d.H`
391
+ discardBySlice(vpos);
392
+ ${(0,d.If)(b,d.H`vec4 texColor = texture(tex, ${T?"colorUV":"vuv0"});
393
+ discardOrAdjustAlpha(texColor);`)}
394
+ calculateOcclusionAndOutputHighlight();`)}}},40710(e,t,r){r.d(t,{W:()=>n});var i=r(74333);class n extends i.n{constructor(e,t,r){super(e,"vec3",2,(i,n,o,a)=>i.setUniform3fv(e,t(n,o,a),r))}}},42293(e,t,r){r.d(t,{MW:()=>o,wH:()=>n}),r(94656);var i=r(63907);function n(e){switch(e){case 6406:case 6409:case 6403:case 36244:case 6402:case 34041:return 1;case 6410:case 33319:case 33320:return 2;case 6407:case 36248:return 3;case 6408:case 36249:return 4}return 0}function o(e){switch(e){case 6406:case 6409:case 6403:case 36244:case i.H0.R8:case i.H0.R8I:case i.H0.R8UI:case i.H0.R8_SNORM:case 36168:return 1;case 6410:case 33319:case 33320:case i.H0.RGBA4:case i.H0.R16F:case i.H0.R16I:case i.H0.R16UI:case i.H0.RG8:case i.H0.RG8I:case i.H0.RG8UI:case i.H0.RG8_SNORM:case i.H0.RGB565:case i.H0.RGB5_A1:case i.SB.DEPTH_COMPONENT16:return 2;case 6407:case 36248:case i.H0.RGB8:case i.H0.RGB8I:case i.H0.RGB8UI:case i.H0.RGB8_SNORM:case i.H0.SRGB8:case i.SB.DEPTH_COMPONENT24:return 3;case 6408:case 36249:case i.H0.RGBA8:case i.H0.R32F:case i.H0.R11F_G11F_B10F:case i.H0.RG16F:case i.H0.R32I:case i.H0.R32UI:case i.H0.RG16I:case i.H0.RG16UI:case i.H0.RGBA8I:case i.H0.RGBA8UI:case i.H0.RGBA8_SNORM:case i.H0.SRGB8_ALPHA8:case i.H0.RGB9_E5:case i.H0.RGB10_A2UI:case i.H0.RGB10_A2:case i.SB.DEPTH_COMPONENT32F:case i.iE.DEPTH24_STENCIL8:return 4;case i.iE.DEPTH32F_STENCIL8:return 5;case i.H0.RGB16F:case i.H0.RGB16I:case i.H0.RGB16UI:return 6;case i.H0.RG32F:case i.H0.RG32I:case i.H0.RG32UI:case i.H0.RGBA16F:case i.H0.RGBA16I:case i.H0.RGBA16UI:return 8;case i.H0.RGB32F:case i.H0.RGB32I:case i.H0.RGB32UI:return 12;case i.H0.RGBA32F:case i.H0.RGBA32I:case i.H0.RGBA32UI:return 16;case i.CQ.COMPRESSED_RGB_S3TC_DXT1_EXT:case i.CQ.COMPRESSED_RGBA_S3TC_DXT1_EXT:return.5;case i.CQ.COMPRESSED_RGBA_S3TC_DXT3_EXT:case i.CQ.COMPRESSED_RGBA_S3TC_DXT5_EXT:return 1;case i.CQ.COMPRESSED_R11_EAC:case i.CQ.COMPRESSED_SIGNED_R11_EAC:case i.CQ.COMPRESSED_RGB8_ETC2:case i.CQ.COMPRESSED_SRGB8_ETC2:case i.CQ.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:case i.CQ.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:return.5;case i.CQ.COMPRESSED_RG11_EAC:case i.CQ.COMPRESSED_SIGNED_RG11_EAC:case i.CQ.COMPRESSED_RGBA8_ETC2_EAC:case i.CQ.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:return 1}return 0}new Set([i.pe.BYTE,i.pe.SHORT,i.pe.INT,i.pe.UNSIGNED_BYTE,i.pe.UNSIGNED_SHORT,i.pe.UNSIGNED_INT])},42398(e,t,r){r.d(t,{A:()=>u});var i=r(43519),n=r(33079),o=r(71988),a=r(74333);class s extends a.n{constructor(e,t,r,i){super(e,"vec4",1,(t,n,o)=>t.setUniform4fv(e,r(n,o),i),t)}}class l extends a.n{constructor(e,t,r,i){super(e,"float",1,(t,n,o)=>t.setUniform1fv(e,r(n,o),i),t)}}var c=r(31821),d=r(35644);function u(e,t){const{vertex:r,attributes:a}=e;t.hasVVInstancing&&(t.hasVVSize||t.hasVVColor)&&a.add("instanceFeatureAttribute","vec4"),t.hasVVSize?(r.uniforms.add(new n.t("vvSizeMinSize",e=>e.vvSize.minSize)),r.uniforms.add(new n.t("vvSizeMaxSize",e=>e.vvSize.maxSize)),r.uniforms.add(new n.t("vvSizeOffset",e=>e.vvSize.offset)),r.uniforms.add(new n.t("vvSizeFactor",e=>e.vvSize.factor)),r.uniforms.add(new n.t("vvSizeFallback",e=>e.vvSize.fallback)),r.uniforms.add(new d.k("vvSymbolRotationMatrix",e=>e.vvSymbolRotationMatrix)),r.uniforms.add(new n.t("vvSymbolAnchor",e=>e.vvSymbolAnchor)),r.code.add(c.H`vec3 vvScale(vec4 _featureAttribute) {
395
+ if (isnan(_featureAttribute.x)) {
396
+ return vvSizeFallback;
397
+ }
398
+ return clamp(vvSizeOffset + _featureAttribute.x * vvSizeFactor, vvSizeMinSize, vvSizeMaxSize);
399
+ }
400
+ vec4 vvTransformPosition(vec3 position, vec4 _featureAttribute) {
401
+ return vec4(vvSymbolRotationMatrix * ( vvScale(_featureAttribute) * (position + vvSymbolAnchor)), 1.0);
402
+ }`),r.code.add(c.H`
403
+ const float eps = 1.192092896e-07;
404
+ vec4 vvTransformNormal(vec3 _normal, vec4 _featureAttribute) {
405
+ vec3 scale = max(vvScale(_featureAttribute), eps);
406
+ return vec4(vvSymbolRotationMatrix * _normal / scale, 1.0);
407
+ }
408
+
409
+ ${t.hasVVInstancing?c.H`
410
+ vec4 vvLocalNormal(vec3 _normal) {
411
+ return vvTransformNormal(_normal, instanceFeatureAttribute);
412
+ }
413
+
414
+ vec4 localPosition() {
415
+ return vvTransformPosition(position, instanceFeatureAttribute);
416
+ }`:""}
417
+ `)):r.code.add(c.H`vec4 localPosition() { return vec4(position, 1.0); }
418
+ vec4 vvLocalNormal(vec3 _normal) { return vec4(_normal, 1.0); }`),e.vertex.include(i.WD),t.hasVVColor?(r.constants.add("vvColorNumber","int",8),r.uniforms.add(new l("vvColorValues",8,e=>e.vvColor.values),new s("vvColorColors",8,e=>e.vvColor.colors),new o.E("vvColorFallback",e=>e.vvColor.fallback,{supportsNaN:!0})),t.hasVVInstancing&&(e.vertex.include(i.ML),e.vertex.include(i.oF)),r.code.add(c.H`
419
+ vec4 interpolateVVColor(float value) {
420
+ if (isnan(value)) {
421
+ return vvColorFallback;
422
+ }
423
+
424
+ if (value <= vvColorValues[0]) {
425
+ return vvColorColors[0];
426
+ }
427
+
428
+ for (int i = 1; i < vvColorNumber; ++i) {
429
+ if (vvColorValues[i] >= value) {
430
+ float f = (value - vvColorValues[i-1]) / (vvColorValues[i] - vvColorValues[i-1]);
431
+ return mix(vvColorColors[i-1], vvColorColors[i], f);
432
+ }
433
+ }
434
+ return vvColorColors[vvColorNumber - 1];
435
+ }
436
+
437
+ vec4 vvGetColor(vec4 featureAttribute) {
438
+ return interpolateVVColor(featureAttribute.y);
439
+ }
440
+
441
+ ${t.hasVVInstancing?c.H`
442
+ vec4 vvColor() {
443
+ return vvGetColor(instanceFeatureAttribute);
444
+ }
445
+
446
+ MaskedColor applyVVColor(MaskedColor color) {
447
+ return multiplyMaskedColors(color, createMaskedFromNaNColor(vvColor()));
448
+ }
449
+ `:c.H`
450
+ vec4 vvColor() {
451
+ return vec4(1.0);
452
+ }
453
+
454
+ MaskedColor applyVVColor(MaskedColor color) {
455
+ return color;
456
+ }
457
+ `}
458
+ `)):r.code.add(c.H`vec4 vvColor() {
459
+ return vec4(1.0);
460
+ }
461
+ MaskedColor applyVVColor(MaskedColor color) {
462
+ return color;
463
+ }`)}r(78662).Gd},42593(e,t,r){r.d(t,{Q:()=>d});var i=r(31821);function n(e){const{fragment:t}=e;t.code.add(i.H`uint readChannelBits(uint channel, int highlightLevel) {
464
+ int llc = (highlightLevel & 3) << 1;
465
+ return (channel >> llc) & 3u;
466
+ }
467
+ uint readChannel(uvec2 texel, int highlightLevel) {
468
+ int lic = (highlightLevel >> 2) & 1;
469
+ return texel[lic];
470
+ }
471
+ uint readLevelBits(uvec2 texel, int highlightLevel) {
472
+ return readChannelBits(readChannel(texel, highlightLevel), highlightLevel);
473
+ }`)}var o=r(74333);class a extends o.n{constructor(e,t){super(e,"ivec2",0,(r,i)=>r.setUniform2iv(e,t(i)))}}var s=r(35818),l=r(12791);class c extends o.n{constructor(e,t){super(e,"usampler2D",0,(r,i)=>r.bindTexture(e,t(i)))}}function d(e,t){const{fragment:r}=e,{output:o,draped:d,hasHighlightMixTexture:u}=t;8===o?(r.uniforms.add(new s.W("highlightLevel",e=>e.highlightLevel??0),new a("highlightMixOrigin",e=>e.highlightMixOrigin)),e.outputs.add("fragHighlight","uvec2",0),e.include(n),u?r.uniforms.add(new c("highlightMixTexture",e=>e.highlightMixTexture)).code.add(i.H`uvec2 getAccumulatedHighlight() {
474
+ return texelFetch(highlightMixTexture, ivec2(gl_FragCoord.xy) - highlightMixOrigin, 0).rg;
475
+ }
476
+ void outputHighlight(bool occluded) {
477
+ if (highlightLevel == 0) {
478
+ uint bits = occluded ? 3u : 1u;
479
+ fragHighlight = uvec2(bits, 0);
480
+ } else {
481
+ int ll = (highlightLevel & 3) << 1;
482
+ int li = (highlightLevel >> 2) & 3;
483
+ uint bits;
484
+ if (occluded) {
485
+ bits = 3u << ll;
486
+ } else {
487
+ bits = 1u << ll;
488
+ }
489
+ uvec2 combinedHighlight = getAccumulatedHighlight();
490
+ combinedHighlight[li] |= bits;
491
+ fragHighlight = combinedHighlight;
492
+ }
493
+ }`):r.code.add(i.H`void outputHighlight(bool occluded) {
494
+ uint bits = occluded ? 3u : 1u;
495
+ fragHighlight = uvec2(bits, 0);
496
+ }`),d?r.code.add(i.H`bool isHighlightOccluded() {
497
+ return false;
498
+ }`):r.uniforms.add(new l.x("depthTexture",e=>e.mainDepth)).code.add(i.H`bool isHighlightOccluded() {
499
+ float sceneDepth = texelFetch(depthTexture, ivec2(gl_FragCoord.xy), 0).x;
500
+ return gl_FragCoord.z > sceneDepth + 5e-7;
501
+ }`),r.code.add(i.H`void calculateOcclusionAndOutputHighlight() {
502
+ outputHighlight(isHighlightOccluded());
503
+ }`)):r.code.add(i.H`void calculateOcclusionAndOutputHighlight() {}`)}},42958(e,t,r){r.d(t,{w:()=>v,L:()=>g});var i=r(31635),n=r(69622),o=r(53966),a=r(97768),s=r(91429),l=r(49255),c=r(63907),d=r(85079),u=r(74038);new u._("position",3,c.pe.FLOAT,0,12);const h=[new u._("position",2,c.pe.FLOAT,0,8)];(0,d.Xk)(h),new u._("position",2,c.pe.FLOAT,0,12),new u._("uv0",2,c.pe.HALF_FLOAT,8,12),new u._("position",2,c.pe.FLOAT,0,16),new u._("uv0",2,c.pe.FLOAT,8,16),r(44208);var m=r(94656);class p{constructor(e,t,r){this._context=e,this.locations=r,this._textures=new Map,this.source=(0,m.en)()?t:null,t.attributeNames.forEach(e=>{r.has(e)||console.error(`Missing VertexAttributeLocation for ${e} used in shader`)}),this._glProgram=e.programCache.acquire(t.generate("vertex",!0),t.generate("fragment",!0),r),this._glProgram.stop=()=>{throw new Error("Wrapped _glProgram used directly")},this.bind=t.generateBind(this),this.bindPass=t.generateBindPass(this),this.bindDraw=t.generateBindDraw(this)}dispose(){this._glProgram.dispose()}get glName(){return this._glProgram.glName}get hasTransformFeedbackVaryings(){return this._glProgram.hasTransformFeedbackVaryings}get compiled(){return this._glProgram.compiled}setUniform1b(e,t){this._glProgram.setUniform1i(e,t?1:0)}setUniform1i(e,t){this._glProgram.setUniform1i(e,t)}setUniform1f(e,t,r){this._glProgram.setUniform1f(e,t,r)}setUniform2fv(e,t,r){this._glProgram.setUniform2fv(e,t,r)}setUniform3fv(e,t,r){this._glProgram.setUniform3fv(e,t,r)}setUniform4fv(e,t,r){this._glProgram.setUniform4fv(e,t,r)}setUniformMatrix3fv(e,t,r){this._glProgram.setUniformMatrix3fv(e,t,!1,r)}setUniformMatrix4fv(e,t,r){this._glProgram.setUniformMatrix4fv(e,t,!1,r)}setUniformMatrices4fv(e,t,r){this._glProgram.setUniformMatrices4fv(e,t,!1,r)}setUniform1fv(e,t,r){this._glProgram.setUniform1fv(e,t,r)}setUniform1iv(e,t){this._glProgram.setUniform1iv(e,t)}setUniform2iv(e,t){this._glProgram.setUniform2iv(e,t)}setUniform3iv(e,t){this._glProgram.setUniform3iv(e,t)}setUniform4iv(e,t){this._glProgram.setUniform4iv(e,t)}assertCompatibleVertexAttributeLocations(e,t){let r=e.locations;if(t){const e=new Map(r);t.forEach((t,i)=>e.set(i,r.size+t)),r=e}r.size!==this.locations.size&&console.error(`VertexAttributeLocations are incompatible: ${r}, ${this.locations}`),this.locations.forEach((e,t)=>{r.get(t)!==e&&console.error(`VertexAttributeLocations are incompatible: Program has ${t} at position ${e}, VAO has it at position ${r.get(t)}.`)})}stop(){this._textures.clear()}bindTexture(e,t){if(!t?.glName){const r=`Texture sampler ${e} in ${this._context.debugBoundTechnique} has no given Texture in ${(new Error).stack}`;(0,m.en)()&&console.error(r),t=this._context.emptyTexture}const r=this._ensureTextureUnit(e,t);this._context.useProgram(this),this.setUniform1i(e,r.unit),this._context.bindTexture(t,r.unit)}_ensureTextureUnit(e,t){let r=this._textures.get(e);return null==r?(r={texture:t,unit:this._textures.size},this._textures.set(e,r)):r.texture=t,r}}var f=r(90644);let v=class extends n.A{constructor(e,t,r){super({}),this._context=e,this._configuration=t,this.primitiveType=c.WR.TRIANGLES,this.key=t.key,this.locations=(0,d.Xk)(r??h),this._pipeline=this.initializePipeline(t),this.reload=async r=>{if(r&&await this.shader.reload(),!this.key.equals(t.key))return void o.A.getLogger("esri.views.3d.webgl.ShaderTechnique").warn(`Configuration was changed after construction, cannot reload shader for ${this.declaredClass}.`);(0,a.WD)(this._program);const i=this.shader.get().build(t);i.debugName=this.declaredClass,this._program=new p(e.rctx,i,this.locations),this._pipeline=this.initializePipeline(t)}}initialize(){const e=this.shader.get().build(this._configuration);e.debugName=this.declaredClass,this._program=new p(this._context.rctx,e,this.locations)}destroy(){this._program=(0,a.WD)(this._program),this._pipeline=null}get program(){return this._program}get compiled(){return this.program.compiled}ensureAttributeLocations(e){this.program.assertCompatibleVertexAttributeLocations(e)}getPipeline(e,t){return this._pipeline}initializePipeline(e){return(0,f.Ey)({blending:f.RC,colorWrite:f.kn})}};function g(e,t){return(0,l.g1)(e)?{buffers:[c.$0]}:t??null}v=(0,i.Cg)([(0,s.$K)("esri.views.3d.webgl-engine.core.shaderTechnique.ShaderTechnique")],v)},43519(e,t,r){r.d(t,{ML:()=>a,WD:()=>n,Y1:()=>o,oF:()=>s});var i=r(31821);function n(e){e.code.add(i.H`struct MaskedColor {
504
+ vec4 color;
505
+ bvec4 mask;
506
+ };`)}function o(e){e.include(n),e.code.add(i.H`
507
+ MaskedColor createMaskedFromUInt8NaNColor(vec4 color) {
508
+ return MaskedColor(color * ${i.H.float(1/254)}, equal(color, vec4(255)));
509
+ }
510
+ `)}function a(e){e.include(n),e.code.add(i.H`vec4 maskedColorSelectOrOne(MaskedColor color) {
511
+ return vec4(
512
+ color.mask.r ? 1.0 : color.color.r,
513
+ color.mask.g ? 1.0 : color.color.g,
514
+ color.mask.b ? 1.0 : color.color.b,
515
+ color.mask.a ? 1.0 : color.color.a
516
+ );
517
+ }
518
+ MaskedColor multiplyMaskedColors(MaskedColor color1, MaskedColor color2) {
519
+ vec4 masked1 = maskedColorSelectOrOne(color1);
520
+ vec4 masked2 = maskedColorSelectOrOne(color2);
521
+ return MaskedColor(masked1 * masked2, bvec4(ivec4(color1.mask) & ivec4(color2.mask)));
522
+ }`)}function s(e){e.include(n),e.code.add(i.H`MaskedColor createMaskedFromNaNColor(vec4 color) {
523
+ return MaskedColor(color, isnan(color));
524
+ }`)}},43616(e,t,r){r.d(t,{MB:()=>l,Um:()=>c,kE:()=>a});var i=r(4576),n=r(34727),o=r(77194);function a(e,t,r,i,o,a){let s=r.screenLength*e.pixelRatio;null!=o&&(d.update(i,t,o,a),s=d.apply(s));const l=s*Math.tan(.5*e.fovY)/(.5*e.fullHeight);return(0,n.qE)(l*t,r.minWorldLength,r.maxWorldLength)}const s=(0,i.VO)();function l(e,t){let r=!1;for(const i in t){const n=t[i];void 0!==n&&(Array.isArray(n)?Array.isArray(e[i])&&s(n,e[i])||(e[i]=n.slice(),r=!0):e[i]!==n&&(r=!0,e[i]=n))}return r}const c={multiply:1,ignore:2,replace:3,tint:4},d=new o.PS},46140(e,t,r){r.d(t,{A:()=>n});var i=r(49186);let n=class e{constructor(e,t,r=""){this.major=e,this.minor=t,this._context=r}lessThan(e,t){return this.major<e||e===this.major&&this.minor<t}greaterEqual(e,t){return!this.lessThan(e,t)}validate(e){if(this.major!==e.major){const t=this._context&&this._context+":",r=this._context&&this._context+" ";throw new i.A(t+"unsupported-version",`Required major ${r}version is '${this.major}', but got '\${version.major}.\${version.minor}'`,{version:e})}}clone(){return new e(this.major,this.minor,this._context)}static parse(t,r=""){const[n,o]=t.split("."),a=/^\s*\d+\s*$/;if(!n?.match||!a.test(n))throw new i.A((r&&r+":")+"invalid-version","Expected major version to be a number, but got '${version}'",{version:t});if(!o?.match||!a.test(o))throw new i.A((r&&r+":")+"invalid-version","Expected minor version to be a number, but got '${version}'",{version:t});const s=parseInt(n,10),l=parseInt(o,10);return new e(s,l,r)}}},46686(e,t,r){r.d(t,{o:()=>n});var i=r(31821);function n(e,t){t&&e.varyings.add("linearDepth","float",{invariant:!0}),e.vertex.code.add(i.H`
525
+ void forwardLinearDepth(float _linearDepth) { ${(0,i.If)(t,"linearDepth = _linearDepth;")} }
526
+ `)}},46859(e,t,r){r.d(t,{h:()=>B});var i=r(49186),n=r(65529),o=r(97768),a=r(74887),s=r(34275),l=r(24326),c=r(84952),d=r(38969),u=r(31217),h=r(95117),m=r(2741);let p;var f=r(63907),v=r(76284),g=r(42293);let _=null,x=null;async function w(){return null==x&&(p??=(async()=>{const e=await r.e(9321).then(r.bind(r,49321)),t=await e.default({locateFile:e=>(0,m.s)(`esri/libs/basisu/${e}`)});return t.initializeBasis(),t})(),x=p,_=await x),x}function b(e,t){if(null==_)return e.byteLength;const r=new _.BasisFile(new Uint8Array(e)),i=T(r)?M(r.getNumLevels(0),r.getHasAlpha(),r.getImageWidth(0,0),r.getImageHeight(0,0),t):0;return r.close(),r.delete(),i}function y(e,t){if(null==_)return e.byteLength;const r=new _.KTX2File(new Uint8Array(e)),i=C(r)?M(r.getLevels(),r.getHasAlpha(),r.getWidth(),r.getHeight(),t):0;return r.close(),r.delete(),i}function M(e,t,r,i,n){const o=(0,g.MW)(t?f.CQ.COMPRESSED_RGBA8_ETC2_EAC:f.CQ.COMPRESSED_RGB8_ETC2),a=n&&e>1?(4**e-1)/(3*4**(e-1)):1;return Math.ceil(r*i*o*a)}function T(e){return e.getNumImages()>=1&&!e.isUASTC()}function C(e){return e.getFaces()>=1&&e.isETC1S()}function S(e,t,r,i,n,o,a,s){const{compressedTextureETC:l,compressedTextureS3TC:c}=e.capabilities,[d,u]=l?i?[1,f.CQ.COMPRESSED_RGBA8_ETC2_EAC]:[0,f.CQ.COMPRESSED_RGB8_ETC2]:c?i?[3,f.CQ.COMPRESSED_RGBA_S3TC_DXT5_EXT]:[2,f.CQ.COMPRESSED_RGB_S3TC_DXT1_EXT]:[13,6408],h=t.hasMipmap?r:Math.min(1,r),m=[];for(let e=0;e<h;e++)m.push(new Uint8Array(a(e,d))),s(e,d,m[e]);return t.internalFormat=u,t.hasMipmap=m.length>1,t.samplingMode=t.hasMipmap?9987:9729,t.width=n,t.height=o,new v.A(e,t,{type:"compressed",levels:m})}var E=r(53966);const A=()=>E.A.getLogger("esri.views.3d.webgl-engine.lib.DDSUtil");function I(e){return e.charCodeAt(0)+(e.charCodeAt(1)<<8)+(e.charCodeAt(2)<<16)+(e.charCodeAt(3)<<24)}const R=I("DXT1"),O=I("DXT3"),F=I("DXT5");function P(e,t){const r=new Int32Array(e.buffer,e.byteOffset,31);if(542327876!==r[0])return A().error("Invalid magic number in DDS header"),null;if(!(4&r[20]))return A().error("Unsupported format, must contain a FourCC code"),null;const i=r[21];let n,o;switch(i){case R:n=8,o=f.CQ.COMPRESSED_RGB_S3TC_DXT1_EXT;break;case O:n=16,o=f.CQ.COMPRESSED_RGBA_S3TC_DXT3_EXT;break;case F:n=16,o=f.CQ.COMPRESSED_RGBA_S3TC_DXT5_EXT;break;default:return A().error("Unsupported FourCC code:",function(e){return String.fromCharCode(255&e,e>>8&255,e>>16&255,e>>24&255)}(i)),null}let a=1,s=r[4],l=r[3];(3&s||3&l)&&(A().warn("Rounding up compressed texture size to nearest multiple of 4."),s=s+3&-4,l=l+3&-4);const c=s,d=l;let u,h;131072&r[2]&&!1!==t&&(a=Math.max(1,r[7]));let m=e.byteOffset+r[1]+4;const p=[];for(let t=0;t<a;++t)h=(s+3>>2)*(l+3>>2)*n,u=new Uint8Array(e.buffer,m,h),p.push(u),m+=h,s=Math.max(1,s>>1),l=Math.max(1,l>>1);return{textureData:{type:"compressed",levels:p},internalFormat:o,width:c,height:d}}function D(e,t){return t=16*Math.floor(t/16),Math.min(16*Math.round(e/16),t)}function H(e,t){const[r,i]=function({width:e,height:t},{maxPreferredTexturePixels:r,maxTextureSize:i}){const n=Math.max(e,t),o=e*t;if(n<=i&&o<=r)return[e,t];const a=Math.min(Math.sqrt(r/o),i/n);return[D(Math.round(e*a),i),D(Math.round(t*a),i)]}(e,t);return e.width===r&&e.height===i?e:N(e,r,i)}function N(e,t,r){if(e instanceof ImageData)return N(function(e){const t=document.createElement("canvas");t.width=e.width,t.height=e.height;const r=t.getContext("2d");if(null==r)throw new i.A("texture:context-failed","Failed to create 2d context from HTMLCanvasElement");return r.putImageData(e,0,0),t}(e),t,r);const n=document.createElement("canvas");return n.width=t,n.height=r,n.getContext("2d").drawImage(e,0,0,n.width,n.height),n}var z=r(620),L=r(67171);class B{constructor(e,t){this._data=e,this.id=(0,l.c)(),this.events=new n.bk,this._parameters={...U,...t},this._startPreload(e)}dispose(){this.unload(),this._data=this.update=void 0}_startPreload(e){e instanceof HTMLVideoElement?(this.update=t=>this._update(e,t),this._startPreloadVideoElement(e)):e instanceof HTMLImageElement&&this._startPreloadImageElement(e)}_startPreloadVideoElement(e){if(!((0,c.w8)(e.src)||"auto"===e.preload&&e.crossOrigin)&&(e.preload="auto",e.crossOrigin="anonymous",e.src=e.src,e.paused&&e.autoplay)){const t=[];(0,d.i)(e,e=>t.push(e)).then(()=>{e.play()}).finally(()=>t.forEach(e=>e.remove()))}}_startPreloadImageElement(e){(0,c.DB)(e.src)||(0,c.w8)(e.src)||e.crossOrigin||(e.crossOrigin="anonymous",e.src=e.src)}_createDescriptor(e){const t=new L.R;return t.wrapMode=this._parameters.wrap??10497,t.flipped=!this._parameters.noUnpackFlip,t.samplingMode=this._parameters.mipmap?9987:9729,t.hasMipmap=!!this._parameters.mipmap,t.preMultiplyAlpha=!!this._parameters.preMultiplyAlpha,t.maxAnisotropy=this._parameters.maxAnisotropy??(this._parameters.mipmap?e.parameters.maxMaxAnisotropy:1),t.dataType=this._parameters.dataType??t.dataType,t.pixelFormat=this._parameters.pixelFormat??t.pixelFormat,t.internalFormat=this._parameters.internalFormat??t.internalFormat,t}get texture(){return this._texture??this._emptyTexture}get loaded(){return null!=this._texture}get usedMemory(){return this._texture?.usedMemory||function(e,t){if(null==e)return 0;if((0,s.mw)(e)||(0,s.mg)(e))return"image/ktx2"===t.encoding?y(e,!!t.mipmap):"image/x.basis"===t.encoding?b(e,!!t.mipmap):e.byteLength;const{width:r,height:i}=e instanceof Image||e instanceof ImageData||e instanceof HTMLCanvasElement||e instanceof HTMLVideoElement?V(e):t,n=t.pixelFormat??6408,o=(0,g.wH)(n);return(t.mipmap?4/3:1)*r*i*o||0}(this._data,this._parameters)}load(e){if(this._loadingPromise)return this._loadingPromise;if(this._texture)return this._texture;const t=this._data;return null==t?(this._texture=new v.A(e,this._createDescriptor(e),null),this._texture):(this._emptyTexture=e.emptyTexture,this._parameters.reloadable||(this._data=void 0),"string"==typeof t?this._loadFromURL(e,t):t instanceof Image?this._loadFromImageElement(e,t):t instanceof HTMLVideoElement?this._loadFromVideoElement(e,t):t instanceof ImageData||t instanceof HTMLCanvasElement?this._loadFromImage(e,t):(0,s.mg)(t)&&"image/vnd-ms.dds"===this._parameters.encoding?this._loadFromDDSData(e,t):(0,s.mw)(t)&&"image/vnd-ms.dds"===this._parameters.encoding?this._loadFromDDSData(e,new Uint8Array(t)):((0,s.mw)(t)||(0,s.mg)(t))&&"image/ktx2"===this._parameters.encoding?this._loadFromKTX2(e,t):((0,s.mw)(t)||(0,s.mg)(t))&&"image/x.basis"===this._parameters.encoding?this._loadFromBasis(e,t):(0,s.mw)(t)?this._loadFromPixelData(e,new Uint8Array(t)):(0,s.iu)(t)?this._loadFromPixelData(e,t):null)}_update(e,t){return null==this._texture||e.readyState<HTMLMediaElement.HAVE_CURRENT_DATA||t===e.currentTime?t:(this._texture.setData(e),this._texture.descriptor.hasMipmap&&this._texture.generateMipmap(),this._parameters.updateCallback&&this._parameters.updateCallback(),e.currentTime)}_loadFromDDSData(e,t){return this._texture=function(e,t,r){const i=P(r,t.hasMipmap??!1);if(null==i)throw new Error("DDS texture data is null");const{textureData:n,internalFormat:o,width:a,height:s}=i;return t.samplingMode=n.levels.length>1?9987:9729,t.hasMipmap=n.levels.length>1,t.internalFormat=o,t.width=a,t.height=s,new v.A(e,t,n)}(e,this._createDescriptor(e),t),this._emptyTexture=null,this._texture}_loadFromKTX2(e,t){return this._loadAsync(()=>async function(e,t,r){null==_&&(_=await w());const i=new _.KTX2File(new Uint8Array(r));if(!C(i))return null;i.startTranscoding();const n=S(e,t,i.getLevels(),i.getHasAlpha(),i.getWidth(),i.getHeight(),(e,t)=>i.getImageTranscodedSizeInBytes(e,0,0,t),(e,t,r)=>i.transcodeImage(r,e,0,0,t,0,-1,-1));return i.close(),i.delete(),n}(e,this._createDescriptor(e),t).then(e=>(this._texture=e,e)))}_loadFromBasis(e,t){return this._loadAsync(()=>async function(e,t,r){null==_&&(_=await w());const i=new _.BasisFile(new Uint8Array(r));if(!T(i))return null;i.startTranscoding();const n=S(e,t,i.getNumLevels(0),i.getHasAlpha(),i.getImageWidth(0,0),i.getImageHeight(0,0),(e,t)=>i.getImageTranscodedSizeInBytes(0,e,t),(e,t,r)=>i.transcodeImage(r,0,e,t,0,0));return i.close(),i.delete(),n}(e,this._createDescriptor(e),t).then(e=>(this._texture=e,e)))}_loadFromPixelData(e,t){(0,z.vA)(this._parameters.width>0&&this._parameters.height>0);const r=this._createDescriptor(e);return 6407!==r.pixelFormat&&6408!==r.pixelFormat||(r.compress=this._parameters.compressionOptions),r.width=this._parameters.width??0,r.height=this._parameters.height??0,this._texture=new v.A(e,r,t),this._texture}_loadFromURL(e,t){return this._loadAsync(async r=>{const i=await(0,u.D)(t,{signal:r});return(0,a.Te)(r),this._loadFromImage(e,i)})}_loadFromImageElement(e,t){return t.complete?this._loadFromImage(e,t):this._loadAsync(async r=>{const i=await(0,h.y)(t,t.src,!1,r);return(0,a.Te)(r),this._loadFromImage(e,i)})}_loadFromVideoElement(e,t){return t.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA?this._loadFromImage(e,t):this._loadFromVideoElementAsync(e,t)}_loadFromVideoElementAsync(e,t){return this._loadAsync(r=>new Promise((n,s)=>{const l=()=>{t.removeEventListener("loadeddata",c),t.removeEventListener("error",d),(0,o.xt)(u)},c=()=>{t.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA&&(l(),n(this._loadFromImage(e,t)))},d=e=>{l(),s(e||new i.A("texture:load-error","Failed to load video"))};t.addEventListener("loadeddata",c),t.addEventListener("error",d);const u=(0,a.u7)(r,()=>d((0,a.NK)()))}))}_loadFromImage(e,t){let r=t;r instanceof HTMLVideoElement||(r=H(r,e.parameters));const i=V(r);this._parameters.width=i.width,this._parameters.height=i.height;const n=this._createDescriptor(e);return n.width=i.width,n.height=i.height,n.compress=this._parameters.compressionOptions,this._texture=new v.A(e,n,r),this._emptyTexture=null,this.events.emit("loaded"),this._texture}_loadAsync(e){const t=new AbortController;this._loadingController=t;const r=e(t.signal);this._loadingPromise=r;const i=()=>{this._loadingController===t&&(this._loadingController=null),this._loadingPromise===r&&(this._loadingPromise=null),this._emptyTexture=null};return r.then(i,i),r}unload(){if(this._texture=(0,o.WD)(this._texture),this._emptyTexture=null,null!=this._loadingController){const e=this._loadingController;this._loadingController=null,this._loadingPromise=null,e.abort()}this.events.emit("unloaded")}get parameters(){return this._parameters}}function V(e){return e instanceof HTMLVideoElement?{width:e.videoWidth,height:e.videoHeight}:e}const U={wrap:{s:10497,t:10497},mipmap:!0,noUnpackFlip:!1,preMultiplyAlpha:!1}},47286(e,t,r){r.d(t,{G:()=>n});var i=r(74333);class n extends i.n{constructor(e,t,r){super(e,"vec2",1,(i,n,o)=>i.setUniform2fv(e,t(n,o),r))}}},49255(e,t,r){function i(e){return 3===(t=e)||4===t||5===t||6===e||7===e;var t}function n(e){return function(e){return a(e)||s(e)}(e)||2===e}function o(e){return 0===e}function a(e){return o(e)||function(e){return 8===e||9===e}(e)}function s(e){return 1===e}function l(e){return s(e)||i(e)}r.d(t,{Lc:()=>a,_o:()=>o,g1:()=>l,iq:()=>n,yT:()=>i})},49718(e,t,r){r(51850),r(6867).i},49788(e,t,r){r.d(t,{Q:()=>i});const i=1/255.5},51255(e,t,r){r.d(t,{D:()=>c});var i=r(49255),n=r(22911),o=r(42593),a=r(63365),s=r(31821),l=r(49788);function c(e,t){e.include(o.Q,t),e.include(n.NL,t),e.fragment.include(a.a);const{output:r,oitPass:c,hasEmission:d,discardInvisibleFragments:u,oitPremultipliedAlpha:h,snowCover:m}=t,p=9===r,f=(0,i._o)(r)&&1===c,v=(0,i._o)(r)&&2===c,g=(0,i._o)(r)&&1!==c;let _=0;(g||f)&&e.outputs.add("fragColor","vec4",_++),d&&e.outputs.add("fragEmission","vec4",_++),f&&e.outputs.add("fragAlpha","float",_++),e.fragment.code.add(s.H`
527
+ void outputColorHighlightOLID(vec4 finalColor, const in vec3 vWorldPosition, vec3 emissiveSymbolColor ${(0,s.If)(m,", float snow")}) {
528
+ ${(0,s.If)(p,"finalColor.a = 1.0;")}
529
+ ${(0,s.If)(u,`if (finalColor.a < ${s.H.float(l.Q)}) { discard; }`)}
530
+ finalColor = applySlice(finalColor, vWorldPosition);
531
+
532
+ ${(0,s.If)(f,`${(0,s.If)(h,"fragColor = finalColor;","fragColor = premultiplyAlpha(finalColor);")}\n fragAlpha = finalColor.a;`)}
533
+ ${(0,s.If)(v&&h&&u,"finalColor.rgb /= finalColor.a;")}
534
+ ${(0,s.If)(g,"fragColor = finalColor;")}
535
+ ${(0,s.If)(d,`fragEmission = ${(0,s.If)(m,"mix(finalColor.a * getEmissions(emissiveSymbolColor), vec4(0.0), snow);","finalColor.a * getEmissions(emissiveSymbolColor);")}`)}
536
+ calculateOcclusionAndOutputHighlight();
537
+ ${(0,s.If)(p,"outputObjectAndLayerIdColor();")}
538
+ }
539
+ `)}},51406(e,t,r){r.d(t,{MU:()=>l,O1:()=>c,QM:()=>d,Sx:()=>s,q2:()=>a});var i=r(29242),n=r(31821),o=r(35644);function a(e,t){t.hasColorTextureTransform?(e.varyings.add("colorUV","vec2"),e.vertex.uniforms.add(new o.k("colorTextureTransformMatrix",e=>e.colorTextureTransformMatrix??i.zK)).code.add(n.H`void forwardColorUV(){
540
+ colorUV = (colorTextureTransformMatrix * vec3(vuv0, 1.0)).xy;
541
+ }`)):e.vertex.code.add(n.H`void forwardColorUV(){}`)}function s(e,t){t.hasNormalTextureTransform&&0!==t.textureCoordinateType?(e.varyings.add("normalUV","vec2"),e.vertex.uniforms.add(new o.k("normalTextureTransformMatrix",e=>e.normalTextureTransformMatrix??i.zK)).code.add(n.H`void forwardNormalUV(){
542
+ normalUV = (normalTextureTransformMatrix * vec3(vuv0, 1.0)).xy;
543
+ }`)):e.vertex.code.add(n.H`void forwardNormalUV(){}`)}function l(e,t){t.hasEmissionTextureTransform&&0!==t.textureCoordinateType?(e.varyings.add("emissiveUV","vec2"),e.vertex.uniforms.add(new o.k("emissiveTextureTransformMatrix",e=>e.emissiveTextureTransformMatrix??i.zK)).code.add(n.H`void forwardEmissiveUV(){
544
+ emissiveUV = (emissiveTextureTransformMatrix * vec3(vuv0, 1.0)).xy;
545
+ }`)):e.vertex.code.add(n.H`void forwardEmissiveUV(){}`)}function c(e,t){t.hasOcclusionTextureTransform&&0!==t.textureCoordinateType?(e.varyings.add("occlusionUV","vec2"),e.vertex.uniforms.add(new o.k("occlusionTextureTransformMatrix",e=>e.occlusionTextureTransformMatrix??i.zK)).code.add(n.H`void forwardOcclusionUV(){
546
+ occlusionUV = (occlusionTextureTransformMatrix * vec3(vuv0, 1.0)).xy;
547
+ }`)):e.vertex.code.add(n.H`void forwardOcclusionUV(){}`)}function d(e,t){t.hasMetallicRoughnessTextureTransform&&0!==t.textureCoordinateType?(e.varyings.add("metallicRoughnessUV","vec2"),e.vertex.uniforms.add(new o.k("metallicRoughnessTextureTransformMatrix",e=>e.metallicRoughnessTextureTransformMatrix??i.zK)).code.add(n.H`void forwardMetallicRoughnessUV(){
548
+ metallicRoughnessUV = (metallicRoughnessTextureTransformMatrix * vec3(vuv0, 1.0)).xy;
549
+ }`)):e.vertex.code.add(n.H`void forwardMetallicRoughnessUV(){}`)}},51976(e,t,r){r.d(t,{K:()=>s,W:()=>l});var i=r(49186),n=r(4576);class o{constructor(e){this._bits=[...e]}equals(e){return(0,n.aI)(this._bits,e.bits)}get code(){return this._code??=String.fromCharCode(...this._bits),this._code}get bits(){return this._bits}}var a=r(65786);class s extends a.Y{constructor(){super(),this._parameterBits=this._parameterBits?.map(()=>0)??[],this._parameterNames??=[]}get key(){return this._key??=new o(this._parameterBits),this._key}decode(e=this.key){const t=this._parameterBits;this._parameterBits=[...e.bits];const r=this._parameterNames.map(e=>` ${e}: ${this[e]}`).join("\n");return this._parameterBits=t,r}}function l(e={}){return(t,r)=>{t.hasOwnProperty("_parameterNames")||Object.defineProperty(t,"_parameterNames",{value:t._parameterNames?.slice()??[],configurable:!0,writable:!0}),t.hasOwnProperty("_parameterBits")||Object.defineProperty(t,"_parameterBits",{value:t._parameterBits?.slice()??[0],configurable:!0,writable:!0}),t._parameterNames.push(r);const n=e.count||2,o=Math.ceil(Math.log2(n)),a=t._parameterBits;let s=0;for(;a[s]+o>16;)s++,s>=a.length&&a.push(0);const l=a[s],c=(1<<o)-1<<l;a[s]+=o,e.count?Object.defineProperty(t,r,{get(){return(this._parameterBits[s]&c)>>l},set(t){const n=this._parameterBits[s];if((n&c)>>l!==t){if(this._key=null,this._parameterBits[s]=n&~c|+t<<l&c,"number"!=typeof t)throw new i.A("internal:invalid-shader-configuration",`Configuration value for ${r} must be a number, got ${typeof t}`);if(null==e.count)throw new i.A("internal:invalid-shader-configuration",`Configuration value for ${r} must provide a count option`)}}}):Object.defineProperty(t,r,{get(){return!!((this._parameterBits[s]&c)>>l)},set(e){const t=this._parameterBits[s];if(!!((t&c)>>l)!==e&&(this._key=null,this._parameterBits[s]=t&~c|+e<<l,"boolean"!=typeof e))throw new i.A("internal:invalid-shader-configurationx",`Configuration value for ${r} must be boolean, got ${typeof e}`)}})}}},52540(e,t,r){r.d(t,{E:()=>s});var i=r(37585),n=r(48163),o=r(77108),a=r(31821);function s(e){e.uniforms.add(new o.E("zProjectionMap",e=>function(e){const t=e.projectionMatrix;return(0,i.hZ)(l,t[14],t[10])}(e.camera))),e.code.add(a.H`float linearizeDepth(float depth) {
550
+ float depthNdc = depth * 2.0 - 1.0;
551
+ float c1 = zProjectionMap[0];
552
+ float c2 = zProjectionMap[1];
553
+ return -(c1 / (depthNdc + c2 + 1e-7));
554
+ }`),e.code.add(a.H`float delinearizeDepth(float linearDepth) {
555
+ float c1 = zProjectionMap[0];
556
+ float c2 = zProjectionMap[1];
557
+ float depthNdc = (-c1/linearDepth) - c2 - 1e-7;
558
+ float depthNonlinear01 = (depthNdc + 1.0 ) / 2.0;
559
+ return depthNonlinear01;
560
+ }`),e.code.add(a.H`float depthFromTexture(sampler2D depthTexture, vec2 uv) {
561
+ ivec2 iuv = ivec2(uv * vec2(textureSize(depthTexture, 0)));
562
+ return texelFetch(depthTexture, iuv, 0).r;
563
+ }`),e.code.add(a.H`float linearDepthFromTexture(sampler2D depthTexture, vec2 uv) {
564
+ return linearizeDepth(depthFromTexture(depthTexture, uv));
565
+ }`)}const l=(0,n.vt)()},52587(e,t,r){r.d(t,{OH:()=>c,Y6:()=>s,pM:()=>l});var i=r(35522),n=r(51850),o=r(33079),a=r(31821);function s(e){e.vertex.code.add(a.H`float screenSizePerspectiveViewAngleDependentFactor(float absCosAngle) {
566
+ return absCosAngle * absCosAngle * absCosAngle;
567
+ }`),e.vertex.code.add(a.H`vec3 screenSizePerspectiveScaleFactor(float absCosAngle, float distanceToCamera, vec3 params) {
568
+ return vec3(
569
+ min(params.x / (distanceToCamera - params.y), 1.0),
570
+ screenSizePerspectiveViewAngleDependentFactor(absCosAngle),
571
+ params.z
572
+ );
573
+ }`),e.vertex.code.add(a.H`float applyScreenSizePerspectiveScaleFactorFloat(float size, vec3 factor) {
574
+ return size * clamp(mix(factor.x, 1.0, factor.y), factor.z, 1.0);
575
+ }`),e.vertex.code.add(a.H`float screenSizePerspectiveScaleFloat(float size, float absCosAngle, float distanceToCamera, vec3 params) {
576
+ return applyScreenSizePerspectiveScaleFactorFloat(
577
+ size,
578
+ screenSizePerspectiveScaleFactor(absCosAngle, distanceToCamera, params)
579
+ );
580
+ }`),e.vertex.code.add(a.H`vec2 applyScreenSizePerspectiveScaleFactorVec2(vec2 size, vec3 factor) {
581
+ return size * clamp(mix(factor.x, 1.0, factor.y), factor.z, 1.0);
582
+ }`),e.vertex.code.add(a.H`vec2 screenSizePerspectiveScaleVec2(vec2 size, float absCosAngle, float distanceToCamera, vec3 params) {
583
+ return applyScreenSizePerspectiveScaleFactorVec2(size, screenSizePerspectiveScaleFactor(absCosAngle, distanceToCamera, params));
584
+ }`)}function l(e){e.uniforms.add(new o.t("screenSizePerspective",e=>d(e.screenSizePerspective,e.screenSizePerspectiveMinPixelReferenceSize)))}function c(e){e.uniforms.add(new o.t("screenSizePerspectiveAlignment",e=>d(e.screenSizePerspectiveAlignment||e.screenSizePerspective,e.screenSizePerspectiveAlignment?null:e.screenSizePerspectiveMinPixelReferenceSize)))}function d(e,t){const r=null!=t&&null!=e?Math.min(e.minPixelSize/t,1):0;return e?(0,i.hZ)(u,e.divisor,e.offset,r):(0,i.hZ)(u,0,0,0)}const u=(0,n.vt)()},53466(e,t,r){r.d(t,{U:()=>n});var i=r(31821);function n(e,t){switch(t.textureCoordinateType){case 1:return e.attributes.add("uv0","vec2"),e.varyings.add("vuv0","vec2"),void e.vertex.code.add(i.H`void forwardTextureCoordinates() { vuv0 = uv0; }`);case 2:return e.attributes.add("uv0","vec2"),e.attributes.add("uvRegion","vec4"),e.varyings.add("vuv0","vec2"),e.varyings.add("vuvRegion","vec4"),void e.vertex.code.add(i.H`void forwardTextureCoordinates() {
585
+ vuv0 = uv0;
586
+ vuvRegion = uvRegion;
587
+ }`);default:t.textureCoordinateType;case 0:return void e.vertex.code.add(i.H`void forwardTextureCoordinates() {}`);case 3:return}}},57323(e,t,r){r.d(t,{R:()=>L,b:()=>z});var i=r(32680),n=r(49255),o=r(68317),a=r(76597),s=r(24321),l=r(72722),c=r(43519),d=r(96336),u=r(71955),h=r(53466),m=r(92700),p=r(35640),f=r(40261),v=r(14527),g=r(89390),_=r(98619),x=r(22393),w=r(59469),b=r(32482),y=r(96598),M=r(42398),T=r(58614),C=r(27950),S=r(20693),E=r(33079),A=r(71988),I=r(20304),R=r(31821),O=r(63761),F=r(10906),P=r(43616),D=r(51255),H=r(14113),N=r(49788);function z(e){const t=new H.N5,{attributes:r,vertex:z,fragment:L,varyings:B}=t,{output:V,offsetBackfaces:U,pbrMode:G,snowCover:j,spherical:W}=e,k=1===G||2===G;if((0,S.NB)(z,e),r.add("position","vec3"),B.add("vpos","vec3",{invariant:!0}),t.include(M.A,e),t.include(l.B,e),t.include(p.Ge,e),t.include(y.Z,e),!(0,n._o)(V))return t.include(f.E,e),t;(0,S.yu)(t.vertex,e),t.include(d.Y,e),t.include(a.d),U&&t.include(i.M),B.add("vNormalWorld","vec3"),B.add("localvpos","vec3",{invariant:!0}),t.include(h.U,e),t.include(u.K,e),t.include(s.v,e),t.include(m.c,e),z.include(c.WD),z.include(c.oF),z.uniforms.add(new A.E("externalColor",e=>e.externalColor,{supportsNaN:!0})),B.add("vcolorExt","vec4"),t.include(e.instancedDoublePrecision?b.G:b.Bz,e),z.main.add(R.H`
588
+ forwardNormalizedVertexColor();
589
+
590
+ MaskedColor maskedColorExt =
591
+ applySymbolColor(applyVVColor(applyInstanceColor(createMaskedFromNaNColor(externalColor))));
592
+
593
+ vcolorExt = maskedColorExt.color;
594
+ forwardColorMixMode(maskedColorExt.mask);
595
+
596
+ bool alphaCut = opacityMixMode != ${R.H.int(P.Um.ignore)} && vcolorExt.a < ${R.H.float(N.Q)};
597
+ vpos = getVertexInLocalOriginSpace();
598
+
599
+ localvpos = vpos - view[3].xyz;
600
+ vpos = subtractOrigin(vpos);
601
+ vNormalWorld = dpNormal(vvLocalNormal(normalModel()));
602
+ vpos = addVerticalOffset(vpos, localOrigin);
603
+ vec4 basePosition = transformPosition(proj, view, vpos);
604
+
605
+ forwardViewPosDepth((view * vec4(vpos, 1.0)).xyz);
606
+ forwardTextureCoordinates();
607
+ forwardLinearDepthToReadShadowMap();
608
+ gl_Position = alphaCut ? vec4(1e38, 1e38, 1e38, 1.0) :
609
+ ${(0,R.If)(U,"offsetBackfacingClipPosition(basePosition, vpos, vNormalWorld, cameraPosition);","basePosition;")}
610
+ `);const{hasColorTexture:Z,hasColorTextureTransform:$}=e;return L.include(g.kA,e),L.include(v.n,e),t.include(T.S,e),L.include(o.HQ,e),t.include(D.D,e),(0,S.yu)(L,e),(0,_.Gc)(L),(0,g.a8)(L),(0,g.eU)(L),L.uniforms.add(z.uniforms.get("localOrigin"),z.uniforms.get("view"),new E.t("ambient",e=>e.ambient),new E.t("diffuse",e=>e.diffuse),new I.m("opacity",e=>e.opacity),new I.m("layerOpacity",e=>e.layerOpacity)),Z&&L.uniforms.add(new O.N("tex",e=>e.texture)),t.include(w._,e),L.include(x.c,e),L.include(C.N),L.include(F.b,e),(0,_.O4)(L),L.main.add(R.H`
611
+ discardBySlice(vpos);
612
+ discardByTerrainDepth();
613
+ vec4 texColor = ${Z?`texture(tex, ${$?"colorUV":"vuv0"})`:" vec4(1.0)"};
614
+ ${(0,R.If)(Z,`${(0,R.If)(e.textureAlphaPremultiplied,"texColor.rgb /= texColor.a;")}\n discardOrAdjustAlpha(texColor);`)}
615
+ vec3 viewDirection = normalize(vpos - cameraPosition);
616
+ applyPBRFactors();
617
+ float ssao = evaluateAmbientOcclusionInverse();
618
+ ssao *= getBakedOcclusion();
619
+
620
+ float additionalAmbientScale = additionalDirectedAmbientLight(vpos + localOrigin);
621
+ vec3 additionalLight = ssao * mainLightIntensity * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor;
622
+ float shadow = readShadow(additionalAmbientScale, vpos);
623
+ vec3 matColor = max(ambient, diffuse);
624
+ ${e.hasVertexColors?R.H`vec3 albedo = mixExternalColor(vColor.rgb * matColor, texColor.rgb, vcolorExt.rgb, colorMixMode);
625
+ float opacity_ = layerOpacity * mixExternalOpacity(vColor.a * opacity, texColor.a, vcolorExt.a, opacityMixMode);`:R.H`vec3 albedo = mixExternalColor(matColor, texColor.rgb, vcolorExt.rgb, colorMixMode);
626
+ float opacity_ = layerOpacity * mixExternalOpacity(opacity, texColor.a, vcolorExt.a, opacityMixMode);`}
627
+
628
+ vec3 shadingNormal = normalize(vNormalWorld);
629
+ vec3 groundNormal = ${W?"normalize(vpos + localOrigin)":"vec3(0.0, 0.0, 1.0)"};
630
+
631
+ ${(0,R.If)(j,"vec3 faceNormal = screenDerivativeNormal(vpos);\n float snow = getRealisticTreeSnow(faceNormal, shadingNormal, groundNormal);\n albedo = mix(albedo, vec3(1), snow);")}
632
+
633
+ ${R.H`albedo *= 1.2;
634
+ vec3 viewForward = vec3(view[0][2], view[1][2], view[2][2]);
635
+ float alignmentLightView = clamp(dot(viewForward, -mainLightDirection), 0.0, 1.0);
636
+ float transmittance = 1.0 - clamp(dot(viewForward, shadingNormal), 0.0, 1.0);
637
+ float treeRadialFalloff = vColor.r;
638
+ float backLightFactor = 0.5 * treeRadialFalloff * alignmentLightView * transmittance * (1.0 - shadow);
639
+ additionalLight += backLightFactor * mainLightIntensity;`}
640
+
641
+ ${k?R.H`float additionalAmbientIrradiance = additionalAmbientIrradianceFactor * mainLightIntensity[2];
642
+ ${(0,R.If)(j,"mrr = applySnowToMRR(mrr, snow);")}
643
+ vec3 shadedColor = evaluateSceneLightingPBR(shadingNormal, albedo, shadow, 1.0 - ssao, additionalLight, viewDirection, groundNormal, mrr, additionalAmbientIrradiance);`:R.H`vec3 shadedColor = evaluateSceneLighting(shadingNormal, albedo, shadow, 1.0 - ssao, additionalLight);`}
644
+ vec4 finalColor = vec4(shadedColor, opacity_);
645
+ outputColorHighlightOLID(finalColor, vpos, albedo ${(0,R.If)(j,", 1.0")});`),t}const L=Object.freeze(Object.defineProperty({__proto__:null,build:z},Symbol.toStringTag,{value:"Module"}))},57917(e,t,r){r.d(t,{S:()=>o});var i=r(34275),n=r(20498);function o(e){if(e.length<i.y9)return Array.from(e);if(Array.isArray(e))return Float64Array.from(e);if(!("BYTES_PER_ELEMENT"in e))return Array.from(e);switch(e.BYTES_PER_ELEMENT){case 1:return Uint8Array.from(e);case 2:return(0,i.LW)(e)?(0,n.pX)().from(e):(0,i.jq)(e)?Uint16Array.from(e):Int16Array.from(e);case 4:return Float32Array.from(e);default:return Float64Array.from(e)}}},58029(e,t,r){r.d(t,{F:()=>n});var i=r(74333);class n extends i.n{constructor(e,t,r){super(e,"mat4",0,(i,n)=>i.setUniformMatrix4fv(e,t(n),r))}}},58614(e,t,r){r.d(t,{S:()=>a}),r(28421);var i=r(20304),n=r(31821),o=r(49788);function a(e,t){!function(e,t,r){const i=e.fragment,a=t.alphaDiscardMode,s=0===a;2!==a&&3!==a||i.uniforms.add(r),i.code.add(n.H`
646
+ void discardOrAdjustAlpha(inout vec4 color) {
647
+ ${1===a?"color.a = 1.0;":`if (color.a < ${s?n.H.float(o.Q):"textureAlphaCutoff"}) {\n discard;\n } ${(0,n.If)(2===a,"else { color.a = 1.0; }")}`}
648
+ }
649
+ `)}(e,t,new i.m("textureAlphaCutoff",e=>e.textureAlphaCutoff))}},59469(e,t,r){r.d(t,{_:()=>c});var i=r(99208),n=r(40710),o=r(33079),a=r(31821),s=r(15976),l=r(63761);function c(e,t){const r=t.pbrMode,c=e.fragment;if(2!==r&&0!==r&&1!==r)return void c.code.add(a.H`void applyPBRFactors() {}`);if(0===r)return void c.code.add(a.H`void applyPBRFactors() {}
650
+ float getBakedOcclusion() { return 1.0; }`);if(2===r)return void c.code.add(a.H`vec3 mrr = vec3(0.0, 0.6, 0.2);
651
+ float occlusion = 1.0;
652
+ void applyPBRFactors() {}
653
+ float getBakedOcclusion() { return 1.0; }`);const{hasMetallicRoughnessTexture:d,hasMetallicRoughnessTextureTransform:u,hasOcclusionTexture:h,hasOcclusionTextureTransform:m,bindType:p}=t;(d||h)&&e.include(i.r,t),c.code.add(a.H`vec3 mrr;
654
+ float occlusion;`),d&&c.uniforms.add(1===p?new l.N("texMetallicRoughness",e=>e.textureMetallicRoughness):new s.o("texMetallicRoughness",e=>e.textureMetallicRoughness)),h&&c.uniforms.add(1===p?new l.N("texOcclusion",e=>e.textureOcclusion):new s.o("texOcclusion",e=>e.textureOcclusion)),c.uniforms.add(1===p?new o.t("mrrFactors",e=>e.mrrFactors):new n.W("mrrFactors",e=>e.mrrFactors)),c.code.add(a.H`
655
+ ${(0,a.If)(d,a.H`void applyMetallicRoughness(vec2 uv) {
656
+ vec3 metallicRoughness = textureLookup(texMetallicRoughness, uv).rgb;
657
+ mrr[0] *= metallicRoughness.b;
658
+ mrr[1] *= metallicRoughness.g;
659
+ }`)}
660
+
661
+ ${(0,a.If)(h,"void applyOcclusion(vec2 uv) { occlusion *= textureLookup(texOcclusion, uv).r; }")}
662
+
663
+ float getBakedOcclusion() {
664
+ return ${h?"occlusion":"1.0"};
665
+ }
666
+
667
+ void applyPBRFactors() {
668
+ mrr = mrrFactors;
669
+ occlusion = 1.0;
670
+
671
+ ${(0,a.If)(d,`applyMetallicRoughness(${u?"metallicRoughnessUV":"vuv0"});`)}
672
+ ${(0,a.If)(h,`applyOcclusion(${m?"occlusionUV":"vuv0"});`)}
673
+ }
674
+ `)}(r(74810),r(65786)).Y},59907(e,t,r){r.d(t,{Hk:()=>h,Pq:()=>u,Ue:()=>l,Ut:()=>d,p1:()=>m,tb:()=>p,uO:()=>s,vJ:()=>v,vx:()=>f}),r(35522);var i=r(51850),n=r(58083),o=r(13030),a=r(620);function s(e,t,r,i=1){const{data:n,indices:o}=e,a=t.typedBuffer,s=t.typedBufferStride,l=o.length;if(r*=s,1===i)for(let e=0;e<l;++e)a[r]=n[o[e]],r+=s;else for(let e=0;e<l;++e){const t=n[o[e]];for(let e=0;e<i;e++)a[r]=t,r+=s}}function l(e,t,r){const{data:i,indices:n}=e,o=t.typedBuffer,a=t.typedBufferStride,s=n.length;r*=a;for(let e=0;e<s;++e){const t=2*n[e];o[r]=i[t],o[r+1]=i[t+1],r+=a}}function c(e,t,r,i=1){const{data:n,indices:o}=e,a=t.typedBuffer,s=t.typedBufferStride,l=o.length;if(r*=s,1===i)for(let e=0;e<l;++e){const t=3*o[e];a[r]=n[t],a[r+1]=n[t+1],a[r+2]=n[t+2],r+=s}else for(let e=0;e<l;++e){const t=3*o[e];for(let e=0;e<i;++e)a[r]=n[t],a[r+1]=n[t+1],a[r+2]=n[t+2],r+=s}}function d(e,t,r,i=1){const{data:n,indices:o}=e,a=t.typedBuffer,s=t.typedBufferStride,l=o.length;if(r*=s,1===i)for(let e=0;e<l;++e){const t=4*o[e];a[r]=n[t],a[r+1]=n[t+1],a[r+2]=n[t+2],a[r+3]=n[t+3],r+=s}else for(let e=0;e<l;++e){const t=4*o[e];for(let e=0;e<i;++e)a[r]=n[t],a[r+1]=n[t+1],a[r+2]=n[t+2],a[r+3]=n[t+3],r+=s}}function u(e,t,r){const i=e.typedBuffer,n=e.typedBufferStride;t*=n;for(let e=0;e<r;++e)i[t]=0,i[t+1]=0,i[t+2]=0,i[t+3]=0,t+=n}function h(e,t,r,i,o=1){if(!t)return void c(e,r,i,o);const{data:a,indices:s}=e,l=r.typedBuffer,d=r.typedBufferStride,u=s.length,h=t[0],m=t[1],p=t[2],f=t[4],v=t[5],g=t[6],_=t[8],x=t[9],w=t[10],b=t[12],y=t[13],M=t[14];i*=d;let T=0,C=0,S=0;const E=(0,n.tZ)(t)?e=>{T=a[e]+b,C=a[e+1]+y,S=a[e+2]+M}:e=>{const t=a[e],r=a[e+1],i=a[e+2];T=h*t+f*r+_*i+b,C=m*t+v*r+x*i+y,S=p*t+g*r+w*i+M};if(1===o)for(let e=0;e<u;++e)E(3*s[e]),l[i]=T,l[i+1]=C,l[i+2]=S,i+=d;else for(let e=0;e<u;++e){E(3*s[e]);for(let e=0;e<o;++e)l[i]=T,l[i+1]=C,l[i+2]=S,i+=d}}function m(e,t,r,i,o=1){if(!t)return void c(e,r,i,o);const{data:a,indices:s}=e,l=t,d=r.typedBuffer,u=r.typedBufferStride,h=s.length,m=l[0],p=l[1],f=l[2],v=l[4],g=l[5],_=l[6],x=l[8],w=l[9],b=l[10],y=!(0,n.ut)(l),M=1e-6,T=1-M;i*=u;let C=0,S=0,E=0;const A=(0,n.tZ)(l)?e=>{C=a[e],S=a[e+1],E=a[e+2]}:e=>{const t=a[e],r=a[e+1],i=a[e+2];C=m*t+v*r+x*i,S=p*t+g*r+w*i,E=f*t+_*r+b*i};if(1===o)if(y)for(let e=0;e<h;++e){A(3*s[e]);const t=C*C+S*S+E*E;if(t<T&&t>M){const e=1/Math.sqrt(t);d[i]=C*e,d[i+1]=S*e,d[i+2]=E*e}else d[i]=C,d[i+1]=S,d[i+2]=E;i+=u}else for(let e=0;e<h;++e)A(3*s[e]),d[i]=C,d[i+1]=S,d[i+2]=E,i+=u;else for(let e=0;e<h;++e){if(A(3*s[e]),y){const e=C*C+S*S+E*E;if(e<T&&e>M){const t=1/Math.sqrt(e);C*=t,S*=t,E*=t}}for(let e=0;e<o;++e)d[i]=C,d[i+1]=S,d[i+2]=E,i+=u}}function p(e,t,r,i,n=1){const{data:o,indices:a}=e,s=r.typedBuffer,l=r.typedBufferStride,c=a.length;if(i*=l,t===o.length&&4===t){s[i]=o[0],s[i+1]=o[1],s[i+2]=o[2],s[i+3]=o[3];const e=new Uint32Array(r.typedBuffer.buffer,r.start),t=l/4,a=e[i/=4];i+=t;const d=c*n;for(let r=1;r<d;++r)e[i]=a,i+=t;return}if(1!==n)if(4!==t)for(let e=0;e<c;++e){const t=3*a[e];for(let e=0;e<n;++e)s[i]=o[t],s[i+1]=o[t+1],s[i+2]=o[t+2],s[i+3]=255,i+=l}else for(let e=0;e<c;++e){const t=4*a[e];for(let e=0;e<n;++e)s[i]=o[t],s[i+1]=o[t+1],s[i+2]=o[t+2],s[i+3]=o[t+3],i+=l}else{if(4===t){for(let e=0;e<c;++e){const t=4*a[e];s[i]=o[t],s[i+1]=o[t+1],s[i+2]=o[t+2],s[i+3]=o[t+3],i+=l}return}for(let e=0;e<c;++e){const t=3*a[e];s[i]=o[t],s[i+1]=o[t+1],s[i+2]=o[t+2],s[i+3]=255,i+=l}}}function f(e,t,r,i,n=1){const o=t.typedBuffer,a=t.typedBufferStride;if(i*=a,1===n)for(let t=0;t<r;++t)o[i]=e[0],o[i+1]=e[1],o[i+2]=e[2],o[i+3]=e[3],i+=a;else for(let t=0;t<r;++t)for(let t=0;t<n;++t)o[i]=e[0],o[i+1]=e[1],o[i+2]=e[2],o[i+3]=e[3],i+=a}function v(e,t,r,i,n,a,s){let l={numItems:0,numVerticesPerItem:0};for(const c of r.fields.keys()){const r=e.get(c),d=r?.indices;if(r&&d)"position"===c&&(l={numItems:1,numVerticesPerItem:d.length}),g(c,r,i,n,a,s);else if("olidColor"===c&&null!=t){const r=e.get("position")?.indices;if(r){const e=r.length;f(t,a.getField(c,o.XP),e,s)}}}return l}function g(e,t,r,i,s,u){switch(e){case"position":{(0,a.vA)(3===t.size);const i=s.getField(e,o.xs);(0,a.vA)(!!i,`No buffer view for ${e}`),h(t,r,i,u);break}case"normal":{(0,a.vA)(3===t.size);const r=s.getField(e,o.xs);(0,a.vA)(!!r,`No buffer view for ${e}`),m(t,i,r,u);break}case"normalCompressed":case"profileRight":case"profileUp":{(0,a.vA)(2===t.size);const r=s.getField(e,o.mJ);(0,a.vA)(!!r,`No buffer view for ${e}`),l(t,r,u);break}case"uv0":{(0,a.vA)(2===t.size);const r=s.getField(e,o.ZD)??s.getField(e,o.gH);(0,a.vA)(!!r,`No buffer view for ${e}`),l(t,r,u);break}case"uvi":{(0,a.vA)(2===t.size);const r=s.getField(e,o.mJ);(0,a.vA)(!!r,`No buffer view for ${e}`),l(t,r,u);break}case"color":case"symbolColor":{const r=s.getField(e,o.XP);(0,a.vA)(!!r,`No buffer view for ${e}`),(0,a.vA)(3===t.size||4===t.size),p(t,t.size,r,u);break}case"colorFeatureAttribute":case"opacityFeatureAttribute":case"sizeFeatureAttribute":{const r=s.getField(e,o.Y$)??s.getField(e,o.Y$);(0,a.vA)(!!r,`No buffer view for ${e}`),(0,a.vA)(1===t.size),function(e,t,r){const{data:i,indices:n}=e,o=t.typedBuffer,a=t.typedBufferStride,s=n.length,l=i[0];r*=a;for(let e=0;e<s;++e)o[r]=l,r+=a}(t,r,u);break}case"tangent":{(0,a.vA)(4===t.size);const i=s.getField(e,o.Eq);(0,a.vA)(!!i,`No buffer view for ${e}`),function(e,t,r,i,o=1){if(!t)return void d(e,r,i,o);const{data:a,indices:s}=e,l=t,c=r.typedBuffer,u=r.typedBufferStride,h=s.length,m=l[0],p=l[1],f=l[2],v=l[4],g=l[5],_=l[6],x=l[8],w=l[9],b=l[10],y=!(0,n.ut)(l),M=1e-6,T=1-M;if(i*=u,1===o)for(let e=0;e<h;++e){const t=4*s[e],r=a[t],n=a[t+1],o=a[t+2],l=a[t+3];let d=m*r+v*n+x*o,h=p*r+g*n+w*o,C=f*r+_*n+b*o;if(y){const e=d*d+h*h+C*C;if(e<T&&e>M){const t=1/Math.sqrt(e);d*=t,h*=t,C*=t}}c[i]=d,c[i+1]=h,c[i+2]=C,c[i+3]=l,i+=u}else for(let e=0;e<h;++e){const t=4*s[e],r=a[t],n=a[t+1],l=a[t+2],d=a[t+3];let h=m*r+v*n+x*l,C=p*r+g*n+w*l,S=f*r+_*n+b*l;if(y){const e=h*h+C*C+S*S;if(e<T&&e>M){const t=1/Math.sqrt(e);h*=t,C*=t,S*=t}}for(let e=0;e<o;++e)c[i]=h,c[i+1]=C,c[i+2]=S,c[i+3]=d,i+=u}}(t,r,i,u);break}case"profileVertexAndNormal":{(0,a.vA)(4===t.size);const r=s.getField(e,o.jz)??s.getField(e,o.Eq);(0,a.vA)(!!r,`No buffer view for ${e}`),d(t,r,u);break}case"profileAuxData":{(0,a.vA)(3===t.size);const r=s.getField(e,o.EC)??s.getField(e,o.xs);(0,a.vA)(!!r,`No buffer view for ${e}`),c(t,r,u);break}}}(0,i.vt)()},62602(e,t,r){r.d(t,{r:()=>n});var i=r(31821);function n(e,t){const r=e.fragment;switch(r.code.add(i.H`struct ShadingNormalParameters {
675
+ vec3 normalView;
676
+ vec3 viewDirection;
677
+ } shadingParams;`),t.doubleSidedMode){case 0:r.code.add(i.H`vec3 shadingNormal(ShadingNormalParameters params) {
678
+ return normalize(params.normalView);
679
+ }`);break;case 1:r.code.add(i.H`vec3 shadingNormal(ShadingNormalParameters params) {
680
+ return dot(params.normalView, params.viewDirection) > 0.0 ? normalize(-params.normalView) : normalize(params.normalView);
681
+ }`);break;case 2:r.code.add(i.H`vec3 shadingNormal(ShadingNormalParameters params) {
682
+ return gl_FrontFacing ? normalize(params.normalView) : normalize(-params.normalView);
683
+ }`);break;default:t.doubleSidedMode;case 3:}}},63365(e,t,r){r.d(t,{a:()=>n});var i=r(31821);function n(e){e.code.add(i.H`vec4 premultiplyAlpha(vec4 v) {
684
+ return vec4(v.rgb * v.a, v.a);
685
+ }
686
+ vec3 rgb2hsv(vec3 c) {
687
+ vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);
688
+ vec4 p = c.g < c.b ? vec4(c.bg, K.wz) : vec4(c.gb, K.xy);
689
+ vec4 q = c.r < p.x ? vec4(p.xyw, c.r) : vec4(c.r, p.yzx);
690
+ float d = q.x - min(q.w, q.y);
691
+ float e = 1.0e-10;
692
+ return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), min(d / (q.x + e), 1.0), q.x);
693
+ }
694
+ vec3 hsv2rgb(vec3 c) {
695
+ vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);
696
+ vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);
697
+ return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y);
698
+ }
699
+ float rgb2v(vec3 c) {
700
+ return max(c.x, max(c.y, c.z));
701
+ }`)}},63761(e,t,r){r.d(t,{N:()=>n});var i=r(74333);class n extends i.n{constructor(e,t){super(e,"sampler2D",1,(r,i,n)=>r.bindTexture(e,t(i,n)))}}},65261(e,t,r){r.d(t,{C:()=>o});var i=r(40876),n=r(31821);function o(e){e.code.add(n.H`
702
+ const float GAMMA = ${n.H.float(i.Tf)};
703
+ const float INV_GAMMA = ${n.H.float(1/i.Tf)};
704
+
705
+ vec3 delinearizeGamma(vec3 color) {
706
+ return pow(color, vec3(INV_GAMMA));
707
+ }
708
+
709
+ vec4 delinearizeGamma(vec4 color) {
710
+ return vec4(delinearizeGamma(color.rgb), color.a);
711
+ }
712
+
713
+ vec3 linearizeGamma(vec3 color) {
714
+ return pow(color, vec3(GAMMA));
715
+ }
716
+ `)}},65786(e,t,r){r.d(t,{Y:()=>i});const i=class{};new i},65806(e,t,r){r.d(t,{g:()=>a});var i=r(51850),n=r(91218),o=r(9762);function a(e,t,r,i){if((0,n.canProjectWithoutEngine)(e.spatialReference,r))return s[0]=e.x,s[1]=e.y,s[2]=e.z??0,(0,o.projectBuffer)(s,e.spatialReference,0,t,r,0);const a=(0,n.tryProject)(e,r,i);return!!a&&(t[0]=a.x,t[1]=a.y,t[2]=a.z??0,!0)}const s=(0,i.vt)()},67171(e,t,r){r.d(t,{R:()=>o,e:()=>a});var i=r(63907),n=r(42293);class o{constructor(e=0,t=e){this.width=e,this.height=t,this.type=0,this.target=3553,this.pixelFormat=6408,this.dataType=i.ld.UNSIGNED_BYTE,this.samplingMode=9729,this.wrapMode=10497,this.maxAnisotropy=1,this.flipped=!1,this.hasMipmap=!1,this.isOpaque=!1,this.unpackAlignment=4,this.preMultiplyAlpha=!1,this.compareEnabled=!1,this.linearFilterDepth=!1,this.depth=1,this.isImmutable=!1}}function a(e){return e.width<=0||e.height<=0||e.depth<=0?0:Math.round(e.width*e.height*e.depth*(e.hasMipmap?4/3:1)*(null==e.internalFormat?4:(0,n.MW)(e.internalFormat))*(34067===e.target?6:1))}},68259(e,t,r){r.d(t,{t:()=>n});var i=r(74333);class n extends i.n{constructor(e,t,r){super(e,"vec2",2,(i,n,o,a)=>i.setUniform2fv(e,t(n,o,a),r))}}},68317(e,t,r){r.d(t,{rA:()=>g,Hz:()=>f,HQ:()=>v});var i=r(31635),n=r(44208),o=r(58083),a=r(9093),s=r(35522),l=r(51850),c=r(51976);class d extends c.K{constructor(){super(...arguments),this.output=0,this.hasEmission=!1}}(0,i.Cg)([(0,c.W)({count:10})],d.prototype,"output",void 0),(0,i.Cg)([(0,c.W)()],d.prototype,"hasEmission",void 0);class u extends d{constructor(){super(...arguments),this.instancedDoublePrecision=!1,this.hasModelTransformation=!1}}var h=r(40710),m=(r(33079),r(31821)),p=r(65786);class f extends u{constructor(){super(...arguments),this.hasSlicePlane=!1,this.hasSliceTranslatedView=!1}}function v(e,t){!function(e,t,...r){e.constants.add("groundSliceOpacity","float",(0,n.A)("enable-feature:oit-ground")?.25:.2),x(e,t,...r),t.hasSlicePlane?e.code.add("\n void discardBySlice(vec3 pos) {\n if (rejectBySlice(pos)) {\n discard;\n }\n }\n\n vec4 applySliceOutline(vec4 color, vec3 pos) {\n SliceFactors factors = calculateSliceFactors(pos);\n\n factors.front /= 2.0 * fwidth(factors.front);\n factors.side0 /= 2.0 * fwidth(factors.side0);\n factors.side1 /= 2.0 * fwidth(factors.side1);\n factors.side2 /= 2.0 * fwidth(factors.side2);\n factors.side3 /= 2.0 * fwidth(factors.side3);\n\n // return after calling fwidth, to avoid aliasing caused by discontinuities in the input to fwidth\n if (sliceByFactors(factors)) {\n return color;\n }\n\n float outlineFactor = (1.0 - step(0.5, factors.front))\n * (1.0 - step(0.5, factors.side0))\n * (1.0 - step(0.5, factors.side1))\n * (1.0 - step(0.5, factors.side2))\n * (1.0 - step(0.5, factors.side3));\n\n return mix(color, vec4(vec3(0.0), color.a), outlineFactor * 0.3);\n }\n\n vec4 applySlice(vec4 color, vec3 pos) {\n return sliceEnabled() ? applySliceOutline(color, pos) : color;\n }\n "):e.code.add(m.H`void discardBySlice(vec3 pos) { }
717
+ vec4 applySlice(vec4 color, vec3 pos) { return color; }`)}(e,t,new h.W("slicePlaneOrigin",(e,r)=>M(t,e,r)),new h.W("slicePlaneBasis1",(e,r)=>T(t,e,r,r.slicePlane?.basis1)),new h.W("slicePlaneBasis2",(e,r)=>T(t,e,r,r.slicePlane?.basis2)))}function g(e,t){x(e,t,new h.W("slicePlaneOrigin",(e,r)=>M(t,e,r)),new h.W("slicePlaneBasis1",(e,r)=>T(t,e,r,r.slicePlane?.basis1)),new h.W("slicePlaneBasis2",(e,r)=>T(t,e,r,r.slicePlane?.basis2)))}(0,i.Cg)([(0,c.W)()],f.prototype,"hasSlicePlane",void 0),p.Y;const _=m.H`struct SliceFactors {
718
+ float front;
719
+ float side0;
720
+ float side1;
721
+ float side2;
722
+ float side3;
723
+ };
724
+ SliceFactors calculateSliceFactors(vec3 pos) {
725
+ vec3 rel = pos - slicePlaneOrigin;
726
+ vec3 slicePlaneNormal = -cross(slicePlaneBasis1, slicePlaneBasis2);
727
+ float slicePlaneW = -dot(slicePlaneNormal, slicePlaneOrigin);
728
+ float basis1Len2 = dot(slicePlaneBasis1, slicePlaneBasis1);
729
+ float basis2Len2 = dot(slicePlaneBasis2, slicePlaneBasis2);
730
+ float basis1Dot = dot(slicePlaneBasis1, rel);
731
+ float basis2Dot = dot(slicePlaneBasis2, rel);
732
+ return SliceFactors(
733
+ dot(slicePlaneNormal, pos) + slicePlaneW,
734
+ -basis1Dot - basis1Len2,
735
+ basis1Dot - basis1Len2,
736
+ -basis2Dot - basis2Len2,
737
+ basis2Dot - basis2Len2
738
+ );
739
+ }
740
+ bool sliceByFactors(SliceFactors factors) {
741
+ return factors.front < 0.0
742
+ && factors.side0 < 0.0
743
+ && factors.side1 < 0.0
744
+ && factors.side2 < 0.0
745
+ && factors.side3 < 0.0;
746
+ }
747
+ bool sliceEnabled() {
748
+ return dot(slicePlaneBasis1, slicePlaneBasis1) != 0.0;
749
+ }
750
+ bool rejectBySlice(vec3 pos) {
751
+ return sliceEnabled() && sliceByFactors(calculateSliceFactors(pos));
752
+ }`;function x(e,t,...r){t.hasSlicePlane?(e.uniforms.add(...r),e.code.add(_)):e.code.add("bool rejectBySlice(vec3 pos) { return false; }")}function w(e,t,r){return e.instancedDoublePrecision?(0,s.hZ)(C,r.camera.viewInverseTransposeMatrix[3],r.camera.viewInverseTransposeMatrix[7],r.camera.viewInverseTransposeMatrix[11]):t.slicePlaneLocalOrigin}function b(e,t){return null!=e?(0,s.Re)(S,t.origin,e):t.origin}function y(e,t,r){return e.hasSliceTranslatedView?null!=t?(0,o.Tl)(A,r.camera.viewMatrix,t):r.camera.viewMatrix:null}function M(e,t,r){if(null==r.slicePlane)return l.uY;const i=w(e,t,r),n=b(i,r.slicePlane),o=y(e,i,r);return null!=o?(0,s.Z0)(S,n,o):n}function T(e,t,r,i){if(null==i||null==r.slicePlane)return l.uY;const n=w(e,t,r),o=b(n,r.slicePlane),a=y(e,n,r);return null!=a?((0,s.WQ)(E,i,o),(0,s.Z0)(S,o,a),(0,s.Z0)(E,E,a),(0,s.Re)(E,E,S)):i}const C=(0,l.vt)(),S=(0,l.vt)(),E=(0,l.vt)(),A=(0,a.vt)()},71955(e,t,r){r.d(t,{K:()=>l});var i=r(43519),n=r(31821),o=r(74333);class a extends o.n{constructor(e,t){super(e,"int",1,(r,i,n)=>r.setUniform1i(e,t(i,n)))}}var s=r(43616);function l(e,t){e.varyings.add("colorMixMode","int"),e.varyings.add("opacityMixMode","int"),e.vertex.uniforms.add(new a("symbolColorMixMode",e=>s.Um[e.colorMixMode])),t.hasSymbolColors?(e.vertex.include(i.WD),e.vertex.include(i.Y1),e.vertex.include(i.ML),e.attributes.add("symbolColor","vec4"),e.vertex.code.add(n.H`
753
+ MaskedColor applySymbolColor(MaskedColor color) {
754
+ return multiplyMaskedColors(color, createMaskedFromUInt8NaNColor(${"symbolColor"}));
755
+ }
756
+ `)):e.vertex.code.add(n.H`MaskedColor applySymbolColor(MaskedColor color) {
757
+ return color;
758
+ }`),e.vertex.code.add(n.H`
759
+ void forwardColorMixMode(bvec4 mask) {
760
+ colorMixMode = mask.r ? ${n.H.int(s.Um.ignore)} : symbolColorMixMode;
761
+ opacityMixMode = mask.a ? ${n.H.int(s.Um.ignore)} : symbolColorMixMode;
762
+ }
763
+ `)}},71988(e,t,r){r.d(t,{E:()=>n});var i=r(74333);class n extends i.n{constructor(e,t,r){super(e,"vec4",1,(i,n,o)=>i.setUniform4fv(e,t(n,o),r))}}},72722(e,t,r){r.d(t,{B:()=>x});var i=r(77690),n=r(29242),o=r(9093),a=r(35522),s=r(51850),l=r(26425),c=r(20693),d=r(23205),u=r(31821),h=r(35644),m=r(74333);class p extends m.n{constructor(e,t,r){super(e,"mat4",1,(i,n,o)=>i.setUniformMatrix4fv(e,t(n,o),r))}}function f(e,t){const r=e.length;for(let i=0;i<r;++i)g[0]=e[i],t[i]=g[0];return t}function v(e,t){const r=e.length;for(let i=0;i<r;++i)g[0]=e[i],g[1]=e[i]-g[0],t[i]=g[1];return t}const g=new Float32Array(2);r(65786).Y;const _=(0,n.vt)();function x(e,t){const{hasModelTransformation:r,instancedDoublePrecision:n,instanced:s,output:m,hasVertexTangents:g}=t;r&&(e.vertex.uniforms.add(new p("model",e=>e.modelTransformation??o.zK)),e.vertex.uniforms.add(new h.k("normalLocalOriginFromModel",e=>((0,i.Ge)(_,e.modelTransformation??o.zK),_)))),s&&n&&(e.attributes.add("instanceModelOriginHi","vec3"),e.attributes.add("instanceModelOriginLo","vec3"),e.attributes.add("instanceModel","mat3"),e.attributes.add("instanceModelNormal","mat3"));const x=e.vertex;n&&(x.include(l.u,t),x.uniforms.add(new d.d("viewOriginHi",e=>f((0,a.hZ)(w,e.camera.viewInverseTransposeMatrix[3],e.camera.viewInverseTransposeMatrix[7],e.camera.viewInverseTransposeMatrix[11]),w)),new d.d("viewOriginLo",e=>v((0,a.hZ)(w,e.camera.viewInverseTransposeMatrix[3],e.camera.viewInverseTransposeMatrix[7],e.camera.viewInverseTransposeMatrix[11]),w)))),x.code.add(u.H`
764
+ vec3 getVertexInLocalOriginSpace() {
765
+ return ${r?n?"(model * vec4(instanceModel * localPosition().xyz, 1.0)).xyz":"(model * localPosition()).xyz":n?"instanceModel * localPosition().xyz":"localPosition().xyz"};
766
+ }
767
+
768
+ vec3 subtractOrigin(vec3 _pos) {
769
+ ${n?u.H`
770
+ // Issue: (should be resolved now with invariant position) https://devtopia.esri.com/WebGIS/arcgis-js-api/issues/56280
771
+ vec3 originDelta = dpAdd(viewOriginHi, viewOriginLo, -instanceModelOriginHi, -instanceModelOriginLo);
772
+ return _pos - originDelta;`:"return vpos;"}
773
+ }
774
+ `),x.code.add(u.H`
775
+ vec3 dpNormal(vec4 _normal) {
776
+ return normalize(${r?n?"normalLocalOriginFromModel * (instanceModelNormal * _normal.xyz)":"normalLocalOriginFromModel * _normal.xyz":n?"instanceModelNormal * _normal.xyz":"_normal.xyz"});
777
+ }
778
+ `),2===m&&((0,c.S7)(x),x.code.add(u.H`
779
+ vec3 dpNormalView(vec4 _normal) {
780
+ return normalize((viewNormal * ${r?n?"vec4(normalLocalOriginFromModel * (instanceModelNormal * _normal.xyz), 1.0)":"vec4(normalLocalOriginFromModel * _normal.xyz, 1.0)":n?"vec4(instanceModelNormal * _normal.xyz, 1.0)":"_normal"}).xyz);
781
+ }
782
+ `)),g&&x.code.add(u.H`
783
+ vec4 dpTransformVertexTangent(vec4 _tangent) {
784
+ ${r?n?"return vec4(normalLocalOriginFromModel * (instanceModelNormal * _tangent.xyz), _tangent.w);":"return vec4(normalLocalOriginFromModel * _tangent.xyz, _tangent.w);":n?"return vec4(instanceModelNormal * _tangent.xyz, _tangent.w);":"return _tangent;"}
785
+ }`)}const w=(0,s.vt)()},72824(e,t,r){r.d(t,{Mh:()=>d,Zo:()=>u,gy:()=>h});var i=r(29242),n=r(91829),o=r(96336),a=r(33752),s=r(31821),l=r(98353),c=r(35644);function d(e,t){const{vertex:r,varyings:i}=e;switch(t.normalType){case 0:case 1:{e.include(o.Y,t),i.add("vNormalWorld","vec3"),i.add("vNormalView","vec3"),r.uniforms.add(new c.k("transformNormalViewFromGlobal",e=>e.transformNormalViewFromGlobal));const{hasModelRotationScale:n}=t;n&&r.uniforms.add(new l.h("transformNormalGlobalFromModel",e=>e.transformNormalGlobalFromModel)),r.code.add(s.H`
786
+ void forwardNormal() {
787
+ vNormalWorld = ${(0,s.If)(n,s.H`transformNormalGlobalFromModel * `)} normalModel();
788
+ vNormalView = transformNormalViewFromGlobal * vNormalWorld;
789
+ }
790
+ `);break}case 2:e.vertex.code.add(s.H`void forwardNormal() {}`);break;default:t.normalType;case 3:}}class u extends a.dO{constructor(){super(...arguments),this.transformNormalViewFromGlobal=(0,i.vt)()}}class h extends a.EM{constructor(){super(...arguments),this.transformNormalGlobalFromModel=(0,i.vt)(),this.toMapSpace=(0,n.vt)()}}},74333(e,t,r){r.d(t,{n:()=>i});class i{constructor(e,t,r,i,n=null){if(this.name=e,this.type=t,this.arraySize=n,this.bind={0:null,1:null,2:null},i)switch(r){case void 0:break;case 0:this.bind[0]=i;break;case 1:this.bind[1]=i;break;case 2:this.bind[2]=i}}equals(e){return this.type===e.type&&this.name===e.name&&this.arraySize===e.arraySize}}},74810(e,t,r){r.d(t,{Bt:()=>s,Jr:()=>o,SY:()=>l,mb:()=>a});var i=r(35522),n=r(51850);function o({normalTexture:e,metallicRoughnessTexture:t,metallicFactor:r,roughnessFactor:o,emissiveTexture:a,emissiveFactor:s,occlusionTexture:l}){return null==e&&null==t&&null==a&&(null==s||(0,i.t2)(s,n.uY))&&null==l&&(null==o||1===o)&&(null==r||1===r)}const a=(0,n.CN)(1,1,.5),s=(0,n.CN)(0,.6,.2),l=(0,n.CN)(0,1,.2)},76284(e,t,r){r.d(t,{A:()=>T});var i=r(49186),n=r(44208),o=r(53966),a=r(97768),s=r(93637),l=r(74887),c=r(94656),d=r(63907),u=r(67171);const h=()=>o.A.getLogger("esri/views/webgl/textureUtils");function m(e){const{width:t,height:r,depth:i}=e;(null!=t&&t<0||null!=r&&r<0||null!=i&&i<0)&&h().error("Negative dimension parameters are not allowed!");const{internalFormat:n}=e;if(n&&(p(n)||f(n))){const{linearFilterDepth:t,compareEnabled:r,samplingMode:i,hasMipmap:n}=e;n&&h().error("Depth textures cannot have mipmaps"),t?9729!==i&&9728!==i&&h().error("Depth textures cannot sample mipmaps"):(9728!==i&&h().error("Depth textures without filtering must use NEAREST filtering"),r&&h().error("Depth textures without filtering cannot use compare function"))}}function p(e){return(0,s.a4)(d.SB,e)}function f(e){return(0,s.a4)(d.iE,e)}function v(e){return null!=e&&"type"in e&&"compressed"===e.type}function g(e){return null!=e&&!v(e)&&!function(e){return null!=e&&"byteLength"in e}(e)}function _(e){return 32879===e||35866===e}function x(e,t,r,i=1){let n=Math.max(t,r);return 32879===e&&(n=Math.max(n,i)),Math.floor(Math.log2(n))+1}function w(e){if(null!=e.internalFormat)return e.internalFormat;switch(e.dataType){case d.ld.FLOAT:switch(e.pixelFormat){case 6408:return d.H0.RGBA32F;case 6407:return d.H0.RGB32F;default:throw new i.A("texture:unknown-format","Unable to derive format")}case d.ld.UNSIGNED_BYTE:switch(e.pixelFormat){case 6408:return d.H0.RGBA8;case 6407:return d.H0.RGB8}}const{pixelFormat:t}=e;return e.internalFormat=34041===t?d.iE.DEPTH24_STENCIL8:6402===t?d.SB.DEPTH_COMPONENT24:t,e.internalFormat}class b extends u.R{constructor(e,t){switch(super(),this.context=e,Object.assign(this,t),this.internalFormat){case d.H0.R16F:case d.H0.R32F:case d.H0.R8_SNORM:case d.H0.R8:this.pixelFormat=6403;break;case d.H0.R8I:case d.H0.R8UI:case d.H0.R16I:case d.H0.R16UI:case d.H0.R32I:case d.H0.R32UI:this.pixelFormat=36244}}static validate(e,t){return new b(e,t)}}const y=!!(0,n.A)("esri-tests-disable-gpu-memory-measurements"),M=()=>o.A.getLogger("esri/views/webgl/Texture");class T{static{this.TEXTURE_UNIT_FOR_UPDATES=0}static{this.compressionWorkerHandle=null}constructor(e,t=null,r=null){if(this.type=1,this._glName=null,this._samplingModeDirty=!1,this._wrapModeDirty=!1,this._shadowFilterDirty=!1,this._wasImmutablyAllocated=!1,"context"in e)this._descriptor=e,r=t;else{const r=b.validate(e,t);if(!r)throw new i.A("texture:invalid-descriptor","Texture descriptor invalid");this._descriptor=r}34067===this._descriptor.target?this._setDataCubeMap(r):this.setData(r)}get glName(){return this._glName}get descriptor(){return this._descriptor}get usedMemory(){return y?0:(0,u.e)(this._descriptor)}get isDirty(){return this._samplingModeDirty||this._wrapModeDirty||this._shadowFilterDirty}get hasWebGLTextureObject(){return!!this._glName}dispose(){this.abortCompression(),this.hasWebGLTextureObject&&this._descriptor.context?.gl&&(this._descriptor.context.instanceCounter.decrement(d.vt.Texture,this),this._descriptor.context.unbindTexture(this),this._descriptor.context.gl.deleteTexture(this._glName),this._glName=null,this._descriptor=null)}release(){this.dispose()}[Symbol.dispose](){this.dispose()}resize(e,t){const r=this._descriptor;if(r.width!==e||r.height!==t){if(this._wasImmutablyAllocated)throw new i.A("texture:immutable-resize","Immutable textures can't be resized!");r.width=e,r.height=t,34067===this._descriptor.target?this._setDataCubeMap(null):this.setData(null)}}enableCompression(e){this._descriptor.compress=e}disableCompression(){this._descriptor.compress=void 0}setData(e){this.abortCompression(),!v(e)&&this._descriptor.internalFormat&&(0,s.a4)(d.CQ,this._descriptor.internalFormat)&&(this._descriptor.internalFormat=void 0),this._setData(e),!v(e)&&this._descriptor.compress&&this._compressOnWorker(e)}updateData(e,t,r,n,o,a,s=0){a||M().error("An attempt to use uninitialized data!"),this.hasWebGLTextureObject||M().error("An attempt to update uninitialized texture!");const l=this._descriptor;l.internalFormat=w(l);const{context:c,pixelFormat:d,dataType:u,target:h,isImmutable:m}=l;if(m&&!this._wasImmutablyAllocated)throw new i.A("texture:uninitialized","Cannot update immutable texture before allocation!");const p=c.bindTexture(this,T.TEXTURE_UNIT_FOR_UPDATES,!0);(t<0||r<0||t+n>l.width||r+o>l.height)&&M().error("An attempt to update out of bounds of the texture!"),this._configurePixelStorage();const{gl:f}=c;s&&(n&&o||M().warn("Must pass width and height if `UNPACK_SKIP_ROWS` is used"),f.pixelStorei(f.UNPACK_SKIP_ROWS,s)),g(a)?f.texSubImage2D(h,e,t,r,n,o,d,u,a):v(a)?f.compressedTexSubImage2D(h,e,t,r,n,o,l.internalFormat,a.levels[e]):f.texSubImage2D(h,e,t,r,n,o,d,u,a),s&&f.pixelStorei(f.UNPACK_SKIP_ROWS,0),c.bindTexture(p,T.TEXTURE_UNIT_FOR_UPDATES)}updateData3D(e,t,r,n,o,a,s,l){l||M().error("An attempt to use uninitialized data!"),this.hasWebGLTextureObject||M().error("An attempt to update an uninitialized texture!");const c=this._descriptor;c.internalFormat=w(c);const{context:d,pixelFormat:u,dataType:h,isImmutable:m,target:p}=c;if(m&&!this._wasImmutablyAllocated)throw new i.A("texture:uninitialized","Cannot update immutable texture before allocation!");_(p)||M().warn("Attempting to set 3D texture data on a non-3D texture");const f=d.bindTexture(this,T.TEXTURE_UNIT_FOR_UPDATES);d.setActiveTexture(T.TEXTURE_UNIT_FOR_UPDATES),(t<0||r<0||n<0||t+o>c.width||r+a>c.height||n+s>c.depth)&&M().error("An attempt to update out of bounds of the texture!"),this._configurePixelStorage();const{gl:g}=d;if(v(l))l=l.levels[e],g.compressedTexSubImage3D(p,e,t,r,n,o,a,s,c.internalFormat,l);else{const i=l;g.texSubImage3D(p,e,t,r,n,o,a,s,u,h,i)}d.bindTexture(f,T.TEXTURE_UNIT_FOR_UPDATES)}generateMipmap(){const e=this._descriptor;if(0===e.width||0===e.height)return;if(!e.hasMipmap){if(this._wasImmutablyAllocated)throw new i.A("texture:immutable-change","Cannot add mipmaps to immutable texture after allocation");e.hasMipmap=!0,this._samplingModeDirty=!0,m(e)}9729===e.samplingMode?(this._samplingModeDirty=!0,e.samplingMode=9985):9728===e.samplingMode&&(this._samplingModeDirty=!0,e.samplingMode=9984);const t=this._descriptor.context.bindTexture(this,T.TEXTURE_UNIT_FOR_UPDATES);this._descriptor.context.setActiveTexture(T.TEXTURE_UNIT_FOR_UPDATES),this._descriptor.context.gl.generateMipmap(e.target),this._descriptor.context.bindTexture(t,T.TEXTURE_UNIT_FOR_UPDATES)}clearMipmap(){const e=this._descriptor;if(e.hasMipmap){if(this._wasImmutablyAllocated)throw new i.A("texture:immutable-change","Cannot delete mipmaps to immutable texture after allocation");e.hasMipmap=!1,this._samplingModeDirty=!0,m(e)}9985===e.samplingMode?(this._samplingModeDirty=!0,e.samplingMode=9729):9984===e.samplingMode&&(this._samplingModeDirty=!0,e.samplingMode=9728)}setSamplingMode(e){e!==this._descriptor.samplingMode&&(this._descriptor.samplingMode=e,this._samplingModeDirty=!0)}setWrapMode(e){e!==this._descriptor.wrapMode&&(this._descriptor.wrapMode=e,m(this._descriptor),this._wrapModeDirty=!0)}setShadowFiltering(e){e!==this._descriptor.linearFilterDepth&&(this._descriptor.linearFilterDepth=this._descriptor.compareEnabled=e,this.setSamplingMode(e?9729:9728),m(this._descriptor),this._shadowFilterDirty=!0)}applyChanges(){this._samplingModeDirty&&(this._applySamplingMode(),this._samplingModeDirty=!1),this._wrapModeDirty&&(this._applyWrapMode(),this._wrapModeDirty=!1),this._shadowFilterDirty&&(this._applyShadowMode(),this._shadowFilterDirty=!1)}abortCompression(){this._compressionAbortController=(0,a.DC)(this._compressionAbortController)}_setData(e,t){const r=this._descriptor,n=r.context?.gl;if(!n)return;(0,c.Y2)(n),this.hasWebGLTextureObject||(this._glName=n.createTexture(),r.context.instanceCounter.increment(d.vt.Texture,this)),m(r);const o=r.context.bindTexture(this,T.TEXTURE_UNIT_FOR_UPDATES);r.context.setActiveTexture(T.TEXTURE_UNIT_FOR_UPDATES),this._configurePixelStorage(),(0,c.Y2)(n);const a=t??r.target,l=_(a);if(g(e))this._setDataFromTexImageSource(e,a);else{const{width:t,height:o,depth:u}=r;if(null==t||null==o)throw new i.A("texture:missing-size","Width and height must be specified!");if(l&&null==u)throw new i.A("texture:missing-depth","Depth must be specified!");if(r.internalFormat=w(r),r.isImmutable&&!this._wasImmutablyAllocated&&this._texStorage(a,r.internalFormat,r.hasMipmap,t,o,u),v(e)){if(!function(e){return null!=e&&(0,s.a4)(d.CQ,e)}(r.internalFormat))throw new i.A("texture:format-mismatch","Attempting to use compressed data with an uncompressed format!");this._setDataFromCompressedSource(e,r.internalFormat,a)}else this._texImage(a,0,r.internalFormat,t,o,u,e),(0,c.Y2)(n),r.hasMipmap&&this.generateMipmap()}this._applySamplingMode(),this._applyWrapMode(),this._applyAnisotropicFilteringParameters(),this._applyShadowMode(),(0,c.Y2)(n),r.context.bindTexture(o,T.TEXTURE_UNIT_FOR_UPDATES)}_setDataCubeMap(e=null){for(let t=34069;t<=34074;t++)this._setData(e,t)}_configurePixelStorage(){const e=this._descriptor.context.gl,{unpackAlignment:t,flipped:r,preMultiplyAlpha:i}=this._descriptor;e.pixelStorei(e.UNPACK_ALIGNMENT,t),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,r?1:0),e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,i?1:0)}_setDataFromTexImageSource(e,t){const{gl:r}=this._descriptor.context,i=this._descriptor;i.internalFormat=w(i);const n=_(t),{width:o,height:a,depth:s}=function(e){let t="width"in e?e.width:e.codedWidth,r="height"in e?e.height:e.codedHeight;return e instanceof HTMLVideoElement&&(t=e.videoWidth,r=e.videoHeight),{width:t,height:r,depth:1}}(e);i.width&&i.height,i.width||(i.width=o),i.height||(i.height=a),n&&i.depth,n&&(i.depth=s),i.isImmutable&&!this._wasImmutablyAllocated&&this._texStorage(t,i.internalFormat,i.hasMipmap,o,a,s),this._texImage(t,0,i.internalFormat,o,a,s,e),(0,c.Y2)(r),i.hasMipmap&&(this.generateMipmap(),(0,c.Y2)(r))}_setDataFromCompressedSource(e,t,r){const i=this._descriptor,{width:n,height:o,depth:a}=i,s=e.levels,l=x(r,n,o,a),c=Math.min(l,s.length)-1;this._descriptor.context.gl.texParameteri(i.target,33085,c),this._forEachMipmapLevel((e,i,n,o)=>{const a=s[Math.min(e,s.length-1)];this._compressedTexImage(r,e,t,i,n,o,a)},c)}_texStorage(e,t,r,n,o,a){const{gl:s}=this._descriptor.context;if(!function(e){return d.XN.includes(e)}(t)&&!p(t)&&!f(t))throw new i.A("texture:missing-format","Immutable textures must have a sized internal format");if(!this._descriptor.isImmutable)return;const l=r?x(e,n,o,a):1;if(_(e)){if(null==a)throw new i.A("texture:missing-depth","Missing depth dimension for 3D texture upload");s.texStorage3D(e,l,t,n,o,a)}else s.texStorage2D(e,l,t,n,o);this._wasImmutablyAllocated=!0}_texImage(e,t,r,n,o,a,s){const l=this._descriptor.context.gl,c=_(e),{isImmutable:d,pixelFormat:u,dataType:h}=this._descriptor;if(d){if(null!=s){const r=s;if(c){if(null==a)throw new i.A("texture:missing-depth","Missing depth dimension for 3D texture upload");l.texSubImage3D(e,t,0,0,0,n,o,a,u,h,r)}else l.texSubImage2D(e,t,0,0,n,o,u,h,r)}}else{const d=s;if(c){if(null==a)throw new i.A("texture:missing-depth","Missing depth dimension for 3D texture upload");l.texImage3D(e,t,r,n,o,a,0,u,h,d)}else l.texImage2D(e,t,r,n,o,0,u,h,d)}}_compressedTexImage(e,t,r,n,o,a,s){const l=this._descriptor.context.gl,c=_(e);if(this._descriptor.isImmutable){if(null!=s)if(c){if(null==a)throw new i.A("texture:missing-depth","Missing depth dimension for 3D texture upload");l.compressedTexSubImage3D(e,t,0,0,0,n,o,a,r,s)}else l.compressedTexSubImage2D(e,t,0,0,n,o,r,s)}else if(c){if(null==a)throw new i.A("texture:missing-depth","Missing depth dimension for 3D texture upload");l.compressedTexImage3D(e,t,r,n,o,a,0,s)}else l.compressedTexImage2D(e,t,r,n,o,0,s)}async _compressOnWorker(e){const{width:t,height:r,context:i,flipped:n,preMultiplyAlpha:o,hasMipmap:a}=this._descriptor,s=this._descriptor.compress?.compressionTracker,c=this._descriptor.compress?.compressionCallback,{compressedTextureETC:d,compressedTextureS3TC:u}=i.capabilities;if(!T.compressionWorkerHandle?.isCompressible(e,this._descriptor)||!d&&!u)return;this.abortCompression();const h=new AbortController;let m;this._compressionAbortController=h,s?.increment();try{e instanceof Uint8Array?m=e.buffer:(m=await createImageBitmap(e,{imageOrientation:n?"flipY":"none"}),(0,l.Te)(h));const i={data:m,width:t,height:r,needsFlip:e instanceof Uint8Array&&this.descriptor.flipped,components:6408===this._descriptor.pixelFormat?4:3,preMultiplyAlpha:o,hasMipmap:a,hasETC:!!d,hasS3TC:!!u},s=await T.compressionWorkerHandle.invoke(i,h.signal,1);if((0,l.Te)(h),s.compressedTexture&&this.hasWebGLTextureObject){const e=this.usedMemory;this._descriptor.internalFormat=s.internalFormat,this._setData(s.compressedTexture),c?.(e-this.usedMemory)}}catch(e){(0,l.zf)(e)||M().error("Texture compression failed!")}finally{s?.decrement(),this._compressionAbortController?.signal.aborted&&(this._compressionAbortController=null),m instanceof ImageBitmap&&m.close()}}_forEachMipmapLevel(e,t=1/0){let{width:r,height:n,depth:o,hasMipmap:a,target:s}=this._descriptor;const l=32879===s;if(null==r||null==n||l&&null==o)throw new i.A("texture:missing-size","Missing texture dimensions for mipmap calculation");for(let i=0;e(i,r,n,o),a&&(1!==r||1!==n||l&&1!==o)&&!(i>=t);++i)r=Math.max(1,r>>1),n=Math.max(1,n>>1),l&&(o=Math.max(1,o>>1))}_applySamplingMode(){const e=this._descriptor,t=e.context?.gl;let r=e.samplingMode,i=e.samplingMode;9985===r||9987===r?(r=9729,e.hasMipmap||(i=9729)):9984!==r&&9986!==r||(r=9728,e.hasMipmap||(i=9728)),t.texParameteri(e.target,t.TEXTURE_MAG_FILTER,r),t.texParameteri(e.target,t.TEXTURE_MIN_FILTER,i)}_applyWrapMode(){const e=this._descriptor,t=e.context?.gl;"number"==typeof e.wrapMode?(t.texParameteri(e.target,t.TEXTURE_WRAP_S,e.wrapMode),t.texParameteri(e.target,t.TEXTURE_WRAP_T,e.wrapMode)):(t.texParameteri(e.target,t.TEXTURE_WRAP_S,e.wrapMode.s),t.texParameteri(e.target,t.TEXTURE_WRAP_T,e.wrapMode.t))}_applyShadowMode(){const e=this._descriptor,t=e.context?.gl,r=e.compareEnabled?t.COMPARE_REF_TO_TEXTURE:t.NONE;t.texParameteri(e.target,t.TEXTURE_COMPARE_MODE,r),e.compareEnabled&&t.texParameteri(e.target,t.TEXTURE_COMPARE_FUNC,t.GREATER),(0,c.Y2)(t)}_applyAnisotropicFilteringParameters(){const e=this._descriptor,t=e.context.capabilities.textureFilterAnisotropic;t&&e.context.gl.texParameterf(e.target,t.TEXTURE_MAX_ANISOTROPY,e.maxAnisotropy??1)}}},76597(e,t,r){r.d(t,{d:()=>o});var i=r(33120),n=r(31821);function o(e){(0,i.i$)(e),e.vertex.code.add(n.H`vec4 transformPositionWithDepth(mat4 proj, mat4 view, vec3 pos, vec2 nearFar, out float depth) {
791
+ vec4 eye = view * vec4(pos, 1.0);
792
+ depth = calculateLinearDepth(nearFar,eye.z);
793
+ return proj * eye;
794
+ }`),e.vertex.code.add(n.H`vec4 transformPosition(mat4 proj, mat4 view, vec3 pos) {
795
+ return proj * (view * vec4(pos, 1.0));
796
+ }`)}},77108(e,t,r){r.d(t,{E:()=>n});var i=r(74333);class n extends i.n{constructor(e,t,r){super(e,"vec2",0,(i,n)=>i.setUniform2fv(e,t(n),r))}}},77194(e,t,r){r.d(t,{PS:()=>n,fc:()=>o}),r(44208);var i=r(34727);class n{constructor(){this._scale=0,this._angleFactor=0,this._minScale=0}update(e,t,r,i){r?(this._scale=Math.min(r.divisor/(t-r.offset),1),this._angleFactor=function(e){return Math.abs(e)**3}(e),this._minScale=null!=i?Math.min(r.minPixelSize/i,1):0):(this._scale=1,this._minScale=1,this._angleFactor=1)}apply(e){const{_scale:t,_angleFactor:r,_minScale:n}=this;return e*(0,i.qE)((0,i.Cc)(t,1,r),n,1)}applyVec2(e,t){e[0]=this.apply(t[0]),e[1]=this.apply(t[1])}}class o{constructor(){this.evaluator=new n,this.alignmentEvaluator=new n}update(e,t,r,i,n,o){this.evaluator.update(e,t,r,i),this.alignmentEvaluator.update(e,t,n??r,(n?o:null)??i)}}},77695(e,t,r){r.d(t,{J:()=>h});var i=r(29242),n=r(48163),o=r(99208),a=r(68259),s=r(47286),l=r(31821),c=r(35644),d=r(15976),u=r(63761);function h(e,t){return function(e,t){const r=e.fragment,{hasVertexTangents:h,doubleSidedMode:m,hasNormalTexture:p,textureCoordinateType:f,bindType:v,hasNormalTextureTransform:g}=t;h?(e.attributes.add("tangent","vec4"),e.varyings.add("vTangent","vec4"),2===m?r.code.add(l.H`mat3 computeTangentSpace(vec3 normal) {
797
+ float tangentHeadedness = gl_FrontFacing ? vTangent.w : -vTangent.w;
798
+ vec3 tangent = normalize(gl_FrontFacing ? vTangent.xyz : -vTangent.xyz);
799
+ vec3 bitangent = cross(normal, tangent) * tangentHeadedness;
800
+ return mat3(tangent, bitangent, normal);
801
+ }`):r.code.add(l.H`mat3 computeTangentSpace(vec3 normal) {
802
+ float tangentHeadedness = vTangent.w;
803
+ vec3 tangent = normalize(vTangent.xyz);
804
+ vec3 bitangent = cross(normal, tangent) * tangentHeadedness;
805
+ return mat3(tangent, bitangent, normal);
806
+ }`)):r.code.add(l.H`mat3 computeTangentSpace(vec3 normal, vec3 pos, vec2 st) {
807
+ vec3 Q1 = dFdx(pos);
808
+ vec3 Q2 = dFdy(pos);
809
+ vec2 stx = dFdx(st);
810
+ vec2 sty = dFdy(st);
811
+ float det = stx.t * sty.s - sty.t * stx.s;
812
+ vec3 T = stx.t * Q2 - sty.t * Q1;
813
+ T = T - normal * dot(normal, T);
814
+ T *= inversesqrt(max(dot(T,T), 1.e-10));
815
+ vec3 B = sign(det) * cross(normal, T);
816
+ return mat3(T, B, normal);
817
+ }`),p&&0!==f&&(e.include(o.r,t),r.uniforms.add(1===v?new u.N("normalTexture",e=>e.textureNormal):new d.o("normalTexture",e=>e.textureNormal)),g&&(r.uniforms.add(1===v?new s.G("scale",e=>e.scale??n.Un):new a.t("scale",e=>e.scale??n.Un)),r.uniforms.add(new c.k("normalTextureTransformMatrix",e=>e.normalTextureTransformMatrix??i.zK))),r.code.add(l.H`vec3 computeTextureNormal(mat3 tangentSpace, vec2 uv) {
818
+ vec3 rawNormal = textureLookup(normalTexture, uv).rgb * 2.0 - 1.0;`),g&&r.code.add(l.H`mat3 normalRotation = mat3(normalTextureTransformMatrix[0][0]/scale[0], normalTextureTransformMatrix[0][1]/scale[1], 0.0,
819
+ normalTextureTransformMatrix[1][0]/scale[0], normalTextureTransformMatrix[1][1]/scale[1], 0.0,
820
+ 0.0, 0.0, 0.0 );
821
+ rawNormal.xy = (normalRotation * vec3(rawNormal.x, rawNormal.y, 1.0)).xy;`),r.code.add(l.H`return tangentSpace * rawNormal;
822
+ }`))}(e,t)}},78662(e,t,r){r.d(t,{Gd:()=>l,VC:()=>c});var i=r(34727),n=(r(77690),r(29242),r(58083),r(9093)),o=r(35522),a=r(51850),s=(r(78955),r(91829),r(31756),r(26857),r(16943),r(65786));class l extends s.Y{constructor(e){super(),this.vvSize=e?.size??null,this.vvColor=e?.color??null,this.vvOpacity=e?.opacity??null}get hasVVSize(){return!!this.vvSize}get hasVVColor(){return!!this.vvColor}get hasVVOpacity(){return!!this.vvOpacity}}function c(e,t,r){if(!t.vvSize)return(0,o.hZ)(e,1,1,1),e;if(Number.isNaN(r[0]))return(0,o.C)(e,t.vvSize.fallback);for(let n=0;n<3;++n){const o=t.vvSize.offset[n]+r[0]*t.vvSize.factor[n];e[n]=(0,i.qE)(o,t.vvSize.minSize[n],t.vvSize.maxSize[n])}return e}(0,n.vt)(),(0,a.vt)(),(0,n.vt)()},78754(e,t,r){r.d(t,{F:()=>o});var i=r(24326),n=r(97146);class o{constructor(e){this.id=(0,i.c)(),this._attributes=new Map;for(const[t,r]of e)this._attributes.set(t,{...r,indices:(0,n.Dg)(r.indices)})}get attributes(){return this._attributes}}},82048(e,t,r){r.d(t,{c:()=>n});var i=r(31821);function n(e,t=!0){e.attributes.add("position","vec2"),t&&e.varyings.add("uv","vec2"),e.vertex.main.add(i.H`
823
+ gl_Position = vec4(position, 0.0, 1.0);
824
+ ${t?i.H`uv = position * 0.5 + vec2(0.5);`:""}
825
+ `)}},87170(e,t,r){r.d(t,{V:()=>T});var i=r(9093),n=r(35522),o=r(97146),a=r(57917),s=r(29920),l=r(78754),c=r(51850),d=r(4341),u=r(11964);function h(e,t,r){return(0,n.Re)(m,t,e),(0,n.Re)(p,r,e),.5*(0,n.Bw)((0,n.$A)(m,m,p))}r(32114),new d.I(u.vt),new d.I(()=>function(e){return e?{p0:(0,c.o8)(e.p0),p1:(0,c.o8)(e.p1),p2:(0,c.o8)(e.p2)}:{p0:(0,c.vt)(),p1:(0,c.vt)(),p2:(0,c.vt)()}}());const m=(0,c.vt)(),p=(0,c.vt)(),f=(0,c.vt)(),v=(0,c.vt)(),g=(0,c.vt)(),_=(0,c.vt)();var x=r(24326);class w{constructor(){this.uid=(0,x.c)()}}class b extends w{constructor(e){super(),this.highlightName=e,this.channel=0}}var y=r(620),M=r(94656);class T extends l.F{constructor(e,t,r=null,i=0,n=null,o=-1,a){super(t),this.material=e,this.mapPositions=r,this.type=i,this.olidColor=n,this.edgeIndicesLength=o,this.baseGeometry=a,this._highlights=null,this._highlightOptionsCounts=null,this.visible=!0,this._boundingInfo=null;const s=this.positionAttribute;null!=s&&this.edgeIndicesLength<0&&(this.edgeIndicesLength=s.indices.length)}instantiate(e={}){const t=new T(e.material||this.material,[],this.mapPositions,this.type,this.olidColor,this.edgeIndicesLength,this.baseGeometry);return this._attributes.forEach((e,r)=>{e.exclusive=!1,t._attributes.set(r,e)}),t._boundingInfo=this._boundingInfo,t.transformation=e.transformation||this.transformation,t}getMutableAttribute(e){let t=this._attributes.get(e);return t&&!t.exclusive&&(t={...t,exclusive:!0,data:(0,a.S)(t.data)},this._attributes.set(e,t)),t}setAttributeData(e,t){const r=this._attributes.get(e);r?this._attributes.set(e,{...r,exclusive:!0,data:t}):(0,M.en)()&&console.warn(`Setting undefined attribute ${e} data`)}get positionAttribute(){return this.attributes.get("position")??this.baseGeometry?.attributes.get("position")}get indexCount(){const e=this._attributes.values().next().value?.indices;return e?.length??0}get faceCount(){return this.indexCount/3}get boundingInfo(){return this._boundingInfo??=this._calculateBoundingInfo(),this._boundingInfo}computeAttachmentOrigin(e){return!!(0===this.type?this._computeAttachmentOriginTriangles(e):2===this.type?this._computeAttachmentOriginLines(e):this._computeAttachmentOriginPoints(e))&&(null!=this._transformation&&(0,n.Z0)(e,e,this._transformation),!0)}_computeAttachmentOriginTriangles(e){return function(e,t){if(!e)return!1;const{size:r,data:i,indices:o}=e;(0,n.hZ)(t,0,0,0),(0,n.hZ)(_,0,0,0);let a=0,s=0;for(let e=0;e<o.length-2;e+=3){const l=o[e]*r,c=o[e+1]*r,d=o[e+2]*r;(0,n.hZ)(f,i[l],i[l+1],i[l+2]),(0,n.hZ)(v,i[c],i[c+1],i[c+2]),(0,n.hZ)(g,i[d],i[d+1],i[d+2]);const u=h(f,v,g);u?((0,n.WQ)(f,f,v),(0,n.WQ)(f,f,g),(0,n.hs)(f,f,1/3*u),(0,n.WQ)(t,t,f),a+=u):((0,n.WQ)(_,_,f),(0,n.WQ)(_,_,v),(0,n.WQ)(_,_,g),s+=3)}return!(0===s&&0===a||(0!==a?((0,n.hs)(t,t,1/a),0):0===s||((0,n.hs)(t,_,1/s),0)))}(this.positionAttribute,e)}_computeAttachmentOriginLines(e){const t=this.positionAttribute;return function(e,t,r){if(!e)return!1;(0,n.hZ)(r,0,0,0),(0,n.hZ)(_,0,0,0);let i=0,o=0;const{size:a,data:s,indices:l}=e,c=l.length-1,d=c+(t?2:0);for(let e=0;e<d;e+=2){const t=e<c?e+1:0,d=l[e<c?e:c]*a,u=l[t]*a;f[0]=s[d],f[1]=s[d+1],f[2]=s[d+2],v[0]=s[u],v[1]=s[u+1],v[2]=s[u+2],(0,n.hs)(f,(0,n.WQ)(f,f,v),.5);const h=(0,n.xg)(f,v);h>0?((0,n.WQ)(r,r,(0,n.hs)(f,f,h)),i+=h):0===i&&((0,n.WQ)(_,_,f),o++)}return 0!==i?((0,n.hs)(r,r,1/i),!0):0!==o&&((0,n.hs)(r,_,1/o),!0)}(t,function(e,t){return!(!("isClosed"in e)||!e.isClosed)&&t.indices.length>2}(this.material.parameters,t),e)}_computeAttachmentOriginPoints(e){return function(e,t){if(!e)return!1;const{size:r,data:i,indices:o}=e;(0,n.hZ)(t,0,0,0);let a=-1,s=0;for(let e=0;e<o.length;e++){const n=o[e]*r;a!==n&&(t[0]+=i[n],t[1]+=i[n+1],t[2]+=i[n+2],s++),a=n}return s>1&&(0,n.hs)(t,t,1/s),s>0}(this.positionAttribute,e)}invalidateBoundingInfo(){this._boundingInfo=null}_calculateBoundingInfo(){const e=this.positionAttribute;if(!e||0===e.indices.length)return null;const t=0===this.type?3:1;(0,y.vA)(e.indices.length%t===0,"Indexing error: "+e.indices.length+" not divisible by "+t);const r=(0,o.tM)(e.indices.length/t);return new s.j(r,t,e)}get transformation(){return this._transformation??i.zK}set transformation(e){this._transformation=e&&e!==i.zK?(0,i.o8)(e):null}get highlights(){return this._highlights||C}get hasHighlights(){return(this._highlightOptionsCounts?.size??0)>0}foreachHighlightOptions(e){this._highlightOptionsCounts?.forEach((t,r)=>e(r))}allocateIdAndHighlight(e){const t=new b(e);return this.addHighlight(t)}addHighlight(e){this._ensureHighlights().add(e);const{highlightName:t}=e,r=(this._highlightOptionsCounts?.get(t)??0)+1;return this._ensureHighlightOptionsCounts().set(t,r),e}_ensureHighlights(){let e=this._highlights;return e||(e=new Set,this._highlights=e),e}_ensureHighlightOptionsCounts(){let e=this._highlightOptionsCounts;return e||(e=new Map,this._highlightOptionsCounts=e),e}removeHighlight(e){if(this._highlights?.delete(e)){const{highlightName:t}=e,r=this._highlightOptionsCounts?.get(t)??0;r<=1?this._highlightOptionsCounts?.delete(t):this._ensureHighlightOptionsCounts().set(t,r-1)}}}const C=new Set},89390(e,t,r){r.d(t,{kA:()=>T,a8:()=>y,eU:()=>M});var i=r(35522),n=r(51850),o=r(78955),a=r(91829),s=r(23205),l=r(14314),c=r(31821);function d(e,t){const r=void 0!==t.lightingSphericalHarmonicsOrder?t.lightingSphericalHarmonicsOrder:2;0===r?(e.uniforms.add(new s.d("lightingAmbientSH0",({lighting:e})=>(0,i.hZ)(u,e.sh.r[0],e.sh.g[0],e.sh.b[0]))),e.code.add(c.H`vec3 calculateAmbientIrradiance(vec3 normal, float ambientOcclusion) {
826
+ vec3 ambientLight = 0.282095 * lightingAmbientSH0;
827
+ return ambientLight * (1.0 - ambientOcclusion);
828
+ }`)):1===r?(e.uniforms.add(new l.I("lightingAmbientSH_R",({lighting:e})=>(0,o.hZ)(h,e.sh.r[0],e.sh.r[1],e.sh.r[2],e.sh.r[3])),new l.I("lightingAmbientSH_G",({lighting:e})=>(0,o.hZ)(h,e.sh.g[0],e.sh.g[1],e.sh.g[2],e.sh.g[3])),new l.I("lightingAmbientSH_B",({lighting:e})=>(0,o.hZ)(h,e.sh.b[0],e.sh.b[1],e.sh.b[2],e.sh.b[3]))),e.code.add(c.H`vec3 calculateAmbientIrradiance(vec3 normal, float ambientOcclusion) {
829
+ vec4 sh0 = vec4(
830
+ 0.282095,
831
+ 0.488603 * normal.x,
832
+ 0.488603 * normal.z,
833
+ 0.488603 * normal.y
834
+ );
835
+ vec3 ambientLight = vec3(
836
+ dot(lightingAmbientSH_R, sh0),
837
+ dot(lightingAmbientSH_G, sh0),
838
+ dot(lightingAmbientSH_B, sh0)
839
+ );
840
+ return ambientLight * (1.0 - ambientOcclusion);
841
+ }`)):2===r&&(e.uniforms.add(new s.d("lightingAmbientSH0",({lighting:e})=>(0,i.hZ)(u,e.sh.r[0],e.sh.g[0],e.sh.b[0])),new l.I("lightingAmbientSH_R1",({lighting:e})=>(0,o.hZ)(h,e.sh.r[1],e.sh.r[2],e.sh.r[3],e.sh.r[4])),new l.I("lightingAmbientSH_G1",({lighting:e})=>(0,o.hZ)(h,e.sh.g[1],e.sh.g[2],e.sh.g[3],e.sh.g[4])),new l.I("lightingAmbientSH_B1",({lighting:e})=>(0,o.hZ)(h,e.sh.b[1],e.sh.b[2],e.sh.b[3],e.sh.b[4])),new l.I("lightingAmbientSH_R2",({lighting:e})=>(0,o.hZ)(h,e.sh.r[5],e.sh.r[6],e.sh.r[7],e.sh.r[8])),new l.I("lightingAmbientSH_G2",({lighting:e})=>(0,o.hZ)(h,e.sh.g[5],e.sh.g[6],e.sh.g[7],e.sh.g[8])),new l.I("lightingAmbientSH_B2",({lighting:e})=>(0,o.hZ)(h,e.sh.b[5],e.sh.b[6],e.sh.b[7],e.sh.b[8]))),e.code.add(c.H`vec3 calculateAmbientIrradiance(vec3 normal, float ambientOcclusion) {
842
+ vec3 ambientLight = 0.282095 * lightingAmbientSH0;
843
+ vec4 sh1 = vec4(
844
+ 0.488603 * normal.x,
845
+ 0.488603 * normal.z,
846
+ 0.488603 * normal.y,
847
+ 1.092548 * normal.x * normal.y
848
+ );
849
+ vec4 sh2 = vec4(
850
+ 1.092548 * normal.y * normal.z,
851
+ 0.315392 * (3.0 * normal.z * normal.z - 1.0),
852
+ 1.092548 * normal.x * normal.z,
853
+ 0.546274 * (normal.x * normal.x - normal.y * normal.y)
854
+ );
855
+ ambientLight += vec3(
856
+ dot(lightingAmbientSH_R1, sh1),
857
+ dot(lightingAmbientSH_G1, sh1),
858
+ dot(lightingAmbientSH_B1, sh1)
859
+ );
860
+ ambientLight += vec3(
861
+ dot(lightingAmbientSH_R2, sh2),
862
+ dot(lightingAmbientSH_G2, sh2),
863
+ dot(lightingAmbientSH_B2, sh2)
864
+ );
865
+ return ambientLight * (1.0 - ambientOcclusion);
866
+ }`),1!==t.pbrMode&&2!==t.pbrMode||e.code.add(c.H`const vec3 skyTransmittance = vec3(0.9, 0.9, 1.0);
867
+ vec3 calculateAmbientRadiance(float ambientOcclusion)
868
+ {
869
+ vec3 ambientLight = 1.2 * (0.282095 * lightingAmbientSH0) - 0.2;
870
+ return ambientLight *= (1.0 - ambientOcclusion) * skyTransmittance;
871
+ }`))}const u=(0,n.vt)(),h=(0,a.vt)();var m=r(14527),p=r(65261),f=r(98619),v=r(22393),g=r(89786),_=r(32976),x=r(33094);function w(e){e.code.add(c.H`float mapChannel(float x, vec2 p) {
872
+ return (x < p.x) ? mix(0.0, p.y, x/p.x) : mix(p.y, 1.0, (x - p.x) / (1.0 - p.x) );
873
+ }`),e.code.add(c.H`vec3 blackLevelSoftCompression(vec3 color, float averageAmbientRadiance) {
874
+ vec2 p = vec2(0.02, 0.0075) * averageAmbientRadiance;
875
+ return vec3(mapChannel(color.x, p), mapChannel(color.y, p), mapChannel(color.z, p));
876
+ }`)}function b(e){e.code.add(c.H`vec3 tonemapACES(vec3 x) {
877
+ return clamp((x * (2.51 * x + 0.03)) / (x * (2.43 * x + 0.59) + 0.14), 0.0, 1.0);
878
+ }`),e.code.add(c.H`vec3 tonemapKhronosNeutral(vec3 color, float exposure) {
879
+ const float startCompression = 0.76;
880
+ const float desaturation = 0.15;
881
+ color *= exposure;
882
+ float x = min( color.r, min( color.g, color.b ) );
883
+ float offset = x < 0.08 ? x - 6.25 * x * x : 0.04;
884
+ color -= offset;
885
+ float peak = max( color.r, max( color.g, color.b ) );
886
+ if ( peak < startCompression ) {
887
+ return color;
888
+ }
889
+ float d = 1.0 - startCompression;
890
+ float newPeak = 1.0 - d * d / ( peak + d - startCompression );
891
+ color *= newPeak / peak;
892
+ float g = 1.0 - 1.0 / ( desaturation * ( peak - newPeak ) + 1.0 );
893
+ return mix( color, vec3( newPeak ), g );
894
+ }`)}function y(e){e.constants.add("ambientBoostFactor","float",.4)}function M(e){e.uniforms.add(new x.U("lightingGlobalFactor",e=>e.lighting.globalFactor))}function T(e,t){const{pbrMode:r,spherical:i,hasColorTexture:n}=t;e.include(m.n,t),0!==r&&e.include(v.c,t),e.include(d,t),e.include(g.p),e.include(b,t),e.include(p.C);const o=!(2===r&&!n);switch(o&&e.include(w),e.code.add(c.H`
895
+ ${(0,c.If)(0!==r,"const float GROUND_REFLECTANCE = 0.2;")}
896
+ `),y(e),M(e),(0,f.Gc)(e),e.code.add(c.H`
897
+ float additionalDirectedAmbientLight(float lightAlignment) {
898
+ return smoothstep(0.0, 1.0, clamp(lightAlignment * 2.5, 0.0, 1.0));
899
+ }
900
+
901
+ float additionalDirectedAmbientLight(vec3 vPosWorld) {
902
+ float lightAlignment = dot(${i?c.H`normalize(vPosWorld)`:c.H`vec3(0.0, 0.0, 1.0)`}, mainLightDirection);
903
+ return smoothstep(0.0, 1.0, clamp(lightAlignment * 2.5, 0.0, 1.0));
904
+ }
905
+ `),(0,f.O4)(e),e.code.add(c.H`vec3 evaluateAdditionalLighting(float ambientOcclusion, vec3 vPosWorld) {
906
+ float additionalAmbientScale = additionalDirectedAmbientLight(vPosWorld);
907
+ return (1.0 - ambientOcclusion) * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor * mainLightIntensity;
908
+ }`),r){case 0:case 4:case 3:e.include(f.Vt),e.code.add(c.H`vec3 evaluateSceneLighting(vec3 normalWorld, vec3 albedo, float shadow, float ssao, vec3 additionalLight) {
909
+ vec3 mainLighting = applyShading(normalWorld, shadow);
910
+ vec3 ambientLighting = calculateAmbientIrradiance(normalWorld, ssao);
911
+ vec3 albedoLinear = linearizeGamma(albedo);
912
+ vec3 totalLight = mainLighting + ambientLighting + additionalLight;
913
+ totalLight = min(totalLight, vec3(PI));
914
+ vec3 outColor = vec3((albedoLinear / PI) * totalLight);
915
+ return delinearizeGamma(outColor);
916
+ }`);break;case 1:case 2:e.code.add(c.H`const float fillLightIntensity = 0.25;
917
+ const float horizonLightDiffusion = 0.4;
918
+ const float additionalAmbientIrradianceFactor = 0.02;
919
+ vec3 evaluateSceneLightingPBR(vec3 normal, vec3 albedo, float shadow, float ssao, vec3 additionalLight,
920
+ vec3 viewDir, vec3 groundNormal, vec3 mrr, float additionalAmbientIrradiance) {
921
+ vec3 viewDirection = -viewDir;
922
+ vec3 h = normalize(viewDirection + mainLightDirection);
923
+ PBRShadingInfo inputs;
924
+ inputs.NdotV = clamp(abs(dot(normal, viewDirection)), 0.001, 1.0);
925
+ inputs.NdotNG = clamp(dot(normal, groundNormal), -1.0, 1.0);
926
+ vec3 reflectedView = normalize(reflect(viewDirection, normal));
927
+ inputs.RdotNG = clamp(dot(reflectedView, groundNormal), -1.0, 1.0);
928
+ inputs.albedoLinear = linearizeGamma(albedo);
929
+ inputs.ssao = ssao;
930
+ inputs.metalness = mrr[0];
931
+ inputs.roughness = clamp(mrr[1] * mrr[1], 0.001, 0.99);`),e.code.add(c.H`inputs.f0 = (0.16 * mrr[2] * mrr[2]) * (1.0 - inputs.metalness) + inputs.albedoLinear * inputs.metalness;
932
+ inputs.f90 = vec3(clamp(dot(inputs.f0, vec3(50.0 * 0.33)), 0.0, 1.0));
933
+ inputs.diffuseColor = inputs.albedoLinear * (vec3(1.0) - inputs.f0) * (1.0 - inputs.metalness);`),t.useFillLights?e.uniforms.add(new _.o("hasFillLights",e=>e.enableFillLights)):e.constants.add("hasFillLights","bool",!1),e.code.add(c.H`vec3 ambientDir = vec3(5.0 * groundNormal[1] - groundNormal[0] * groundNormal[2], - 5.0 * groundNormal[0] - groundNormal[2] * groundNormal[1], groundNormal[1] * groundNormal[1] + groundNormal[0] * groundNormal[0]);
934
+ ambientDir = ambientDir != vec3(0.0) ? normalize(ambientDir) : normalize(vec3(5.0, -1.0, 0.0));
935
+ inputs.NdotAmbDir = hasFillLights ? abs(dot(normal, ambientDir)) : 1.0;
936
+ float NdotL = clamp(dot(normal, mainLightDirection), 0.001, 1.0);
937
+ vec3 mainLightIrradianceComponent = NdotL * (1.0 - shadow) * mainLightIntensity;
938
+ vec3 fillLightsIrradianceComponent = inputs.NdotAmbDir * mainLightIntensity * fillLightIntensity;
939
+ vec3 ambientLightIrradianceComponent = calculateAmbientIrradiance(normal, ssao) + additionalLight;
940
+ inputs.skyIrradianceToSurface = ambientLightIrradianceComponent + mainLightIrradianceComponent + fillLightsIrradianceComponent ;
941
+ inputs.groundIrradianceToSurface = GROUND_REFLECTANCE * ambientLightIrradianceComponent + mainLightIrradianceComponent + fillLightsIrradianceComponent ;`),e.uniforms.add(new x.U("lightingSpecularStrength",e=>e.lighting.mainLight.specularStrength),new x.U("lightingEnvironmentStrength",e=>e.lighting.mainLight.environmentStrength)).code.add(c.H`vec3 horizonRingDir = inputs.RdotNG * groundNormal - reflectedView;
942
+ vec3 horizonRingH = normalize(viewDirection + horizonRingDir);
943
+ inputs.NdotH_Horizon = dot(normal, horizonRingH);
944
+ float NdotH = clamp(dot(normal, h), 0.0, 1.0);
945
+ vec3 mainLightRadianceComponent = lightingSpecularStrength * normalDistribution(NdotH, inputs.roughness) * mainLightIntensity * (1.0 - shadow);
946
+ vec3 horizonLightRadianceComponent = lightingEnvironmentStrength * normalDistribution(inputs.NdotH_Horizon, min(inputs.roughness + horizonLightDiffusion, 1.0)) * mainLightIntensity * fillLightIntensity;
947
+ vec3 ambientLightRadianceComponent = lightingEnvironmentStrength * calculateAmbientRadiance(ssao) + additionalLight;
948
+ float normalDirectionModifier = mix(1., min(mix(0.1, 2.0, (inputs.NdotNG + 1.) * 0.5), 1.0), clamp(inputs.roughness * 5.0, 0.0 , 1.0));
949
+ inputs.skyRadianceToSurface = (ambientLightRadianceComponent + horizonLightRadianceComponent) * normalDirectionModifier + mainLightRadianceComponent;
950
+ inputs.groundRadianceToSurface = 0.5 * GROUND_REFLECTANCE * (ambientLightRadianceComponent + horizonLightRadianceComponent) * normalDirectionModifier + mainLightRadianceComponent;
951
+ inputs.averageAmbientRadiance = ambientLightIrradianceComponent[1] * (1.0 + GROUND_REFLECTANCE);`),e.code.add(c.H`
952
+ vec3 reflectedColorComponent = evaluateEnvironmentIllumination(inputs);
953
+ vec3 additionalMaterialReflectanceComponent = inputs.albedoLinear * additionalAmbientIrradiance;
954
+ vec3 outColorLinear = reflectedColorComponent + additionalMaterialReflectanceComponent;
955
+ ${o?c.H`vec3 outColor = blackLevelSoftCompression(outColorLinear, inputs.averageAmbientRadiance);`:c.H`vec3 outColor = max(vec3(0.0), outColorLinear - 0.005 * inputs.averageAmbientRadiance);`}
956
+ return delinearizeGamma(outColor);
957
+ }
958
+ `);break;case 5:case 6:(0,f.Gc)(e),(0,f.O4)(e),e.code.add(c.H`const float roughnessTerrain = 0.5;
959
+ const float specularityTerrain = 0.5;
960
+ const vec3 fresnelReflectionTerrain = vec3(0.04);
961
+ vec3 evaluatePBRSimplifiedLighting(vec3 n, vec3 c, float shadow, float ssao, vec3 al, vec3 vd, vec3 nup) {
962
+ vec3 viewDirection = -vd;
963
+ vec3 h = normalize(viewDirection + mainLightDirection);
964
+ float NdotL = clamp(dot(n, mainLightDirection), 0.001, 1.0);
965
+ float NdotV = clamp(abs(dot(n, viewDirection)), 0.001, 1.0);
966
+ float NdotH = clamp(dot(n, h), 0.0, 1.0);
967
+ float NdotNG = clamp(dot(n, nup), -1.0, 1.0);
968
+ vec3 albedoLinear = linearizeGamma(c);
969
+ float lightness = 0.3 * albedoLinear[0] + 0.5 * albedoLinear[1] + 0.2 * albedoLinear[2];
970
+ vec3 f0 = (0.85 * lightness + 0.15) * fresnelReflectionTerrain;
971
+ vec3 f90 = vec3(clamp(dot(f0, vec3(50.0 * 0.33)), 0.0, 1.0));
972
+ vec3 mainLightIrradianceComponent = (1. - shadow) * NdotL * mainLightIntensity;
973
+ vec3 ambientLightIrradianceComponent = calculateAmbientIrradiance(n, ssao) + al;
974
+ vec3 ambientSky = ambientLightIrradianceComponent + mainLightIrradianceComponent;
975
+ vec3 indirectDiffuse = ((1.0 - NdotNG) * mainLightIrradianceComponent + (1.0 + NdotNG ) * ambientSky) * 0.5;
976
+ vec3 outDiffColor = albedoLinear * (1.0 - f0) * indirectDiffuse / PI;
977
+ vec3 mainLightRadianceComponent = normalDistribution(NdotH, roughnessTerrain) * mainLightIntensity;
978
+ vec2 dfg = prefilteredDFGAnalytical(roughnessTerrain, NdotV);
979
+ vec3 specularColor = f0 * dfg.x + f90 * dfg.y;
980
+ vec3 specularComponent = specularityTerrain * specularColor * mainLightRadianceComponent;
981
+ vec3 outColorLinear = outDiffColor + specularComponent;
982
+ vec3 outColor = delinearizeGamma(outColorLinear);
983
+ return outColor;
984
+ }`)}}r(34727),(0,n.vt)(),(0,n.vt)()},89786(e,t,r){function i(e){const t=.3183098861837907;e.constants.add("PI","float",3.141592653589793),e.constants.add("LIGHT_NORMALIZATION","float",t),e.constants.add("INV_PI","float",t),e.constants.add("ONE_QUATER_PI","float",.78539816339745),e.constants.add("HALF_PI","float",1.570796326794897),e.constants.add("THREE_QUATER_PI","float",2.35619449019234),e.constants.add("TWO_PI","float",6.28318530717958),e.constants.add("PI_SQUARED","float",9.86960440108936)}r.d(t,{p:()=>i})},90644(e,t,r){function i(e,t,r=32774,i=[0,0,0,0]){return{srcRgb:e,srcAlpha:e,dstRgb:t,dstAlpha:t,opRgb:r,opAlpha:r,color:{r:i[0],g:i[1],b:i[2],a:i[3]}}}function n(e,t,r,i,n=32774,o=32774,a=[0,0,0,0]){return{srcRgb:e,srcAlpha:t,dstRgb:r,dstAlpha:i,opRgb:n,opAlpha:o,color:{r:a[0],g:a[1],b:a[2],a:a[3]}}}r.d(t,{Ey:()=>b,RC:()=>o,T8:()=>a,Uy:()=>d,Xt:()=>c,kn:()=>u,p3:()=>n}),r(4718),i(0,771),i(1,0),i(1,1);const o=i(1,771),a=n(770,1,771,771),s=(n(0,0,768,1),{face:1029,mode:2305}),l={face:1028,mode:2305},c=e=>2===e?s:1===e?l:null,d={zNear:0,zFar:1},u={r:!0,g:!0,b:!0,a:!0};function h(e){return T.intern(e)}function m(e){return S.intern(e)}function p(e){return A.intern(e)}function f(e){return R.intern(e)}function v(e){return F.intern(e)}function g(e){return D.intern(e)}function _(e){return N.intern(e)}function x(e){return L.intern(e)}function w(e){return V.intern(e)}function b(e){return G.intern(e)}class y{constructor(e,t){this._makeKey=e,this._makeRef=t,this._interns=new Map}intern(e){if(!e)return null;const t=this._makeKey(e),r=this._interns;return r.has(t)||r.set(t,this._makeRef(e)),r.get(t)??null}}function M(e){return"["+e.join(",")+"]"}const T=new y(C,e=>({__tag:"Blending",...e}));function C(e){return e?M([e.srcRgb,e.srcAlpha,e.dstRgb,e.dstAlpha,e.opRgb,e.opAlpha,e.color.r,e.color.g,e.color.b,e.color.a]):null}const S=new y(E,e=>({__tag:"Culling",...e}));function E(e){return e?M([e.face,e.mode]):null}const A=new y(I,e=>({__tag:"PolygonOffset",...e}));function I(e){return e?M([e.factor,e.units]):null}const R=new y(O,e=>({__tag:"DepthTest",...e}));function O(e){return e?M([e.func]):null}const F=new y(P,e=>({__tag:"StencilTest",...e}));function P(e){return e?M([e.function.func,e.function.ref,e.function.mask,e.operation.fail,e.operation.zFail,e.operation.zPass]):null}const D=new y(H,e=>({__tag:"DepthWrite",...e}));function H(e){return e?M([e.zNear,e.zFar]):null}const N=new y(z,e=>({__tag:"ColorWrite",...e}));function z(e){return e?M([e.r,e.g,e.b,e.a]):null}const L=new y(B,e=>({__tag:"StencilWrite",...e}));function B(e){return e?M([e.mask]):null}const V=new y(U,e=>({__tag:"DrawBuffers",...e}));function U(e){return e?M(e.buffers):null}const G=new y(function(e){return e?M([C(e.blending),E(e.culling),I(e.polygonOffset),O(e.depthTest),P(e.stencilTest),H(e.depthWrite),z(e.colorWrite),B(e.stencilWrite),U(e.drawBuffers)]):null},e=>({blending:h(e.blending),culling:m(e.culling),polygonOffset:p(e.polygonOffset),depthTest:f(e.depthTest),stencilTest:v(e.stencilTest),depthWrite:g(e.depthWrite),colorWrite:_(e.colorWrite),stencilWrite:x(e.stencilWrite),drawBuffers:w(e.drawBuffers)}))},92700(e,t,r){r.d(t,{c:()=>n});var i=r(31821);function n(e,t){t.hasVertexColors?(e.attributes.add("color","vec4"),e.varyings.add("vColor","vec4"),e.vertex.code.add(i.H`void forwardVertexColor() { vColor = color; }`),e.vertex.code.add(i.H`
985
+ void forwardNormalizedVertexColor() { vColor = color * ${i.H.float(1/255)}; }
986
+ `)):e.vertex.code.add(i.H`void forwardVertexColor() {}
987
+ void forwardNormalizedVertexColor() {}`)}},94656(e,t,r){r.d(t,{Y2:()=>l,en:()=>s});var i=r(49186),n=r(44208),o=r(53966);const a=!!(0,n.A)("enable-feature:webgl-debug");function s(){return a}function l(e,t=s()){if(t){const t=function(e){switch(e.getError()){case e.NO_ERROR:return null;case e.INVALID_ENUM:return"Invalid Enum. An unacceptable value has been specified for an enumerated argument.";case e.INVALID_VALUE:return"Invalid Value. A numeric argument is out of range.";case e.INVALID_OPERATION:return"Invalid Operation. The specified command is not allowed for the current state.";case e.INVALID_FRAMEBUFFER_OPERATION:return"Invalid Framebuffer operation. The currently bound framebuffer is not framebuffer complete when trying to render to or to read from it.";case e.OUT_OF_MEMORY:return"Out of memory. Not enough memory is left to execute the command.";case e.CONTEXT_LOST_WEBGL:return"WebGL context has been lost";default:return"Unknown error"}}(e);if(t){const e=(new Error).stack;o.A.getLogger("esri.views.webgl.checkWebGLError").error(new i.A("webgl-error","WebGL error occurred",{message:t,stack:e}))}}}},95774(e,t,r){r.d(t,{S:()=>h,b:()=>u});var i=r(82048),n=r(52540),o=r(68259),a=r(20304),s=r(31821),l=r(15976),c=r(63761),d=r(14113);function u(){const e=new d.N5,t=e.fragment;return e.include(i.c),t.include(n.E),t.uniforms.add(new c.N("depthMap",e=>e.depthTexture),new l.o("tex",e=>e.colorTexture),new o.t("blurSize",e=>e.blurSize),new a.m("projScale",(e,t)=>{const r=t.camera.distance;return r>5e4?Math.max(0,e.projScale-(r-5e4)):e.projScale})),t.code.add(s.H`
988
+ void blurFunction(vec2 uv, float r, float center_d, float sharpness, inout float wTotal, inout float bTotal) {
989
+ float c = texture(tex, uv).r;
990
+ float d = linearDepthFromTexture(depthMap, uv);
991
+
992
+ float ddiff = d - center_d;
993
+
994
+ float w = exp(-r * r * ${s.H.float(.08)} - ddiff * ddiff * sharpness);
995
+ wTotal += w;
996
+ bTotal += w * c;
997
+ }
998
+ `),e.outputs.add("fragBlur","float"),t.main.add(s.H`
999
+ float b = 0.0;
1000
+ float w_total = 0.0;
1001
+
1002
+ float center_d = linearDepthFromTexture(depthMap, uv);
1003
+
1004
+ float sharpness = -0.05 * projScale / center_d;
1005
+ for (int r = -${s.H.int(4)}; r <= ${s.H.int(4)}; ++r) {
1006
+ float rf = float(r);
1007
+ vec2 uvOffset = uv + rf * blurSize;
1008
+ blurFunction(uvOffset, rf, center_d, sharpness, w_total, b);
1009
+ }
1010
+ fragBlur = b / w_total;`),e}const h=Object.freeze(Object.defineProperty({__proto__:null,build:u},Symbol.toStringTag,{value:"Module"}))},96336(e,t,r){r.d(t,{Y:()=>n});var i=r(31821);function n(e,t){switch(e.fragment.code.add(i.H`vec3 screenDerivativeNormal(vec3 positionView) {
1011
+ return normalize(cross(dFdx(positionView), dFdy(positionView)));
1012
+ }`),t.normalType){case 1:e.attributes.add("normalCompressed","vec2"),e.vertex.code.add(i.H`vec3 decompressNormal(vec2 normal) {
1013
+ float z = 1.0 - abs(normal.x) - abs(normal.y);
1014
+ return vec3(normal + sign(normal) * min(z, 0.0), z);
1015
+ }
1016
+ vec3 normalModel() {
1017
+ return decompressNormal(normalCompressed);
1018
+ }`);break;case 0:e.attributes.add("normal","vec3"),e.vertex.code.add(i.H`vec3 normalModel() {
1019
+ return normal;
1020
+ }`);break;default:t.normalType;case 2:case 3:}}},96598(e,t,r){r.d(t,{Z:()=>a});var i=r(52540),n=r(31821),o=r(12791);function a(e,{occlusionPass:t,terrainDepthTest:r,cullAboveTerrain:a}){const{vertex:s,fragment:l,varyings:c}=e;if(!r)return s.code.add("void forwardViewPosDepth(vec3 pos) {}"),void l.code.add(`${t?"bool":"void"} discardByTerrainDepth() { ${(0,n.If)(t,"return false;")}}`);c.add("viewPosDepth","float",{invariant:!0}),s.code.add("void forwardViewPosDepth(vec3 pos) {\n viewPosDepth = pos.z;\n }"),l.include(i.E),l.uniforms.add(new o.x("terrainDepthTexture",e=>e.terrainDepth?.attachment)).code.add(n.H`
1021
+ ${t?"bool":"void"} discardByTerrainDepth() {
1022
+ float depth = texelFetch(terrainDepthTexture, ivec2(gl_FragCoord.xy), 0).r;
1023
+ float linearDepth = linearizeDepth(depth);
1024
+ ${t?"return viewPosDepth < linearDepth && depth < 1.0;":`if(viewPosDepth ${a?">":"<="} linearDepth) discard;`}
1025
+ }`)}},98353(e,t,r){r.d(t,{h:()=>n});var i=r(74333);class n extends i.n{constructor(e,t,r){super(e,"mat3",2,(i,n,o)=>i.setUniformMatrix3fv(e,t(n,o),r))}}},98619(e,t,r){r.d(t,{Gc:()=>o,O4:()=>a,Vt:()=>s});var i=r(23205),n=r(31821);function o(e){e.uniforms.add(new i.d("mainLightDirection",e=>e.lighting.mainLight.direction))}function a(e){e.uniforms.add(new i.d("mainLightIntensity",e=>e.lighting.mainLight.intensity))}function s(e){o(e),a(e),e.code.add(n.H`vec3 applyShading(vec3 shadingNormal, float shadow) {
1026
+ float dotVal = clamp(dot(shadingNormal, mainLightDirection), 0.0, 1.0);
1027
+ return mainLightIntensity * ((1.0 - shadow) * dotVal);
1028
+ }`)}},99208(e,t,r){r.d(t,{r:()=>a});var i=r(53466),n=r(31821);function o(e){e.fragment.code.add(n.H`vec4 textureAtlasLookup(sampler2D tex, vec2 textureCoordinates, vec4 atlasRegion) {
1029
+ vec2 atlasScale = atlasRegion.zw - atlasRegion.xy;
1030
+ vec2 uvAtlas = fract(textureCoordinates) * atlasScale + atlasRegion.xy;
1031
+ float maxdUV = 0.125;
1032
+ vec2 dUVdx = clamp(dFdx(textureCoordinates), -maxdUV, maxdUV) * atlasScale;
1033
+ vec2 dUVdy = clamp(dFdy(textureCoordinates), -maxdUV, maxdUV) * atlasScale;
1034
+ return textureGrad(tex, uvAtlas, dUVdx, dUVdy);
1035
+ }`)}function a(e,t){const{textureCoordinateType:r}=t;if(0===r||3===r)return;e.include(i.U,t);const a=2===r;a&&e.include(o),e.fragment.code.add(n.H`
1036
+ vec4 textureLookup(sampler2D tex, vec2 uv) {
1037
+ return ${a?"textureAtlasLookup(tex, uv, vuvRegion)":"texture(tex, uv)"};
1038
+ }
1039
+ `)}},99550(e,t,r){r.d(t,{E:()=>a});var i=r(31635),n=r(68317),o=r(51976);class a extends n.Hz{constructor(){super(...arguments),this.oitPass=0,this.hasHighlightMixTexture=!1,this.bindType=1,this.instanced=!1,this.writeDepth=!0,this.oitPremultipliedAlpha=!1}}(0,i.Cg)([(0,o.W)({count:3})],a.prototype,"oitPass",void 0),(0,i.Cg)([(0,o.W)()],a.prototype,"hasHighlightMixTexture",void 0)}}]);