@arcgis/core 5.2.0-next.101 → 5.2.0-next.102

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 (239) hide show
  1. package/applications/Components/graphicOriginUtils.d.ts +17 -0
  2. package/applications/Components/graphicOriginUtils.js +2 -0
  3. package/arcgisGlobal.d.ts +1 -0
  4. package/assets/esri/core/workers/RemoteClient.js +1 -1
  5. package/assets/esri/core/workers/chunks/01fb22542820b7a8b848.js +1 -0
  6. package/assets/esri/core/workers/chunks/{4d13c1a04788e5222678.js → 03601be8b0763f82e88f.js} +1 -1
  7. package/assets/esri/core/workers/chunks/{6e804bd6bb4b0ee44fa9.js → 045ff98313b06a2188b7.js} +1 -1
  8. package/assets/esri/core/workers/chunks/05584d8828ae7bca0fc5.js +1 -0
  9. package/assets/esri/core/workers/chunks/{eb222dc01344ed07719e.js → 056af594a1ef87066187.js} +1 -1
  10. package/assets/esri/core/workers/chunks/{e1682e94cc714197ebb4.js → 05731c8bc8f63b388d72.js} +1 -1
  11. package/assets/esri/core/workers/chunks/{32aa1529e84b839d051d.js → 058d4c927486a361e633.js} +1 -1
  12. package/assets/esri/core/workers/chunks/{2524e2385f61a6898411.js → 06e7411c5bed0a414031.js} +1 -1
  13. package/assets/esri/core/workers/chunks/{de95dee8db92cf8f796f.js → 09a40fd0e462144c4640.js} +1 -1
  14. package/assets/esri/core/workers/chunks/0bd067a5c0bac96caeb5.js +1 -0
  15. package/assets/esri/core/workers/chunks/0bff8d589312be6588fe.js +1 -0
  16. package/assets/esri/core/workers/chunks/{4237a29c4ed5f86a15c2.js → 0c63d953f2dd1d5cc03d.js} +1 -1
  17. package/assets/esri/core/workers/chunks/{09cd91e56c856db6e01a.js → 0c74cf91b6b5292d32b8.js} +1 -1
  18. package/assets/esri/core/workers/chunks/{e934ef66d130c212c05b.js → 0cdaba3ed074c06e225f.js} +1 -1
  19. package/assets/esri/core/workers/chunks/{6aaefd61505027267c9b.js → 0d69a18146722f792b5b.js} +1 -1
  20. package/assets/esri/core/workers/chunks/{900dad076347443b3ad9.js → 0de90b1ad8118457fd5a.js} +1 -1
  21. package/assets/esri/core/workers/chunks/{c0e073a77484b0dfd383.js → 0e1a067ab243900d0371.js} +1 -1
  22. package/assets/esri/core/workers/chunks/{33041e50ea02d99480b0.js → 0ee6109e6578395a7900.js} +1 -1
  23. package/assets/esri/core/workers/chunks/{8da08198c29acaabda6e.js → 0f1d5faddf8ef752470b.js} +1 -1
  24. package/assets/esri/core/workers/chunks/0f86c8a67c87f840fd39.js +1 -0
  25. package/assets/esri/core/workers/chunks/{6134a2c6983792787184.js → 0ff13f7a18b0123d253e.js} +1 -1
  26. package/assets/esri/core/workers/chunks/10fa8fbade8ae084c307.js +1 -0
  27. package/assets/esri/core/workers/chunks/1559213657665c053f8e.js +1 -0
  28. package/assets/esri/core/workers/chunks/{9c7fc1c97125ea2a7b7e.js → 164c604c1b2f728f32f2.js} +1 -1
  29. package/assets/esri/core/workers/chunks/19ac6f4664f97fb3821c.js +1 -0
  30. package/assets/esri/core/workers/chunks/{fd4d124c5bf810d9e352.js → 1a2f51d795b803d969c9.js} +1 -1
  31. package/assets/esri/core/workers/chunks/1eafb214519d8fc63ccb.js +1 -0
  32. package/assets/esri/core/workers/chunks/2165493d36c85b7c9a04.js +1 -0
  33. package/assets/esri/core/workers/chunks/{52422500ca3d6cf2e596.js → 2256036d5b91fa537805.js} +1 -1
  34. package/assets/esri/core/workers/chunks/{ad2b2214496e5a07db43.js → 2350f1eb70819cc06bb6.js} +1 -1
  35. package/assets/esri/core/workers/chunks/240bee7d0dc5e5dab826.js +1 -0
  36. package/assets/esri/core/workers/chunks/{822a5020afbca21df7f7.js → 25c5e1b14b184b1228a3.js} +1 -1
  37. package/assets/esri/core/workers/chunks/25c90092def215949db9.js +1 -0
  38. package/assets/esri/core/workers/chunks/{dd99bad9f91b0b62ba7c.js → 2a8168e109caa87d596f.js} +1 -1
  39. package/assets/esri/core/workers/chunks/{39254fdc41aaf61f23b0.js → 2b06e8507d71c4d9b5b5.js} +1 -1
  40. package/assets/esri/core/workers/chunks/{839feb913d1b6138fc78.js → 2b11e15bfa319dd32218.js} +1 -1
  41. package/assets/esri/core/workers/chunks/2d52386d69c218e29887.js +1 -0
  42. package/assets/esri/core/workers/chunks/{dda269a088275c823b40.js → 307297e025eed110095f.js} +1 -1
  43. package/assets/esri/core/workers/chunks/{05eb064f9b543890ae24.js → 33ba86b80426ddc88186.js} +1 -1
  44. package/assets/esri/core/workers/chunks/349e9f3d3e3267d02988.js +1 -0
  45. package/assets/esri/core/workers/chunks/{79088d5c9c2e6a780929.js → 34e04b24942da2b9b87c.js} +1 -1
  46. package/assets/esri/core/workers/chunks/{d7659d2b2aea0dd1202d.js → 3847d6f83c8ba7863c01.js} +122 -112
  47. package/assets/esri/core/workers/chunks/3be33a129d3ae7dc4f06.js +1 -0
  48. package/assets/esri/core/workers/chunks/3daddcb106a7009c5a70.js +1 -0
  49. package/assets/esri/core/workers/chunks/{eae51e827f629ab37207.js → 3de6e54b6ed0feae1940.js} +1 -1
  50. package/assets/esri/core/workers/chunks/{9fe1db0762ab3326eab4.js → 3f5094828fbae7844117.js} +1 -1
  51. package/assets/esri/core/workers/chunks/{e02f02040b63d9c2e654.js → 3fb3b9fd06f78ee5cee6.js} +1 -1
  52. package/assets/esri/core/workers/chunks/{26e33c28028bf33936fc.js → 43436c7ccc6baefc885d.js} +1 -1
  53. package/assets/esri/core/workers/chunks/434c5b54e89ace974cbd.js +29 -0
  54. package/assets/esri/core/workers/chunks/472f3b80e1f26e09114a.js +1 -0
  55. package/assets/esri/core/workers/chunks/{dd8d19eb6b8e955c8067.js → 477136b747e02312abc4.js} +1 -1
  56. package/assets/esri/core/workers/chunks/{278e4d885ab03a51ef72.js → 47866b0b8604bf05c5ba.js} +1 -1
  57. package/assets/esri/core/workers/chunks/{b0ba081533100b021090.js → 48a53bfeef11c32dadcc.js} +1 -1
  58. package/assets/esri/core/workers/chunks/4a73f73f1698fad2df20.js +1 -0
  59. package/assets/esri/core/workers/chunks/4b0e3f83a5f2d3b0478a.js +1 -0
  60. package/assets/esri/core/workers/chunks/{4fbf4390c7eb0e11e3c9.js → 4b80c84fbd3d8dd90ca6.js} +1 -1
  61. package/assets/esri/core/workers/chunks/{a78781f79d828fc678a3.js → 4ba2276751083589570a.js} +1 -1
  62. package/assets/esri/core/workers/chunks/{20feca2fdd304b3e9664.js → 4c9df8ae9238454969b8.js} +1 -1
  63. package/assets/esri/core/workers/chunks/{0ffb5a1275d07dcd9115.js → 4c9e9925c02db48fa177.js} +1 -1
  64. package/assets/esri/core/workers/chunks/{60b1af54e7fc20fd9588.js → 546213fb53fa921a3928.js} +1 -1
  65. package/assets/esri/core/workers/chunks/{f6aa10a709017ac815a7.js → 547a073c789fdfb78310.js} +1 -1
  66. package/assets/esri/core/workers/chunks/{93c1d1e7c0935242071e.js → 54bb3678570ca032f051.js} +1 -1
  67. package/assets/esri/core/workers/chunks/{53a6bfebf3904dd7cad9.js → 55e40d3b460bacd200e6.js} +1 -1
  68. package/assets/esri/core/workers/chunks/567fb6a9b72bb232306d.js +1 -0
  69. package/assets/esri/core/workers/chunks/571cf99c3eab8e517542.js +1 -0
  70. package/assets/esri/core/workers/chunks/{abdcc224c8a8c72c86c4.js → 572d45353d74dcda1f09.js} +1 -1
  71. package/assets/esri/core/workers/chunks/{5bb8d9d887dd4211afd2.js → 573e8fa0af8711ffec45.js} +1 -1
  72. package/assets/esri/core/workers/chunks/{486f1a3b7269ce6c3911.js → 58528ccb7f72ae76d52b.js} +1 -1
  73. package/assets/esri/core/workers/chunks/{8599d2f2eb0fbb4a8bf5.js → 5c7f6721b37a4355e97a.js} +1 -1
  74. package/assets/esri/core/workers/chunks/{a10188c4d1904965898a.js → 5e1699d361d237bf0937.js} +1 -1
  75. package/assets/esri/core/workers/chunks/{aa7cb1531da1ccae8492.js → 5eb726317b6602f1e206.js} +1 -1
  76. package/assets/esri/core/workers/chunks/{42b5533f94ebcdc4befe.js → 5ed56ade84a0bea4a0c8.js} +1 -1
  77. package/assets/esri/core/workers/chunks/{bb8089929ded0613d8e7.js → 6010799e05d239073de0.js} +1 -1
  78. package/assets/esri/core/workers/chunks/{1de1cc0ed0f169a58aff.js → 60ad12fb732d529a4018.js} +1 -1
  79. package/assets/esri/core/workers/chunks/6395b3ec61b6550859a4.js +1 -0
  80. package/assets/esri/core/workers/chunks/{0e11bee9b56a7f51b012.js → 63f7141c71f29dbe8270.js} +1 -1
  81. package/assets/esri/core/workers/chunks/{7bb3411a86cdd736d555.js → 665e1901ec8dc182ba7a.js} +1 -1
  82. package/assets/esri/core/workers/chunks/{bc7ca87d3bfe8a4aec81.js → 66c46c5a7147550ea3ed.js} +1 -1
  83. package/assets/esri/core/workers/chunks/{762e9a15b2638475a2b4.js → 69921d068add041b5dcb.js} +1 -1
  84. package/assets/esri/core/workers/chunks/{486f1277fe834c0fc4c1.js → 6b5332e167c0553b1e6b.js} +1 -1
  85. package/assets/esri/core/workers/chunks/{d00c25ef8a378b24378d.js → 6cf881f793fd0ec93981.js} +1 -1
  86. package/assets/esri/core/workers/chunks/6e6cdff4bbe1ff2f44ac.js +1 -0
  87. package/assets/esri/core/workers/chunks/6e75f09fb9452bd5f9fb.js +1 -0
  88. package/assets/esri/core/workers/chunks/{601e44839fd46e449aa8.js → 6ef372f52a6ebd9aeb4a.js} +1 -1
  89. package/assets/esri/core/workers/chunks/{1a9f17781e0a3bc5106f.js → 718ed36a9f23993e1460.js} +1 -1
  90. package/assets/esri/core/workers/chunks/{f1f78bb3d34f973c19de.js → 719f0012f297a9a55d70.js} +1 -1
  91. package/assets/esri/core/workers/chunks/7261bbdbd084b4bb44f8.js +1 -0
  92. package/assets/esri/core/workers/chunks/{dd26a37f061ff658c5bd.js → 727dba20e01423c6ea77.js} +1 -1
  93. package/assets/esri/core/workers/chunks/{db8deb37048c71884575.js → 7285a37cd5359aa4bac5.js} +1 -1
  94. package/assets/esri/core/workers/chunks/{6e12e3c99b149cd7f567.js → 7ad62d16b380d80f7f3e.js} +1 -1
  95. package/assets/esri/core/workers/chunks/7adff63fd66fab505ae6.js +1 -0
  96. package/assets/esri/core/workers/chunks/7e42be27ead91a4cc0f1.js +1 -0
  97. package/assets/esri/core/workers/chunks/{94f62ff81cc6fb83e73f.js → 80cca2a377d51926e1a2.js} +1 -1
  98. package/assets/esri/core/workers/chunks/{9246e2468528650bdc7c.js → 80f16f5f15518013f7d0.js} +1 -1
  99. package/assets/esri/core/workers/chunks/{eb167f9f6132a6348d2e.js → 8328f79f064a68f3c1a3.js} +1 -1
  100. package/assets/esri/core/workers/chunks/847781aefed049493444.js +1 -0
  101. package/assets/esri/core/workers/chunks/84dc2afd89263a311b81.js +1 -0
  102. package/assets/esri/core/workers/chunks/8628c027198982baed7c.js +1 -0
  103. package/assets/esri/core/workers/chunks/{9d3cdfa08ef4d2805625.js → 88610ebfdf9c93ada781.js} +1 -1
  104. package/assets/esri/core/workers/chunks/{ed5ac1efd3cba49be756.js → 8bd187b48a4e4296e3d8.js} +1 -1
  105. package/assets/esri/core/workers/chunks/{862f7090ba4a56c07093.js → 8e102a2e134ce6ce0724.js} +1 -1
  106. package/assets/esri/core/workers/chunks/{3c0421a4a0ee3a3c63f8.js → 8edac3bbac401c8d6ecb.js} +1 -1
  107. package/assets/esri/core/workers/chunks/{22c477147421e68f7f00.js → 8fb4aa967d67abb6aba9.js} +1 -1
  108. package/assets/esri/core/workers/chunks/{e1c8767143f9f9d1f049.js → 93375f5f5bb754eca35f.js} +1 -1
  109. package/assets/esri/core/workers/chunks/{ea77654c8964cc39b9a6.js → 956432c9d45940983bc2.js} +1 -1
  110. package/assets/esri/core/workers/chunks/{b17a9853250ab626d58d.js → 96ebf76661b12128ddd5.js} +1 -1
  111. package/assets/esri/core/workers/chunks/98414a10f6de21107a03.js +1 -0
  112. package/assets/esri/core/workers/chunks/{4047208f9559e06d7102.js → 9a084a12afd6f0bbabce.js} +1 -1
  113. package/assets/esri/core/workers/chunks/9acaabe950319d031f2e.js +1 -0
  114. package/assets/esri/core/workers/chunks/{a24cecf2f775eaa69cf4.js → a10df3f51fe26d782aff.js} +1 -1
  115. package/assets/esri/core/workers/chunks/a34eee4c9d4c1c2b8c49.js +1 -0
  116. package/assets/esri/core/workers/chunks/a3f4818f4190fa92331d.js +1 -0
  117. package/assets/esri/core/workers/chunks/{680bef5e8237cc3bdd84.js → ac02df176f9ea94278bb.js} +1 -1
  118. package/assets/esri/core/workers/chunks/{5efc66be4576c6f67064.js → b1c1b7f98ee218f52b56.js} +1 -1
  119. package/assets/esri/core/workers/chunks/b4e5027c121d848c3d5a.js +1 -0
  120. package/assets/esri/core/workers/chunks/{d86044dbcd64323ff9f2.js → b7809ef3e1dabd921339.js} +1 -1
  121. package/assets/esri/core/workers/chunks/b9023cc3298ee4fddea7.js +1 -0
  122. package/assets/esri/core/workers/chunks/{63c43ebf46964c283b4d.js → b92b7d6c1e693c97a3eb.js} +1 -1
  123. package/assets/esri/core/workers/chunks/{fa91cece6daab2bec0e4.js → b941ec028abd44734902.js} +1 -1
  124. package/assets/esri/core/workers/chunks/{44ca13c874b5aa0ed5a0.js → bba3eb07a2a0065759f9.js} +1 -1
  125. package/assets/esri/core/workers/chunks/{4f89da01b67b66a92c01.js → be3421ffb5b391bca02e.js} +1 -1
  126. package/assets/esri/core/workers/chunks/be69e2dda75b079362b2.js +1 -0
  127. package/assets/esri/core/workers/chunks/{3721153202bd43c7fe0e.js → c116bd04e8910b5649d1.js} +1 -1
  128. package/assets/esri/core/workers/chunks/{fbf2d90240d36f8b423f.js → c2d19bb097d074a1ef21.js} +1 -1
  129. package/assets/esri/core/workers/chunks/c517e732cab41093b2e0.js +1 -0
  130. package/assets/esri/core/workers/chunks/{b0da2b089a89d643df1e.js → c53ecbdb47952eb47516.js} +1 -1
  131. package/assets/esri/core/workers/chunks/{cded34b161fcc790e672.js → c582441200ee1cdf51a7.js} +1 -1
  132. package/assets/esri/core/workers/chunks/{16f55c5d642a23c2547e.js → c63b0055a5008b1e5005.js} +1 -1
  133. package/assets/esri/core/workers/chunks/{33641947c388ce28b563.js → c6e771eff0603ece5d30.js} +1 -1
  134. package/assets/esri/core/workers/chunks/c7e6b5594fed5bb16691.js +1 -0
  135. package/assets/esri/core/workers/chunks/{d2387906b52624b4f7f1.js → c85fc0a9412e7debf166.js} +1 -1
  136. package/assets/esri/core/workers/chunks/cbd94998c619093b6426.js +1 -0
  137. package/assets/esri/core/workers/chunks/{86c3d3c7015f1cd55fac.js → ce3fb992f6c6ae7378a3.js} +1 -1
  138. package/assets/esri/core/workers/chunks/{e7fdad0c07beb3614b60.js → d13cf2e8b24e978ea77c.js} +1 -1
  139. package/assets/esri/core/workers/chunks/{c7f69d010f1cb32f5d37.js → d33d08cb6856cd2eb35e.js} +1 -1
  140. package/assets/esri/core/workers/chunks/d5defba320f2e49a377f.js +1 -0
  141. package/assets/esri/core/workers/chunks/{006146ad6d4a5cbf1a1f.js → d710c9d206bf46e031e8.js} +1 -1
  142. package/assets/esri/core/workers/chunks/{da6134c7883531f21afe.js → d922c54ea492cc771f63.js} +1 -1
  143. package/assets/esri/core/workers/chunks/{cf49a13522d61da31d8f.js → d9270f4935eb0d044db3.js} +1 -1
  144. package/assets/esri/core/workers/chunks/{8837fbcc0d484659b79c.js → da77257b517119578088.js} +1 -1
  145. package/assets/esri/core/workers/chunks/{3ca6ecdf9bdd84fef4d5.js → deb408bee61ca192b2ce.js} +1 -1
  146. package/assets/esri/core/workers/chunks/{d92540d3ffc4af980dd8.js → df79c00b5ddbef7148a0.js} +1 -1
  147. package/assets/esri/core/workers/chunks/e0f417992889a6c41095.js +1 -0
  148. package/assets/esri/core/workers/chunks/{c511af7afe08a78e2a4d.js → e18b8646c7378213b618.js} +1 -1
  149. package/assets/esri/core/workers/chunks/{a7e6382ecc91c876117f.js → e26be75ae40acb7473ee.js} +1 -1
  150. package/assets/esri/core/workers/chunks/e4d98eaa89d2c88c5139.js +1 -0
  151. package/assets/esri/core/workers/chunks/e5c88090d16459f55cb8.js +1 -0
  152. package/assets/esri/core/workers/chunks/{cc73ac8404615dc392d2.js → e6a4cef0af9be30ffe3d.js} +1 -1
  153. package/assets/esri/core/workers/chunks/{a40566a78d801b223d3d.js → ea068c797e3e462f4518.js} +1 -1
  154. package/assets/esri/core/workers/chunks/eab969d5c7d81f351250.js +1 -0
  155. package/assets/esri/core/workers/chunks/{3a9c6f58a1a065c14017.js → eaf1d38f09744b7e84f5.js} +1 -1
  156. package/assets/esri/core/workers/chunks/ebe7ba2557b50e18e547.js +1 -0
  157. package/assets/esri/core/workers/chunks/{1e3b07cf0e608431a277.js → ec5542d6ecc0622f7705.js} +1 -1
  158. package/assets/esri/core/workers/chunks/{0a4092578dc7578bcf76.js → f5a988bb850f7a7af143.js} +1 -1
  159. package/assets/esri/core/workers/chunks/{248df6fda489a9de5852.js → f5e8ccbd6b4c0a386903.js} +1 -1
  160. package/assets/esri/core/workers/chunks/f60d5ce49c173d5381ec.js +1 -0
  161. package/assets/esri/core/workers/chunks/{000f91a18c22377f8525.js → f94170f1e8c11c861e7b.js} +1 -1
  162. package/assets/esri/core/workers/chunks/{35d0a7597473d46866de.js → f9e5740b05de24ba81be.js} +1 -1
  163. package/assets/esri/core/workers/chunks/{10f4c5533f50c3693318.js → fa869977ac2abb063925.js} +1 -1
  164. package/assets/esri/core/workers/chunks/fae14e30fa7d81bf706e.js +1 -0
  165. package/assets/esri/core/workers/chunks/{ab3a6ce7bc2a27b92469.js → fb6f1b562ee0983c8c6e.js} +1 -1
  166. package/assets/esri/core/workers/chunks/{a26916de4c105859621e.js → fd808d38ae2d475ac442.js} +1 -1
  167. package/assets/esri/core/workers/chunks/{d6f7aa280f1bd201d4ef.js → ff673ea8e3291d12689e.js} +1 -1
  168. package/chunks/GlobalIllumination.glsl.js +8 -13
  169. package/config.js +1 -1
  170. package/core/libs/gl-matrix-2/math/quat.js +1 -1
  171. package/kernel.js +1 -1
  172. package/layers/IntegratedMeshLayer.d.ts +12 -0
  173. package/layers/IntegratedMeshLayer.js +1 -1
  174. package/layers/support/I3SIntegratedMeshElevationQuery.js +2 -0
  175. package/package.json +2 -2
  176. package/support/revision.js +1 -1
  177. package/views/3d/analysis/LineOfSight/LineOfSightEditTool.js +1 -1
  178. package/views/3d/analysis/LineOfSight/LineOfSightManipulators.js +1 -1
  179. package/views/3d/analysis/LineOfSight/LineOfSightTool.js +1 -1
  180. package/views/3d/interactive/editingTools/manipulatorUtils.js +1 -1
  181. package/views/3d/layers/i3s/I3SIndex.js +1 -1
  182. package/views/3d/layers/i3s/I3SNode.js +1 -1
  183. package/views/3d/webgl-engine/core/shaderLibrary/shading/ScreenSpaceRayMarching.glsl.js +24 -9
  184. package/views/3d/webgl-engine/lib/BufferObject3D.js +2 -0
  185. package/views/3d/webgl-engine/lib/Intersector.js +1 -1
  186. package/views/3d/webgl-engine/lib/ModelDirtySet.js +1 -1
  187. package/views/3d/webgl-engine/lib/Object3D.js +1 -1
  188. package/views/3d/webgl-engine/lib/depthRangeUtils.js +1 -1
  189. package/views/3d/webgl-engine/parts/Model.js +1 -1
  190. package/views/analysis/ElevationProfile/ElevationProfileLineQueryComputation.js +1 -1
  191. package/views/support/Scheduler.js +1 -1
  192. package/assets/esri/core/workers/chunks/014eaccf2c2d357981f0.js +0 -1
  193. package/assets/esri/core/workers/chunks/0a242e76bc293b0ad04b.js +0 -1
  194. package/assets/esri/core/workers/chunks/0e65869a5dd5a3917da7.js +0 -1
  195. package/assets/esri/core/workers/chunks/0f15468ffefd3e9a17b8.js +0 -29
  196. package/assets/esri/core/workers/chunks/16ffbe484f6cd4736f79.js +0 -1
  197. package/assets/esri/core/workers/chunks/24a6b28db94e07a702a4.js +0 -1
  198. package/assets/esri/core/workers/chunks/2bd4b536e329112591c4.js +0 -1
  199. package/assets/esri/core/workers/chunks/3328a65c2bf1a0cbdb9d.js +0 -1
  200. package/assets/esri/core/workers/chunks/34f82b4ab11ff5642555.js +0 -1
  201. package/assets/esri/core/workers/chunks/3a9435569ba460ff7e3d.js +0 -1
  202. package/assets/esri/core/workers/chunks/3dd57a07c7a28e50d76e.js +0 -1
  203. package/assets/esri/core/workers/chunks/428f991c14ac12ae1b2c.js +0 -1
  204. package/assets/esri/core/workers/chunks/4717831effb1ac6d5f5d.js +0 -1
  205. package/assets/esri/core/workers/chunks/4d7f6c92041d52cc8732.js +0 -1
  206. package/assets/esri/core/workers/chunks/545a828002fd7da86c19.js +0 -1
  207. package/assets/esri/core/workers/chunks/58a52adc42fbe5cd12c6.js +0 -1
  208. package/assets/esri/core/workers/chunks/58b93f13316196d2e97d.js +0 -1
  209. package/assets/esri/core/workers/chunks/58f98bd89b644cfdafae.js +0 -1
  210. package/assets/esri/core/workers/chunks/625a692f00357629f609.js +0 -1
  211. package/assets/esri/core/workers/chunks/69688d521d5ba117e31c.js +0 -1
  212. package/assets/esri/core/workers/chunks/6f6ae6cf7f6e30b29013.js +0 -1
  213. package/assets/esri/core/workers/chunks/7fd54fa2f91cdab44ab3.js +0 -1
  214. package/assets/esri/core/workers/chunks/862eabda80ddb9e7a332.js +0 -1
  215. package/assets/esri/core/workers/chunks/8b24feffd5e084af2fa9.js +0 -1
  216. package/assets/esri/core/workers/chunks/925f83be3c1eb4b5c6af.js +0 -1
  217. package/assets/esri/core/workers/chunks/97aaff86e06380a68df8.js +0 -1
  218. package/assets/esri/core/workers/chunks/989937c120bdd676ec1e.js +0 -1
  219. package/assets/esri/core/workers/chunks/9cc14a41d4a90f6d626e.js +0 -1
  220. package/assets/esri/core/workers/chunks/a03e7333e3328036f478.js +0 -1
  221. package/assets/esri/core/workers/chunks/a34cadd486e7fcc79063.js +0 -1
  222. package/assets/esri/core/workers/chunks/a72983c3621810d4b1af.js +0 -1
  223. package/assets/esri/core/workers/chunks/a88aa26a7bee1fe7aea2.js +0 -1
  224. package/assets/esri/core/workers/chunks/a8e9aa5461c71c88e2e5.js +0 -1
  225. package/assets/esri/core/workers/chunks/a8f70cece5ce2b095cdd.js +0 -1
  226. package/assets/esri/core/workers/chunks/abd2f8fae6b918fbdd6d.js +0 -1
  227. package/assets/esri/core/workers/chunks/b2e5a89aca245263901c.js +0 -1
  228. package/assets/esri/core/workers/chunks/b2e692f52b9f02210e10.js +0 -1
  229. package/assets/esri/core/workers/chunks/b5fcf4165ac72654742d.js +0 -1
  230. package/assets/esri/core/workers/chunks/ba77a8892cb23c7a297d.js +0 -1
  231. package/assets/esri/core/workers/chunks/bf357afbabaa8dec4d75.js +0 -1
  232. package/assets/esri/core/workers/chunks/c07d2fb9940b2c6eda9f.js +0 -1
  233. package/assets/esri/core/workers/chunks/d179ec37d2612d65624f.js +0 -1
  234. package/assets/esri/core/workers/chunks/d2865c604849ce79183f.js +0 -1
  235. package/assets/esri/core/workers/chunks/e5d114f2b57d2b8e2f1c.js +0 -1
  236. package/assets/esri/core/workers/chunks/f2cbcd1b0e77e733a8e0.js +0 -1
  237. package/assets/esri/core/workers/chunks/f331c24247d132589859.js +0 -1
  238. package/assets/esri/core/workers/chunks/f8a6d8cdcabcd1d511b6.js +0 -1
  239. package/assets/esri/core/workers/chunks/ffa35ecc681ec1c4739a.js +0 -1
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[7013],{69052(t,e,r){r.d(e,{hr:()=>n});var s=r(34727);class n{constructor(t,e){this.min=t,this.max=e,this.range=e-t}normalize(t,e=0,r=!1){return i(this.range,this.min,this.max,t,e,r)}clamp(t,e=0){return(0,s.qE)(t-e,this.min,this.max)+e}monotonic(t,e,r){return t<e?e:e+a(this.range,t-e,r)}minimalMonotonic(t,e,r){return i(this.range,t,t+this.range,e,r)}center(t,e,r){return e=this.monotonic(t,e,r),this.normalize((t+e)/2,r)}diff(t,e,r){return this.monotonic(t,e,r)-t}shortestSignedDiff(t,e){t=this.normalize(t);const r=(e=this.normalize(e))-t,s=e<t?this.minimalMonotonic(t,e)-t:e-this.minimalMonotonic(e,t);return Math.abs(r)<Math.abs(s)?r:s}contains(t,e,r){return e=this.minimalMonotonic(t,e),(r=this.minimalMonotonic(t,r))>t&&r<e}}function i(t,e,r,s,n=0,i=!1){return(s-=n)<e?s+=a(t,e-s):s>r&&(s-=a(t,s-r)),i&&s===r&&(s=e),s+n}function a(t,e,r=0){return Math.ceil((e-r)/t)*t+r}const o=new n(0,2*Math.PI),u=(new n(-Math.PI,Math.PI),new n(0,360));r.d(e,["ie",0,u,"uC",0,o])},18370(t,e,r){r.d(e,{z:()=>n});class s{constructor(t){this._import=t,this.module=null,this._promise=null}getImportPromise(){return null==this._promise&&(this._promise=this._import().then(async t=>(this.module=t,t))),this._promise}}function n(t){return new s(t)}},82534(t,e,r){function s(){return[0,0,0,1]}function n(t){return[t[0],t[1],t[2],t[3]]}r.d(e,{o8:()=>n,vt:()=>s});const i=[0,0,0,1];Object.freeze(Object.defineProperty({__proto__:null,IDENTITY:i,clone:n,create:s,fromValues:function(t,e,r,s){return[t,e,r,s]}},Symbol.toStringTag,{value:"Module"})),r.d(e,["zK",0,i])},67026(t,e,r){r.d(e,{A6:()=>f,Xd:()=>c,Xr:()=>d,lw:()=>p,x8:()=>l});var s=r(29242),n=r(82534),i=r(51850),a=r(34304),o=r(35522),u=r(78955);function l(t,e,r){r*=.5;const s=Math.sin(r);return t[0]=s*e[0],t[1]=s*e[1],t[2]=s*e[2],t[3]=Math.cos(r),t}function c(t,e){const r=2*Math.acos(e[3]),s=Math.sin(r/2);return s>(0,a.FD)()?(t[0]=e[0]/s,t[1]=e[1]/s,t[2]=e[2]/s):(t[0]=1,t[1]=0,t[2]=0),r}function p(t,e,r){const s=e[0],n=e[1],i=e[2],a=e[3],o=r[0],u=r[1],l=r[2],c=r[3];return t[0]=s*c+a*o+n*l-i*u,t[1]=n*c+a*u+i*o-s*l,t[2]=i*c+a*l+s*u-n*o,t[3]=a*c-s*o-n*u-i*l,t}function h(t,e,r,s){const n=e[0],i=e[1],o=e[2],u=e[3];let l,c,p,h,d,y=r[0],f=r[1],m=r[2],g=r[3];return c=n*y+i*f+o*m+u*g,c<0&&(c=-c,y=-y,f=-f,m=-m,g=-g),1-c>(0,a.FD)()?(l=Math.acos(c),p=Math.sin(l),h=Math.sin((1-s)*l)/p,d=Math.sin(s*l)/p):(h=1-s,d=s),t[0]=h*n+d*y,t[1]=h*i+d*f,t[2]=h*o+d*m,t[3]=h*u+d*g,t}function d(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t}function y(t,e){const r=e[0]+e[4]+e[8];let s;if(r>0)s=Math.sqrt(r+1),t[3]=.5*s,s=.5/s,t[0]=(e[5]-e[7])*s,t[1]=(e[6]-e[2])*s,t[2]=(e[1]-e[3])*s;else{let r=0;e[4]>e[0]&&(r=1),e[8]>e[3*r+r]&&(r=2);const n=(r+1)%3,i=(r+2)%3;s=Math.sqrt(e[3*r+r]-e[3*n+n]-e[3*i+i]+1),t[r]=.5*s,s=.5/s,t[3]=(e[3*n+i]-e[3*i+n])*s,t[n]=(e[3*n+r]+e[3*r+n])*s,t[i]=(e[3*i+r]+e[3*r+i])*s}return t}function f(t,e,r,s){const n=.5*Math.PI/180;e*=n,r*=n,s*=n;const i=Math.sin(e),a=Math.cos(e),o=Math.sin(r),u=Math.cos(r),l=Math.sin(s),c=Math.cos(s);return t[0]=i*u*c-a*o*l,t[1]=a*o*c+i*u*l,t[2]=a*u*l-i*o*c,t[3]=a*u*c+i*o*l,t}const m=u.C,g=u.hZ,S=u.WQ,A=p,v=u.hs,_=u.Om,b=u.Cc,x=u.Bw,w=x,M=u.m3,q=M,I=u.S8,F=u.t2,R=u.aI,O=(0,i.vt)(),C=(0,i.fA)(1,0,0),T=(0,i.fA)(0,1,0),P=(0,n.vt)(),E=(0,n.vt)(),N=(0,s.vt)();Object.freeze(Object.defineProperty({__proto__:null,add:S,calculateW:function(t,e){const r=e[0],s=e[1],n=e[2];return t[0]=r,t[1]=s,t[2]=n,t[3]=Math.sqrt(Math.abs(1-r*r-s*s-n*n)),t},conjugate:d,copy:m,dot:_,equals:R,exactEquals:F,fromEuler:f,fromMat3:y,getAxisAngle:c,identity:function(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t},invert:function(t,e){const r=e[0],s=e[1],n=e[2],i=e[3],a=r*r+s*s+n*n+i*i,o=a?1/a:0;return t[0]=-r*o,t[1]=-s*o,t[2]=-n*o,t[3]=i*o,t},len:w,length:x,lerp:b,mul:A,multiply:p,normalize:I,random:function(t){const e=a.Ov,r=e(),s=e(),n=e(),i=Math.sqrt(1-r),o=Math.sqrt(r);return t[0]=i*Math.sin(2*Math.PI*s),t[1]=i*Math.cos(2*Math.PI*s),t[2]=o*Math.sin(2*Math.PI*n),t[3]=o*Math.cos(2*Math.PI*n),t},rotateX:function(t,e,r){r*=.5;const s=e[0],n=e[1],i=e[2],a=e[3],o=Math.sin(r),u=Math.cos(r);return t[0]=s*u+a*o,t[1]=n*u+i*o,t[2]=i*u-n*o,t[3]=a*u-s*o,t},rotateY:function(t,e,r){r*=.5;const s=e[0],n=e[1],i=e[2],a=e[3],o=Math.sin(r),u=Math.cos(r);return t[0]=s*u-i*o,t[1]=n*u+a*o,t[2]=i*u+s*o,t[3]=a*u-n*o,t},rotateZ:function(t,e,r){r*=.5;const s=e[0],n=e[1],i=e[2],a=e[3],o=Math.sin(r),u=Math.cos(r);return t[0]=s*u+n*o,t[1]=n*u-s*o,t[2]=i*u+a*o,t[3]=a*u-i*o,t},rotationTo:function(t,e,r){const s=(0,o.Om)(e,r);return s<-.999999?((0,o.$A)(O,C,e),(0,o.Il)(O)<1e-6&&(0,o.$A)(O,T,e),(0,o.S8)(O,O),l(t,O,Math.PI),t):s>.999999?(t[0]=0,t[1]=0,t[2]=0,t[3]=1,t):((0,o.$A)(O,e,r),t[0]=O[0],t[1]=O[1],t[2]=O[2],t[3]=1+s,I(t,t))},scale:v,set:g,setAxes:function(t,e,r,s){const n=N;return n[0]=r[0],n[3]=r[1],n[6]=r[2],n[1]=s[0],n[4]=s[1],n[7]=s[2],n[2]=-e[0],n[5]=-e[1],n[8]=-e[2],I(t,y(t,n))},setAxisAngle:l,slerp:h,sqlerp:function(t,e,r,s,n,i){return h(P,e,n,i),h(E,r,s,i),h(t,P,E,2*i*(1-i)),t},sqrLen:q,squaredLength:M,str:function(t){return"quat("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"}},Symbol.toStringTag,{value:"Module"})),r.d(e,["hZ",0,g,"t2",0,F])},95696(t,e,r){r.d(e,{A:()=>l});var s,n=r(32198),i=r(69540),a=r(25482),o=r(91429),u=r(93223);let l=class extends((0,i.OU)(a.o)){static{s=this}constructor(t){super(t),this.type="georeferenced",this.origin=null}static{this.absolute=new s}};(0,n.Cg)([(0,u.e)({georeferenced:"georeferenced"},{readOnly:!0})],l.prototype,"type",void 0),(0,n.Cg)([(0,o.MZ)({type:[Number],nonNullable:!1,json:{write:!0}})],l.prototype,"origin",void 0),l=s=(0,n.Cg)([(0,o.$K)("esri.geometry.support.MeshGeoreferencedVertexSpace")],l)},18251(t,e,r){r.d(e,{A:()=>l});var s=r(32198),n=r(69540),i=r(25482),a=r(91429),o=r(51850),u=r(93223);let l=class extends((0,n.OU)(i.o)){constructor(t){super(t),this.type="local",this.origin=(0,o.vt)()}};(0,s.Cg)([(0,u.e)({local:"local"},{readOnly:!0})],l.prototype,"type",void 0),(0,s.Cg)([(0,a.MZ)({type:[Number],nonNullable:!0,json:{write:!0}})],l.prototype,"origin",void 0),l=(0,s.Cg)([(0,a.$K)("esri.geometry.support.MeshLocalVertexSpace")],l)},73836(t,e,r){r.d(e,{A:()=>d});var s=r(32198),n=r(69540),i=r(25482),a=r(91429),o=r(58083),u=r(9093),l=r(67026),c=r(82534),p=r(51850),h=r(24770);let d=class extends((0,n.OU)(i.o)){constructor(t){super(t),this.translation=(0,p.vt)(),this.rotationAxis=(0,p.ci)(h.up),this.rotationAngle=0,this.scale=(0,p.fA)(1,1,1)}get rotation(){return(0,h.i4)(this.rotationAxis,this.rotationAngle)}set rotation(t){this.rotationAxis=(0,p.o8)((0,h.yo)(t)),this.rotationAngle=(0,h.g7)(t)}get localMatrix(){const t=(0,u.vt)();return(0,l.x8)(y,(0,h.yo)(this.rotation),(0,h.$I)(this.rotation)),(0,o.o1)(t,y,this.translation,this.scale),t}get localMatrixInverse(){return(0,o.B8)((0,u.vt)(),this.localMatrix)}equals(t){return this===t||null!=t&&(0,o.t2)(this.localMatrix,t.localMatrix)}};(0,s.Cg)([(0,a.MZ)({type:[Number],nonNullable:!0,json:{write:!0}})],d.prototype,"translation",void 0),(0,s.Cg)([(0,a.MZ)({type:[Number],nonNullable:!0,json:{write:!0}})],d.prototype,"rotationAxis",void 0),(0,s.Cg)([(0,a.MZ)({type:Number,nonNullable:!0,json:{write:!0}})],d.prototype,"rotationAngle",void 0),(0,s.Cg)([(0,a.MZ)({type:[Number],nonNullable:!0,json:{write:!0}})],d.prototype,"scale",void 0),(0,s.Cg)([(0,a.MZ)()],d.prototype,"rotation",null),(0,s.Cg)([(0,a.MZ)()],d.prototype,"localMatrix",null),(0,s.Cg)([(0,a.MZ)()],d.prototype,"localMatrixInverse",null),d=(0,s.Cg)([(0,a.$K)("esri.geometry.support.MeshTransform")],d);const y=(0,c.vt)()},24770(t,e,r){r.d(e,{$I:()=>m,AU:()=>d,g7:()=>f,i4:()=>c,ui:()=>p,vt:()=>l,yo:()=>y});var s=r(34727),n=r(58083),i=r(67026),a=r(82534),o=r(35522),u=r(51850);function l(t=S){return[t[0],t[1],t[2],t[3]]}function c(t,e,r=l()){return(0,o.C)(r,t),r[3]=e,r}function p(t,e=l()){const r=(0,n.l)(A,t);return g(e,(0,s.KJ)((0,i.Xd)(e,r))),e}function h(t,e,r=l()){return(0,i.x8)(A,t,m(t)),(0,i.x8)(v,e,m(e)),(0,i.lw)(A,v,A),g(r,(0,s.KJ)((0,i.Xd)(r,A)))}function d(t,e,r,s=l()){return c(u.Cw,t,_),c(u.JP,e,b),c(u.Cb,r,x),h(_,b,_),h(_,x,s),s}function y(t){return t}function f(t){return t[3]}function m(t){return(0,s.kU)(t[3])}function g(t,e){return t[3]=e,t}const S=[0,0,1,0],A=(0,a.vt)(),v=(0,a.vt)(),_=(l(),l()),b=l(),x=l();r.d(e,["up",0,S])},63579(t,e,r){r.d(e,{Bq:()=>u,Qp:()=>o,WN:()=>m,dK:()=>g,eN:()=>d,fH:()=>f,in:()=>y,yr:()=>l});var s=r(11254),n=r(4576),i=r(17676),a=r(20557);class o{constructor(t,e,r){this.assetName=t,this.assetMimeType=e,this.parts=r}equals(t){return this===t||this.assetName===t.assetName&&this.assetMimeType===t.assetMimeType&&(0,n.aI)(this.parts,t.parts,(t,e)=>t.equals(e))}isOnService(t){return this.parts.every(e=>e.isOnService(t))}makeHash(){let t="";for(const e of this.parts)t+=e.partHash;return t}async toBlob(t){const{parts:e}=this;if(1===e.length)return e[0].toBlob(t);const r=await Promise.all(e.map(e=>e.toBlob(t)));return(0,i.Te)(t),new Blob(r)}}class u{constructor(t,e){this.partUrl=t,this.partHash=e}equals(t){return this===t||this.partUrl===t.partUrl&&this.partHash===t.partHash}isOnService(t){return this.partUrl.startsWith(`${t.path}/assets/`)}async toBlob(t){const{data:e}=await(0,s.A)(this.partUrl,{responseType:"blob"});return(0,i.Te)(t),e}}function l(t){return function(t){switch(t?.type){case"client":return Array.isArray(t.files)?t.files.some(h):h(t.files);case"service":return t.assets.some(h);case"loadable":return!0;default:return!1}}(t?.source)}const c=/^(model\/gltf\+json)|(model\/gltf-binary)$/,p=/\.(gltf|glb)/i;function h(t){if(t instanceof File){const{type:e,name:r}=t;return c.test(e)||p.test(r)}return c.test(t.assetMimeType)||p.test(t.assetName)}function d(t,e){if(!t)return!1;const{source:r}=t;return function(t,e){return"service"===t.type&&t.assets.every(t=>t.isOnService(e))}(r,e)}function y(t,e){if(t===e)return!0;const{source:r}=t,{source:s}=e;if(r===s)return!0;if("service"===r.type&&"service"===s.type){if(r.assets.length!==s.assets.length)return!1;const t=(t,e)=>t.assetName<e.assetName?-1:t.assetName>e.assetName?1:0,e=[...r.assets].sort(t),n=[...s.assets].sort(t);for(let t=0;t<e.length;++t)if(!e[t].equals(n[t]))return!1;return!0}return!1}function f(t,e){return t instanceof File?(0,a.rq)(t,e):(0,a.z$)(t.assetMimeType,t.assetName,e)}function m(t){switch(t.type){case"client":return Array.isArray(t.files)?t.files:[t.files];case"service":return t.assets;case"loadable":return}}function g(t){return!!t.original}},27615(t,e,r){r.d(e,{CK:()=>u,Hq:()=>o,MW:()=>l,TE:()=>c,yJ:()=>p});var s=r(35522),n=r(86738),i=r(95696),a=r(18251);function o(t){return null!=t.origin}function u(t){return o(t.vertexSpace)}function l(t,e){if(!o(t))return null;const[r,s,i]=t.origin;return new n.A({x:r,y:s,z:i,spatialReference:e})}function c(t,e){const{x:r,y:s,z:n,spatialReference:o}=t,u=[r,s,n??0];return"local"===(e?.vertexSpace??function(t){return t.isGeographic||t.isWebMercator?"local":"georeferenced"}(o))?new a.A({origin:u}):new i.A({origin:u})}function p(t,e){return t.type===e.type&&(t.origin===e.origin||null!=t.origin&&null!=e.origin&&(0,s.t2)(t.origin,e.origin))}},52039(t,e,r){r.d(e,{O7:()=>p,el:()=>u});var s=r(69052),n=(r(49186),r(18370)),i=r(17676),a=(r(5443),r(39829),r(82799),r(16930)),o=(r(80754),r(21325));async function u(t,e,r){Array.isArray(t)||(t=[t]),null!=e&&"object"==typeof e&&"authMode"in e&&(r=e);let s=null;for(const e of t)s??=e?.spatialReference;if(!s)return t;const n=(0,o.Vp)(s);if(!n)return t;const[a,u]=n.valid;let p=!1;for(const e of t){if(!e)continue;if("point"===e.type){p||=e.x>=u,p||=e.x<=a;continue}const{extent:t}=e;if(null==t){p=!0;break}p||=t.xmin>=u,p||=t.xmin<=a,p||=t.xmax>=u,p||=t.xmax<=a}if(!p)return t;const[{foldInto360Range:h},d]=await(0,i.qr)(Promise.all([l.getImportPromise(),c.getImportPromise()]),r),y=d.fromSpatialReference(s);return t.map(t=>{if(null==t||"mesh"===t.type)return t;const e=d.fromGeometry(t),r=d.toGeometry(h(e,y),s);return"extent"===t.type&&1===r?.rings.length?r.extent:r})}const l=(0,n.z)(()=>r.e(4144).then(()=>r(4144)).then(t=>t.load().then(()=>t))),c=(0,n.z)(()=>Promise.all([r.e(9187),r.e(8885),r.e(9117),r.e(3299),r.e(1550)]).then(()=>r(78125)));function p(t,e,r){const s=(0,o.Vp)(r);if(null==s)return t;const[n,i]=s.valid,a=2*i;let u=0,l=0;e>i?u=Math.ceil(Math.abs(e-i)/a):e<n&&(u=-Math.ceil(Math.abs(e-n)/a)),t>i?l=Math.ceil(Math.abs(t-i)/a):t<n&&(l=-Math.ceil(Math.abs(t-n)/a));let c=t+(u-l)*a;const p=c-e;return p>i?c-=a:p<n&&(c+=a),c}function h(t){const e=(0,o.Vp)(t);if(null==e)return null;const[r,n]=e.valid;return new s.hr(r,n)}const d=h(a.A.WGS84);h(a.A.WebMercator),r.d(e,["Y_",0,d])},80754(t,e,r){r.d(e,{kS:()=>l,kd:()=>u});var s=r(82799),n=r(16930),i=r(60408),a=r(52006);const o={102100:{maxX:20037508.342788905,minX:-20037508.342788905,plus180Line:new s.A({paths:[[[20037508.342788905,-20037508.342788905],[20037508.342788905,20037508.342788905]]],spatialReference:n.A.WebMercator}),minus180Line:new s.A({paths:[[[-20037508.342788905,-20037508.342788905],[-20037508.342788905,20037508.342788905]]],spatialReference:n.A.WebMercator})},4326:{maxX:180,minX:-180,plus180Line:new s.A({paths:[[[180,-180],[180,180]]],spatialReference:n.A.WGS84}),minus180Line:new s.A({paths:[[[-180,-180],[-180,180]]],spatialReference:n.A.WGS84})}};function u(t,e){return Math.ceil((t-e)/(2*e))}function l(t,e){if((0,a.Ed)(t))for(const r of function(t){return(0,i.Bi)(t)?t.curveRings:t.curvePaths}(t))for(const t of r){if((0,a.aO)(t)){const[r,s]=t.c;r[0]+=e,s[0]+=e;continue}if((0,a.FG)(t)){const[r,s]=t.a;r[0]+=e,s[0]+=e;continue}if((0,a.n1)(t)){const[r,s,n]=t.b;r[0]+=e,s[0]+=e,n[0]+=e;continue}t[0]+=e}for(const r of function(t){return(0,i.Bi)(t)?t.rings:t.paths}(t))for(const t of r)t[0]+=e;return t}r.d(e,["j7",0,o])},99352(t,e,r){r.d(e,["F",0,{supportsStatistics:!0,supportsPercentileStatistics:!0,supportsSpatialAggregationStatistics:!0,supportedSpatialAggregationStatistics:{envelope:!0,centroid:!0,convexHull:!0},supportsStatisticsAggregatedIds:!0,supportsCentroid:!0,supportsCentroidOnDegeneratedQuantizedGeometry:!0,supportsCacheHint:!0,supportsCurrentUser:!1,supportsDegeneratedQuantizedGeometry:!1,supportsDistance:!0,supportsOutDistance:!1,supportsDistinct:!0,supportsExtent:!0,supportsGeometryProperties:!1,supportsHavingClause:!0,supportsOrderBy:!0,supportsPagination:!0,supportsPaginationOnAggregatedQueries:!1,supportsQuantization:!0,supportsQuantizationEditMode:!1,supportsQueryGeometry:!0,supportsResultType:!0,supportsReturnMesh:!1,supportsReturnExceededLimitGeometries:!1,supportsSqlExpression:!0,supportsMaxRecordCountFactor:!1,supportsStandardizedQueriesOnly:!0,supportsTopFeaturesQuery:!1,supportsQueryByAnonymous:!0,supportsQueryByOthers:!0,supportsHistoricMoment:!1,supportsFormatPBF:!1,supportsFormatPBFWithCurves:!1,supportsDisjointSpatialRelationship:!0,supportsDefaultSpatialReference:!1,supportsFullTextSearch:!1,supportsCompactGeometry:!1,maxRecordCountFactor:void 0,maxRecordCount:void 0,maxUniqueIDCount:void 0,relativeTimeBinWindow:0,standardMaxRecordCount:void 0,standardMaxRecordCountNoGeometry:void 0,tileMaxRecordCount:void 0,supportsTrueCurve:!1},"P",0,{supportsDate:!0,supportsFixedInterval:!0,supportsAutoInterval:!0,supportsFixedBoundaries:!0,supportsStackBy:!0,supportsSplitBy:!0,supportsSnapToData:!1,supportsReturnFullIntervalBin:!1,supportsFirstDayOfWeek:!1,supportsNormalization:!0,supportedStatistics:{count:!0,sum:!0,avg:!0,var:!0,stddev:!0,min:!0,max:!0,percentileContinuous:!0,percentileDiscrete:!0,envelope:!0,centroid:!0,convexHull:!0},supportedNormalizationTypes:{field:!0,log:!0,naturalLog:!0,percentOfTotal:!0,squareRoot:!0}}])},65515(t,e,r){r.r(e),r.d(e,{default:()=>Y});var s=r(32198),n=r(92602),i=r(11254),a=r(4576),o=r(49186),u=r(44208),l=r(66552),c=r(92474),p=r(53966),h=r(93637),d=r(17676),y=r(36708),f=r(84952),m=r(13069),g=r(91429),S=r(5443),A=r(16930),v=r(95696),_=r(27615),b=r(63579),x=r(52106),w=r(86211);function M(t){return"object"==typeof t&&null!=t&&"objectId"in t&&!!t.objectId}function q(t){return"object"==typeof t&&null!=t&&"globalId"in t&&!!t.globalId}function I(t){return t.every(q)}var F=r(99917),R=r(65864),O=r(73836),C=r(21325);async function T(t,e,r){const{geometry:s}=e,n={...e.attributes};if(null!=r&&"mesh"===s?.type){const{transformFieldRoles:e}=r,{origin:i,spatialReference:a,vertexSpace:o}=s,u=s.transform??new O.A,l="local"===o.type,c=t.spatialReference,p=c.isGeographic,h=(0,C.aI)(c,a),d=(0,F.isEqualBaseGCS)(a,c)&&(0,F.canProjectWithoutEngine)(a,c);if(!(l&&p&&d||!l&&!p&&h))return null;const y=(0,F.projectWithoutEngine)(i,a,c);if(null==y)return null;if(n[e.originX]=y.x,n[e.originY]=y.y,n[e.originZ]=y.z??0,null!=u){const{translation:t,scale:r,rotation:s}=u,i=l?1:(0,w.KX)(a)/(0,w.KX)(c);n[e.translationX]=t[0]*i,n[e.translationY]=t[2]*i,n[e.translationZ]=-t[1]*i,n[e.scaleX]=r[0],n[e.scaleY]=r[2],n[e.scaleZ]=r[1],n[e.rotationX]=s[0],n[e.rotationY]=s[2],n[e.rotationZ]=-s[1],n[e.rotationDeg]=s[3]}return{attributes:n}}return null==s?{attributes:n}:"mesh"===s.type||"extent"===s.type?null:{geometry:s.toJSON(),attributes:n}}async function P(t,e){const r=await Promise.all((e.addAttachments??[]).map(e=>E(t,e))),s=await Promise.all((e.updateAttachments??[]).map(e=>E(t,e))),n=e.deleteAttachments??[];return r.length||s.length||n.length?{adds:r,updates:s,deletes:[...n]}:null}async function E(t,e){const{feature:r,attachment:s}=e,{globalId:n,name:i,contentType:a,data:o,keywords:u,uploadId:l}=s,c={globalId:n};if(r&&("attributes"in r?c.parentGlobalId=r.attributes?.[t.globalIdField]:r.globalId&&(c.parentGlobalId=r.globalId)),l)c.uploadId=l;else if(o){const t=await(0,f._0)(o);t&&(c.contentType=t.mediaType,c.data=t.data),o instanceof File&&(c.name=o.name)}return i&&(c.name=i),a&&(c.contentType=a),u&&(c.keywords=u),c}function N(t,e,r){if(!e||0===e.length)return[];if(r&&I(e))return e.map(t=>t.globalId);if(function(t){return t.every(M)}(e))return e.map(t=>t.objectId);const s=r?t.globalIdField:t.objectIdField;return s?e.map(t=>t.getAttribute(s)):[]}function D(t){const e=!0===t.success?null:t.error||{code:void 0,description:"Feature edit failed"};return{objectId:t.objectId,globalId:t.globalId,error:e?new o.A("feature-layer-source:edit-failure",e.description,{code:e.code}):null}}function Q(t,e){return new x.A({attributes:t.attributes,geometry:(0,R.rS)({...t.geometry,spatialReference:e})})}function V(t,e){return{adds:t?.adds?.map(t=>Q(t,e))||[],updates:t?.updates?.map(t=>({original:Q(t[0],e),current:Q(t[1],e)}))||[],deletes:t?.deletes?.map(t=>Q(t,e))||[],spatialReference:e}}var Z=r(64714),j=r(64314),J=r(60694),U=r(15426),G=r(20557),k=r(99199),B=r(96520),z=r(97552),X=r(79677),L=r(20816);const $=new l.J({originalAndCurrentFeatures:"original-and-current-features",none:"none"}),W=new l.J({Started:"published",Publishing:"publishing",Stopped:"unavailable"});let Y=class extends c.x_{constructor(t){super(t),this.type="feature-layer",this.supportedSourceTypes=new Set(["Feature Layer","Oriented Imagery Layer","Table","Catalog Layer","Annotation Layer","Dimension Layer"]),this.refresh=(0,d.sg)(async()=>{await this.load();const t=this.sourceJSON.editingInfo?.lastEditDate;if(null==t)return{dataChanged:!0,updates:{}};try{await this._fetchService(null)}catch{return{dataChanged:!0,updates:{}}}const e=t!==this.sourceJSON.editingInfo?.lastEditDate;return{dataChanged:e,updates:e?{editingInfo:this.sourceJSON.editingInfo,extent:this.sourceJSON.extent}:null}}),this._ongoingAssetUploads=new Map}load(t){const e=this.layer.sourceJSON,r=this._fetchService(e,{...t}).then(()=>this.layer.setUserPrivileges(this.sourceJSON.serviceItemId,t)).then(()=>this._ensureLatestMetadata(t));return this.addResolvingPromise(r),Promise.resolve(this)}initialize(){this.addHandles([(0,y.wB)(()=>{const t=this.layer;return t&&"lastEditsEventDate"in t?t.lastEditsEventDate:null},t=>this._handleLastEditsEventChange(t))])}destroy(){this._removeEditInterceptor()}get queryTask(){const{capabilities:t,parsedUrl:e,gdbVersion:r,spatialReference:s,fieldsIndex:n,uniqueIdFields:i}=this.layer,a="infoFor3D"in this.layer?this.layer.infoFor3D:null,o="dynamicDataSource"in this.layer?this.layer.dynamicDataSource:null,l=(0,u.A)("featurelayer-pbf")&&t?.query.supportsFormatPBF&&null==a,c=l&&t?.query.supportsFormatPBFWithCurves,p=t?.operations?.supportsQueryAttachments??!1,h=t?.query?.relativeTimeBinWindow??0,d=e.path;return new j.A({dynamicDataSource:o,fieldsIndex:n,gdbVersion:r,infoFor3D:a,pbfSupported:l,pbfSupportedWithCurves:c,queryAttachmentsSupported:p,relativeTimeBinWindow:h,sourceSpatialReference:s,uniqueIdFields:i,url:d})}async addAttachment(t,e,r){await this.load();const{layer:s}=this;await(0,U.VA)(s,"editing");const n=t.attributes[s.objectIdField],a=s.parsedUrl.path+"/"+n+"/addAttachment",o=this._getLayerRequestOptions({query:r}),u=this._getFormDataForAttachment(e,o.query);try{return D((await(0,i.A)(a,{body:u})).data.addAttachmentResult)}catch(t){throw this._createAttachmentErrorResult(n,t)}}async updateAttachment(t,e,r,s){await this.load();const{layer:n}=this;await(0,U.VA)(n,"editing");const a=t.attributes[n.objectIdField],o=n.parsedUrl.path+"/"+a+"/updateAttachment",u=this._getLayerRequestOptions({query:{attachmentId:e,...s}}),l=this._getFormDataForAttachment(r,u.query);try{return D((await(0,i.A)(o,{body:l})).data.updateAttachmentResult)}catch(t){throw this._createAttachmentErrorResult(a,t)}}async applyEdits(t,e){await this.load();const{layer:r}=this;await(0,U.VA)(r,"editing");const s="infoFor3D"in r?r.infoFor3D:null,n=null!=s,u=n||(e?.globalIdUsed??!1),l=n?await this._uploadMeshesAndGetAssetMapEditsJSON(t):null,c=t.addFeatures?.map(t=>T(this.layer,t,s))??[],p=(await Promise.all(c)).filter(a.Ru),h=t.updateFeatures?.map(t=>T(this.layer,t,s))??[],d=(await Promise.all(h)).filter(a.Ru),y=N(this.layer,t.deleteFeatures,u);(0,B.u)(p,d,r.spatialReference);const f=await P(this.layer,t),m=r.capabilities.editing.supportsAsyncApplyEdits&&n,g=e?.gdbVersion||r.gdbVersion,S={gdbVersion:g,rollbackOnFailure:e?.rollbackOnFailureEnabled,useGlobalIds:u,returnEditMoment:e?.returnEditMoment,trueCurveClient:e?.editsRespectTrueCurves,usePreviousEditMoment:e?.usePreviousEditMoment,async:m};await(0,L.ZJ)(this.layer.url,g,!0);const A=(0,L.w5)(this.layer.url,g||null);if(await(0,L.We)(r.url,g,r.historicMoment))throw new o.A("feature-layer-source:historic-version","Editing a historic version is not allowed");e?.returnServiceEditsOption?(S.edits=JSON.stringify([{id:r.layerId,adds:p.length?p:null,updates:d.length?d:null,deletes:y.length?y:null,attachments:f,assetMaps:l}]),S.returnServiceEditsOption=$.toJSON(e?.returnServiceEditsOption),S.returnServiceEditsInSourceSR=e?.returnServiceEditsInSourceSR):(S.adds=p.length?JSON.stringify(p):null,S.updates=d.length?JSON.stringify(d):null,S.deletes=y.length?u?JSON.stringify(y):y.join(","):null,S.attachments=f&&JSON.stringify(f),S.assetMaps=null!=l?JSON.stringify(l):void 0);const v=this._getLayerRequestOptions({method:"post",query:S});A&&(v.authMode="immediate",v.query.returnEditMoment=!0,v.query.sessionId=L.TA);const _=e?.returnServiceEditsOption?r.url:r.parsedUrl.path;let b;try{b=m?await this._asyncApplyEdits(_+"/applyEdits",v):await(0,i.A)(_+"/applyEdits",v)}catch(t){if(!function(t){const e=t.details.raw,r=+e.code,s=+e.extendedCode;return 500===r&&(-2147217144===s||-2147467261===s)}(t))throw t;v.authMode="immediate",b=m?await this._asyncApplyEdits(_+"/applyEdits",v):await(0,i.A)(_+"/applyEdits",v)}return this._createEditsResult(b)}async deleteAttachments(t,e,r){await this.load();const{layer:s}=this;await(0,U.VA)(s,"editing");const n=t.attributes[s.objectIdField],a=s.parsedUrl.path+"/"+n+"/deleteAttachments";try{return(await(0,i.A)(a,this._getLayerRequestOptions({query:{attachmentIds:e.join(","),...r},method:"post"}))).data.deleteAttachmentResults.map(D)}catch(t){throw this._createAttachmentErrorResult(n,t)}}fetchRecomputedExtents(t={}){const e=t.signal;return this.load({signal:e}).then(async()=>{const e=this._getLayerRequestOptions({...t,query:{returnUpdates:!0}}),{layerId:r,url:s}=this.layer,{data:n}=await(0,i.A)(`${s}/${r}`,e),{id:a,extent:o,fullExtent:u,timeExtent:l}=n,c=o||u;return{id:a,fullExtent:c&&S.A.fromJSON(c),timeExtent:l&&X.A.fromJSON({start:l[0],end:l[1]})}})}async queryAttachments(t,e={}){await this.load();const r=this._getLayerRequestOptions(e);return this.queryTask.executeAttachmentQuery(t,r)}async queryFeatures(t,e){await this.load();const r=await this.queryTask.execute(t,{...e,query:this._createRequestQueryOptions(e)});if(t.outStatistics?.length&&r.features.length){const e=new Map;if(r.features.forEach(r=>{const s=r.attributes;t.outStatistics?.forEach(({outStatisticFieldName:t})=>{if(t){const r=t.toLowerCase();r&&r in s&&t!==r&&(s[t]=s[r],delete s[r],e.set(r,t))}})}),null!=r.fields)for(const t of r.fields){const r=e.get(t.name.toLowerCase());null!=r&&(t.name=r)}}return r}async queryFeaturesJSON(t,e){return await this.load(),this.queryTask.executeJSON(t,{...e,query:this._createRequestQueryOptions(e)})}async queryObjectIds(t,e){return await this.load(),this.queryTask.executeForIds(t,{...e,query:this._createRequestQueryOptions(e)})}async queryFeatureCount(t,e){return await this.load(),this.queryTask.executeForCount(t,{...e,query:this._createRequestQueryOptions(e)})}async queryExtent(t,e){return await this.load(),this.queryTask.executeForExtent(t,{...e,query:this._createRequestQueryOptions(e)})}async queryRelatedFeatures(t,e){return await this.load(),this.queryTask.executeRelationshipQuery(t,{...e,query:this._createRequestQueryOptions(e)})}async queryRelatedFeaturesCount(t,e){return await this.load(),this.queryTask.executeRelationshipQueryForCount(t,{...e,query:this._createRequestQueryOptions(e)})}async queryPivot(t,e){return await this.load(),this.queryTask.executePivotQuery(t,{...e,query:this._createRequestQueryOptions(e)})}async queryTopFeatures(t,e){return await this.load(),this.queryTask.executeTopFeaturesQuery(t,{...e,query:this._createRequestQueryOptions(e)})}async queryAttributeBins(t,e){return await this.load(),this.queryTask.executeAttributeBinsQuery(t,{...e,query:this._createRequestQueryOptions(e)})}async queryTopObjectIds(t,e){return await this.load(),this.queryTask.executeForTopIds(t,{...e,query:this._createRequestQueryOptions(e)})}async queryTopExtents(t,e){return await this.load(),this.queryTask.executeForTopExtents(t,{...e,query:this._createRequestQueryOptions(e)})}async queryTopCount(t,e){return await this.load(),this.queryTask.executeForTopCount(t,{...e,query:this._createRequestQueryOptions(e)})}async fetchPublishingStatus(){if(!(0,J.Wo)(this.layer.url))return"unavailable";const t=(0,f.fj)(this.layer.url,"status"),e=await(0,i.A)(t,{query:{f:"json"}});return W.fromJSON(e.data.status)}async uploadAssets(t,e){const{uploadAssets:s}=await r.e(1384).then(()=>r(31384));return s(t,{layer:this.layer,ongoingUploads:this._ongoingAssetUploads},e)}_handleLastEditsEventChange(t){const e=this.layer;if(null==t||!("capabilities"in e)||!("effectiveCapabilities"in e))return;if(e.capabilities?.operations?.supportsEditing||!e.effectiveCapabilities?.operations?.supportsEditing)return;let r=e.url;null!=r&&("layerId"in e&&(r=(0,f.fj)(r,e.layerId.toString())),this._getOrCreateEditInterceptor(r).before=e=>{const r=e.requestOptions.method??"auto";if("auto"===r||"head"===r){const r=e.requestOptions.query??{};r._ts=t.getTime(),e.requestOptions.query=r}})}_getOrCreateEditInterceptor(t){return null==this._editInterceptor&&(this._editInterceptor={urls:t},n.A.request.internalInterceptors.push(this._editInterceptor)),this._editInterceptor}_removeEditInterceptor(){null!=this._editInterceptor&&((0,a.TF)(n.A.request.internalInterceptors,this._editInterceptor),this._editInterceptor=null)}async _asyncApplyEdits(t,e){const r=(await(0,i.A)(t,e)).data.statusUrl;for(;;){const t=(await(0,i.A)(r,{query:{f:"json"},responseType:"json"})).data;switch(t.status){case"Completed":return(0,i.A)(t.resultUrl,{query:{f:"json"},responseType:"json"});case"CompletedWithErrors":throw new o.A("async-applyEdits-failed","asynchronous applyEdits call failed.");case"Failed ImportChanges":case"InProgress":case"Pending":case"ExportAttachments":case"ExportChanges":case"ExportingData":case"ExportingSnapshot":case"ImportAttachments":case"ProvisioningReplica":case"UnRegisteringReplica":break;default:throw new o.A("async-applyEdits-failed","asynchronous applyEdits call failed (undefined response status)")}await(0,d.Pl)(H)}}_createRequestQueryOptions(t){const e={...this.layer.customParameters,token:this.layer.apiKey,...t?.query};return this.layer.datesInUnknownTimezone&&(e.timeReferenceUnknownClient=!0),e}async _fetchService(t,e){if(!t){const r={};(0,u.A)("featurelayer-advanced-symbols")&&(r.returnAdvancedSymbols=!0),e?.cacheBust&&(r._ts=Date.now());const{data:s}=await(0,i.A)(this.layer.parsedUrl.path,this._getLayerRequestOptions({query:r,signal:e?.signal}));t=s}this.layer.applyPreferredHost(t),this.sourceJSON=await this._patchServiceJSON(t,e?.signal);const r=t.type;if(!this.supportedSourceTypes.has(r))throw new o.A("feature-layer-source:unsupported-type",`Source type "${r}" is not supported`)}async _patchServiceJSON(t,e){if("Table"!==t.type&&t.geometryType&&!t?.drawingInfo?.renderer&&!t.defaultSymbol){const e=(0,Z.F0)(t.geometryType).renderer;(0,h.sM)("drawingInfo.renderer",e,t)}if("esriGeometryMultiPatch"===t.geometryType&&t.infoFor3D&&(t.geometryType="mesh"),null==t.extent)try{const{data:r}=await(0,i.A)(this.layer.url,this._getLayerRequestOptions({signal:e}));r.spatialReference&&(t.extent={xmin:0,ymin:0,xmax:0,ymax:0,spatialReference:r.spatialReference})}catch(t){(0,d.QP)(t)}return t}async _ensureLatestMetadata(t){if(this.layer.userHasUpdateItemPrivileges&&this.sourceJSON.cacheMaxAge>0)return this._fetchService(null,{...t,cacheBust:!0})}async _uploadMeshesAndGetAssetMapEditsJSON(t){const{addAssetFeatures:e}=t;if(!e?.length)return null;if(await this._areAllAssetsAlreadyMapped(e))return null;const s=t.addFeatures.filter(t=>t.geometry);if(e.length!==s.length+t.updateFeatures.length)throw new o.A("feature-layer-source:unsupported-mesh-edits","Mixing attribute only edits with mesh geometry edits is not currently supported");const n=new Array,i=new Map;for(const t of e){const{geometry:e}=t,{vertexSpace:s}=e;if((0,_.Hq)(s))n.push(e);else{const s=e.origin,{convertMeshVertexSpace:a}=await Promise.all([r.e(6860),r.e(4508)]).then(()=>r(28846)),o=await a(e,new v.A({origin:[s.x,s.y,s.z??0]}));i.set(o,e),t.geometry=o,n.push(o)}}await this.uploadAssets(n);for(const[t,e]of i)e.addExternalSources(t.metadata.externalSources.items);return{adds:this._getAssetMapEditsJSON(e),updates:[],deletes:[]}}_getAssetMapEditsJSON(t){const e=new Array,r=this.layer.globalIdField,s=this.layer.parsedUrl;for(const n of t){const t=n.geometry,{metadata:i}=t,a=i.getExternalSourcesOnService(s),o=n.getAttribute(r);if(0===a.length){p.A.getLogger(this).error(`Skipping feature ${o}. The mesh it is associated with has not been uploaded to the service and cannot be mapped to it.`);continue}const{source:u}=a.find(b.dK)??a[0];for(const t of u.assets)1===t.parts.length?e.push({globalId:(0,m.yS)(),parentGlobalId:o,assetName:t.assetName,assetHash:t.parts[0].partHash,flags:[]}):p.A.getLogger(this).error(`Skipping asset ${t.assetName}. It does not have exactly one part, so we cannot map it to a feature.`)}return e}_createEditsResult(t){const e=t.data,{layerId:r}=this.layer,s=[];let n=null;if(Array.isArray(e))for(const t of e)s.push({id:t.id,editedFeatures:t.editedFeatures}),t.id===r&&(n={addResults:t.addResults??[],updateResults:t.updateResults??[],deleteResults:t.deleteResults??[],attachments:t.attachments,editMoment:t.editMoment});else n=e;const i=function(t){const e=t?.assetMaps;if(e){for(const t of e.addResults)t.success||p.A.getLogger("esri.layers.graphics.sources.support.sourceUtils").error(`Failed to map asset to feature with globalId ${t.globalId}.`);for(const t of e.updateResults)t.success||p.A.getLogger("esri.layers.graphics.sources.support.sourceUtils").error(`Failed to map asset to feature with globalId ${t.globalId}.`)}const r=t?.attachments,s={addFeatureResults:t?.addResults?.map(D)??[],updateFeatureResults:t?.updateResults?.map(D)??[],deleteFeatureResults:t?.deleteResults?.map(D)??[],addAttachmentResults:r?.addResults?r.addResults.map(D):[],updateAttachmentResults:r?.updateResults?r.updateResults.map(D):[],deleteAttachmentResults:r?.deleteResults?r.deleteResults.map(D):[]};return t?.editMoment&&(s.editMoment=t.editMoment),s}(n);if(s.length>0){i.editedFeatureResults=[];for(const t of s){const{editedFeatures:e}=t,r=e?.spatialReference?new A.A(e.spatialReference):null;i.editedFeatureResults.push({layerId:t.id,editedFeatures:V(e,r)})}}return i}_createAttachmentErrorResult(t,e){const r=e.details.messages?.[0]||e.message,s=e.details.httpStatus||e.details.messageCode;return{objectId:t,globalId:null,error:new o.A("feature-layer-source:attachment-failure",r,{code:s})}}_getFormDataForAttachment(t,e){const r=t instanceof FormData?t:t&&t.elements?new FormData(t):null;if(r)for(const t in e){const s=e[t];null!=s&&(r.set?r.set(t,s):r.append(t,s))}return r}_getLayerRequestOptions(t={}){const{layer:e,layer:{parsedUrl:r,gdbVersion:s}}=this;return{...t,query:{gdbVersion:s,layer:"dynamicDataSource"in e&&e.dynamicDataSource?JSON.stringify({source:e.dynamicDataSource}):void 0,...r.query,f:"json",...this._createRequestQueryOptions(t)},responseType:"json"}}async _areAllAssetsAlreadyMapped(t){const{layer:e}=this,{globalIdField:r,parsedUrl:s}=e,n="infoFor3D"in e?e.infoFor3D:null;if(null==n||null==r)return!1;const i=(0,G.JZ)(n);if(null==i)return!1;const o=(0,f.fj)(s.path,`../${i.id}`),u=new Array;for(const e of t){if(!(e.geometry.metadata.getExternalSourcesOnService(s).length>0))return!1;u.push(e)}const l=u.map(t=>t.getAttribute(r)).filter(a.Ru);if(0===l.length)return!1;const{assetMapFieldRoles:{parentGlobalId:c,assetHash:p}}=n,h=new z.A({where:`${c} IN (${l.map(t=>`'${t}'`)})`,outFields:[p,c],returnGeometry:!1}),d=await(0,k.s)(o,h),{features:y}=d;return 0!==y.length&&!u.some(t=>{const e=t.getAttribute(r);if(!e)return!0;const{metadata:n}=t.geometry,i=y.filter(t=>t.getAttribute(c)===e);if(0===i.length)return!0;const a=i.map(t=>t.getAttribute(p));return n.getExternalSourcesOnService(s).flatMap(({source:t})=>t.assets.flatMap(t=>t.parts.map(t=>t.partHash))).some(t=>a.every(e=>t!==e))})}};(0,s.Cg)([(0,g.MZ)()],Y.prototype,"type",void 0),(0,s.Cg)([(0,g.MZ)({constructOnly:!0})],Y.prototype,"layer",void 0),(0,s.Cg)([(0,g.MZ)({constructOnly:!0})],Y.prototype,"supportedSourceTypes",void 0),(0,s.Cg)([(0,g.MZ)({readOnly:!0})],Y.prototype,"queryTask",null),Y=(0,s.Cg)([(0,g.$K)("esri.layers.graphics.sources.FeatureLayerSource")],Y);const H=1e3},64314(t,e,r){r.d(e,{A:()=>M});var s=r(32198),n=r(69622),i=r(49186),a=r(44208),o=r(17676),u=r(84952),l=r(91429),c=r(21325),p=r(20557),h=r(2272),d=r(65615),y=r(20615),f=r(74910),m=r(78286),g=r(99199),S=r(62815),A=r(63746);class v{constructor(t){this._options=t,this.featureSet={features:[]},this.parseOnly=null,this._transformInPlace=null,this._transformInPlaceXY=null,this._finishVertex=v._finishVertexNonPoint,this._attributesClass=null,this._previousX=0,this._previousY=0,this._point=null,this._lengths=null,this._vertex=[],this._part=null,this._parts=null,this._i=0}queryGeometryType(){return this.featureSet.queryGeometryType}queryGeometry(){return this.featureSet.queryGeometry}idField(t){"string"==typeof t&&(this.featureSet.objectIdFieldName=t)}finish(){this._options.applyTransform&&(this.featureSet.transform=null);const{spatialReference:t,features:e}=this.featureSet;if(t)for(const{geometry:r}of e)r&&(r.spatialReference=t)}feature(){this._attributesClass??=(0,A._)(this.featureSet.fields?.map(t=>t.name)??[]),this.featureSet.features.push({attributes:new this._attributesClass}),this._options.applyTransform&&this._setVertexTransformer()}centroid([t,e]){this.featureSet.features.at(-1).centroid={x:t,y:e}}geometry(t,e,r){this._previousX=this._previousY=0,this._lengths=r;let s,{hasZ:n,hasM:i}=this.featureSet;switch(n??=!1,i??=!1,this._i=0,this._vertex=[0,0],n&&this._vertex.push(0),i&&this._vertex.push(0),this._finishVertex=v._finishVertexNonPoint,e){case"esriGeometryPoint":this._point={x:0,y:0},s=this._point,this._finishVertex=n?i?v._finishVertexPointXYZM:v._finishVertexPointXYZ:i?v._finishVertexPointXYM:v._finishVertexPointXY;break;case"esriGeometryMultipoint":s={points:[],hasZ:n,hasM:i},this._part=s.points,this._parts=[];break;case"esriGeometryPolyline":s={paths:[],hasZ:n,hasM:i},this._parts=s.paths,this._part=[];break;case"esriGeometryPolygon":s={rings:[],hasZ:n,hasM:i},this._parts=s.rings,this._part=[]}1===t?(this.featureSet.queryGeometry=s,this.featureSet.queryGeometryType=e,this._options.applyTransform||this._setVertexTransformer()):this.featureSet.features.at(-1).geometry=s}coord(t){const e=this._vertex;e[this._i++]=t,this._i<e.length||(this._i=0,this._transformInPlace&&(e[0]+=this._previousX,e[1]+=this._previousY,[this._previousX,this._previousY]=e,this._transformInPlace(e)),this._finishVertex(this))}curvedGeometry(t,e,r,s){let n,{hasZ:i,hasM:a}=this.featureSet;switch(i??=!1,a??=!1,t){case"esriGeometryPoint":case"esriGeometryMultipoint":throw new Error(`Curved ${t} does not make sense`);case"esriGeometryPolyline":n={paths:[],curvePaths:[],hasZ:i,hasM:a},this._parts=n.curvePaths,this._part=[];break;case"esriGeometryPolygon":n={rings:[],curveRings:[],hasZ:i,hasM:a},this._parts=n.curveRings,this._part=[]}this.featureSet.features.at(-1).geometry=n}startCurvedPart(t){this._part.push(this._transform(t))}finishCurvedPart(t){this._parts.push(this._part),this._part=[]}lineSegment(t,e){this._part.push(this._transform(e))}bezierSegment(t,e,r,s){this._part.push({b:[this._transform(e),this._transformXY(r),this._transformXY(s)]})}circularArcSegment(t,e,r){this._part.push({c:[this._transform(e),this._transformXY(r)]})}ellipticArcSegment(t,e,r,s,n,i,a,o){this._part.push({a:[this._transform(e),this._transformXY(r),s,n,i,a,o]})}static _finishVertexPointXY({_point:t,_vertex:e}){[t.x,t.y]=e}static _finishVertexPointXYZ({_point:t,_vertex:e}){[t.x,t.y,t.z]=e}static _finishVertexPointXYM({_point:t,_vertex:e}){[t.x,t.y,t.m]=e}static _finishVertexPointXYZM({_point:t,_vertex:e}){[t.x,t.y,t.z,t.m]=e}static _finishVertexNonPoint(t){const{_part:e,_parts:r,_lengths:s,_vertex:n}=t;e.push([...n]),e.length<s[r.length]||(t._previousX=t._previousY=0,t._part=[],r.push(e))}_setVertexTransformer(){const{sourceSpatialReference:t}=this._options,{spatialReference:e,hasZ:r,transform:s}=this.featureSet,n=r?(0,S.d)(t,e):1;this._transformInPlace??=(0,A.M)(this.featureSet,n),this._transformInPlaceXY??=(0,A.M)({transform:s})}_transform(t){const e=[...t];return this._transformInPlace?.(e),e}_transformXY(t){const e=[t[0],t[1]];return this._transformInPlaceXY?.(e),e}}var _=r(80893),b=r(22671),x=r(97552);async function w(t,e,r,s){const n=(0,h.Dl)(t),i={...r},a=x.A.from(e),o=!a.quantizationParameters;return await(0,_.IJ)(n,a,new v({sourceSpatialReference:a.sourceSpatialReference,applyTransform:o}),i,s)}let M=class extends n.A{constructor(t){super(t),this.dynamicDataSource=null,this.fieldsIndex=null,this.gdbVersion=null,this.infoFor3D=null,this.pbfSupported=!1,this.pbfSupportedWithCurves=!1,this.queryAttachmentsSupported=!1,this.relativeTimeBinWindow=0,this.sourceSpatialReference=null,this.uniqueIdFields=null,this.url=null}get parsedUrl(){return(0,u.An)(this.url)}async execute(t,e){const r=await this.executeJSON(t,e);return this.featureSetFromJSON(t,r,e)}async executeJSON(t,e){const r=this._normalizeQuery(t),s=null!=t.outStatistics?.[0],n=(0,a.A)("featurelayer-pbf-statistics");let i;if(this.pbfSupported&&(!s||n)&&(!t.returnTrueCurves||this.pbfSupportedWithCurves))try{i=await w(this.url,r,e,{uniqueIdFields:this.uniqueIdFields})}catch(t){if("query:parsing-pbf"!==t.name)throw t;this.pbfSupported=!1}return i??=await(0,g.e)(this.url,r,e,{uniqueIdFields:this.uniqueIdFields}),this._normalizeFields(i.fields),i}async featureSetFromJSON(t,e,s){if(!this._queryGet3DObjectFormat(t)||null==this.infoFor3D||!e.features)return b.A.fromJSON(e);const{meshFeatureSetFromJSON:n}=await(0,o.qr)(Promise.all([r.e(6860),r.e(118),r.e(8366)]).then(()=>r(40050)),s);return n(t,this.infoFor3D,e)}executeForCount(t,e){return(0,y.I)(this.url,this._normalizeQuery(t),e,{uniqueIdFields:this.uniqueIdFields})}executeForExtent(t,e){return(0,f.L)(this.url,this._normalizeQuery(t),e)}executeForIds(t,e){return(0,m.V)(this.url,this._normalizeQuery(t),e,{uniqueIdFields:this.uniqueIdFields})}async executeRelationshipQuery(t,e){const[{default:s},{executeRelationshipQuery:n}]=await(0,o.qr)(Promise.all([Promise.resolve().then(()=>r(26591)),r.e(1763).then(()=>r(71763))]),e);let i=s.from(t);return(this.gdbVersion||this.dynamicDataSource)&&(i=i.clone(),i.gdbVersion=i.gdbVersion||this.gdbVersion,i.dynamicDataSource=i.dynamicDataSource||this.dynamicDataSource),n(this.url,i,e)}async executeRelationshipQueryForCount(t,e){const[{default:s},{executeRelationshipQueryForCount:n}]=await(0,o.qr)(Promise.all([Promise.resolve().then(()=>r(26591)),r.e(1763).then(()=>r(71763))]),e);let i=s.from(t);return(this.gdbVersion||this.dynamicDataSource)&&(i=i.clone(),i.gdbVersion=i.gdbVersion||this.gdbVersion,i.dynamicDataSource=i.dynamicDataSource||this.dynamicDataSource),n(this.url,i,e)}async executeAttachmentQuery(t,e){const{executeAttachmentQuery:s,fetchAttachments:n,processAttachmentQueryResult:i}=await(0,o.qr)(r.e(9239).then(()=>r(9239)),e),a=(0,h.Dl)(this.url);return i(a,await(this.queryAttachmentsSupported?s(a,t,e):n(a,t,e)))}async executeAttributeBinsQuery(t,e){const{executeAttributeBinsQuery:s}=await(0,o.qr)(r.e(3103).then(()=>r(33103)),e);return s(this.parsedUrl,t,e)}async executePivotQuery(t,e){const{executePivotQuery:s}=await(0,o.qr)(r.e(566).then(()=>r(80566)),e);return s(this.parsedUrl,t,e)}async executeTopFeaturesQuery(t,e){const{executeTopFeaturesQuery:s}=await(0,o.qr)(r.e(1273).then(()=>r(11273)),e);return s(this.parsedUrl,t,this.sourceSpatialReference,e)}async executeForTopIds(t,e){const{executeForTopIds:s}=await(0,o.qr)(r.e(1277).then(()=>r(21277)),e);return s(this.parsedUrl,t,e)}async executeForTopExtents(t,e){const{executeForTopExtents:s}=await(0,o.qr)(r.e(8018).then(()=>r(8018)),e);return s(this.parsedUrl,t,e)}async executeForTopCount(t,e){const{executeForTopCount:s}=await(0,o.qr)(r.e(980).then(()=>r(10980)),e);return s(this.parsedUrl,t,e)}_normalizeQuery(t){let e=x.A.from(t);e.sourceSpatialReference=e.sourceSpatialReference||this.sourceSpatialReference,(this.gdbVersion||this.dynamicDataSource)&&(e=e===t?e.clone():e,e.gdbVersion=t.gdbVersion||this.gdbVersion,e.dynamicDataSource=t.dynamicDataSource?d.A.from(t.dynamicDataSource):this.dynamicDataSource);const{infoFor3D:r}=this,s=this._queryGet3DObjectFormat(t);if(null!=r&&s){if(e=e===t?e.clone():e,e.formatOf3DObjects=s,e.outSpatialReference&&!(0,c.aI)(e.outSpatialReference,this.sourceSpatialReference))throw new i.A("query:unsupported-out-spatial-reference","3D object feature services do not support projection of geometries");if(null==e.outFields||!e.outFields.includes("*")){e=e===t?e.clone():e,null==e.outFields&&(e.outFields=[]);const{originX:s,originY:n,originZ:i,translationX:a,translationY:o,translationZ:u,scaleX:l,scaleY:c,scaleZ:p,rotationX:h,rotationY:d,rotationZ:y,rotationDeg:f}=r.transformFieldRoles;e.outFields.push(s,n,i,a,o,u,l,c,p,h,d,y,f)}}return e}_normalizeFields(t){if(null!=this.fieldsIndex&&null!=t)for(const e of t){const t=this.fieldsIndex.get(e.name);t&&Object.assign(e,t.toJSON())}}_queryGet3DObjectFormat({returnGeometry:t,multipatchOption:e,outStatistics:r}){return!0!==t||"xyFootprint"===e||r?null:(0,p.Hz)(this.infoFor3D)}};(0,s.Cg)([(0,l.MZ)({type:d.A})],M.prototype,"dynamicDataSource",void 0),(0,s.Cg)([(0,l.MZ)()],M.prototype,"fieldsIndex",void 0),(0,s.Cg)([(0,l.MZ)()],M.prototype,"gdbVersion",void 0),(0,s.Cg)([(0,l.MZ)()],M.prototype,"infoFor3D",void 0),(0,s.Cg)([(0,l.MZ)({readOnly:!0})],M.prototype,"parsedUrl",null),(0,s.Cg)([(0,l.MZ)()],M.prototype,"pbfSupported",void 0),(0,s.Cg)([(0,l.MZ)()],M.prototype,"pbfSupportedWithCurves",void 0),(0,s.Cg)([(0,l.MZ)()],M.prototype,"queryAttachmentsSupported",void 0),(0,s.Cg)([(0,l.MZ)()],M.prototype,"relativeTimeBinWindow",void 0),(0,s.Cg)([(0,l.MZ)()],M.prototype,"sourceSpatialReference",void 0),(0,s.Cg)([(0,l.MZ)()],M.prototype,"uniqueIdFields",void 0),(0,s.Cg)([(0,l.MZ)({type:String})],M.prototype,"url",void 0),M=(0,s.Cg)([(0,l.$K)("esri.layers.graphics.sources.support.QueryTask")],M)},64714(t,e,r){r.d(e,{F0:()=>o,Vx:()=>c,e2:()=>h,f:()=>d});var s=r(44208),n=r(4718),i=r(99352),a=r(93470);function o(t){return{renderer:{type:"simple",symbol:"esriGeometryPoint"===t||"esriGeometryMultipoint"===t?a.Cb:"esriGeometryPolyline"===t?a.yM:a.WR}}}const u=/^[_$a-zA-Z][_$a-zA-Z0-9]*$/;let l=1;function c(t,e){if((0,s.A)("esri-csp-restrictions"))return()=>e?{[e]:null,...t}:{...t};try{let r="";e&&(r+=`this${p(e)} = null;`);for(const e in t)r+=`this${p(e)} = ${JSON.stringify(t[e])};`;const s=new Function(`\n return class AttributesClass$${l++} {\n constructor() {\n ${r};\n }\n }\n `)();return()=>new s}catch(r){return()=>e?{[e]:null,...t}:{...t}}}function p(t){return u.test(t)?`.${t}`:`[${JSON.stringify(t)}]`}function h(t={}){return[{name:"New Feature",description:"",prototype:{attributes:(0,n.o8)(t)}}]}function d(t,e){return{analytics:{supportsCacheHint:!1},attachment:null,data:{isVersioned:!1,isBranchVersioned:!1,supportedCurveTypes:[],supportsAttachment:!1,supportsM:!1,supportsTrueCurve:!1,supportsZ:t},metadata:{supportsAdvancedFieldProperties:!1},operations:{supportsCalculate:!1,supportsTruncate:!1,supportsValidateSql:!1,supportsAdd:e,supportsDelete:e,supportsEditing:e,supportsChangeTracking:!1,supportsQuery:!0,supportsQueryBins:!0,supportsQueryPivot:!1,supportsQueryAnalytics:!1,supportsQueryAttachments:!1,supportsQueryTopFeatures:!1,supportsResizeAttachments:!1,supportsSync:!1,supportsUpdate:e,supportsExceedsLimitStatistics:!0,supportsAsyncConvert3D:!1},query:i.F,queryRelated:{supportsCount:!0,supportsOrderBy:!0,supportsPagination:!0,supportsCacheHint:!1},queryTopFeatures:{supportsCacheHint:!1},queryAttributeBins:i.P,editing:{supportsGeometryUpdate:e,supportsGlobalId:!1,supportsReturnServiceEditsInSourceSpatialReference:!1,supportsRollbackOnFailure:!1,supportsTrueCurveUpdate:e,supportsTrueCurveUpdateByTrueCurveClientsOnly:!1,supportsUpdateWithoutM:!1,supportsUploadWithItemId:!1,supportsDeleteByAnonymous:!1,supportsDeleteByOthers:!1,supportsUpdateByAnonymous:!1,supportsUpdateByOthers:!1,supportsAsyncApplyEdits:!1,zDefault:void 0}}}},20615(t,e,r){r.d(e,{I:()=>a});var s=r(2272),n=r(80893),i=r(97552);function a(t,e,r,a){return(0,n.gW)((0,s.Dl)(t),i.A.from(e),r,a)}},74910(t,e,r){r.d(e,{L:()=>o});var s=r(5443),n=r(2272),i=r(80893),a=r(97552);async function o(t,e,r){const o=(0,n.Dl)(t),u=await(0,i.Jf)(o,a.A.from(e),{...r}),l=u.extent;return!l||isNaN(l.xmin)||isNaN(l.ymin)||isNaN(l.xmax)||isNaN(l.ymax)?{count:u.count,extent:null}:{count:u.count,extent:s.A.fromJSON(l)}}},78286(t,e,r){r.d(e,{V:()=>a});var s=r(2272),n=r(80893),i=r(97552);async function a(t,e,r,a){const o=(0,s.Dl)(t),u=await(0,n.Pk)(o,i.A.from(e),r,a);return u.objectIds??function(t){if(t)return function(t){return!Array.isArray(t[0])}(t)?t:t.map(t=>JSON.stringify(t))}(u.uniqueIds)??[]}},99199(t,e,r){r.d(e,{e:()=>u,s:()=>o});var s=r(2272),n=r(80893),i=r(22671),a=r(97552);async function o(t,e,r,s){const n=await u(t,e,r,s);return i.A.fromJSON(n)}function u(t,e,r,i){const o=(0,s.Dl)(t),u={...r},l=a.A.from(e);return(0,n.eW)(o,l,l.sourceSpatialReference,u,i)}},63746(t,e,r){function s(t){return class{constructor(){for(const e of t)this[e]=null}}}function n(t,e=1){const{transform:r,hasZ:s,hasM:n}=t;if(null==r)return s&&1!==e?t=>{t[2]*=e}:null;const[i,a]=function(t,e,r,s){let{scale:n,translate:i,originPosition:a}=t;return"upperLeft"===a&&(n=n.map((t,e)=>1===e?-t:t)),e&&(n=n.map((t,e)=>2===e?t*s:t),i=i.map((t,e)=>2===e?t*s:t)),!e&&r&&(n=n.filter((t,e)=>2!==e),i=i.filter((t,e)=>2!==e)),[n,i]}(r,s,n,e),o=t.hasZ?3:2;return t=>{for(let e=0;e<t.length&&(e!==o||0!==t[e]);++e)t[e]=t[e]*i[e]+a[e]}}r.d(e,{M:()=>n,_:()=>s})},2272(t,e,r){r.d(e,{Dl:()=>l,gf:()=>p,jV:()=>u,lF:()=>c});var s=r(92602),n=r(70333),i=r(4718),a=r(84952),o=r(926);function u(t,e){return e?{...e,query:{...t,...e.query}}:{query:t}}function l(t){return"string"==typeof t?(0,a.An)(t):(0,i.o8)(t)}function c(t,e,r){const s={};for(const n in t){if("declaredClass"===n)continue;const i=t[n];if(null!=i&&"function"!=typeof i)if(Array.isArray(i))s[n]=i.map(t=>c(t));else if("object"==typeof i)if(i.toJSON){const t=i.toJSON(r?.[n]);s[n]=e?t:JSON.stringify(t)}else s[n]=e?i:JSON.stringify(i);else s[n]=i}return s}async function p(t,e,i){const a=function(t,e){return t?e&&(0,o.Qc)(t)?e:(0,o.getApiKey)(t)??n.id?.findCredential(t)?.token:null}(t,e);if(a)return a;!n.id&&s.A.request.useIdentity&&await Promise.all([r.e(5620),r.e(7393),r.e(8837)]).then(()=>r(50148));const u=await n.id.getCredential(t,i);return u?.token}}}]);
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[7013],{69052(t,e,r){r.d(e,{hr:()=>n});var s=r(34727);class n{constructor(t,e){this.min=t,this.max=e,this.range=e-t}normalize(t,e=0,r=!1){return i(this.range,this.min,this.max,t,e,r)}clamp(t,e=0){return(0,s.qE)(t-e,this.min,this.max)+e}monotonic(t,e,r){return t<e?e:e+a(this.range,t-e,r)}minimalMonotonic(t,e,r){return i(this.range,t,t+this.range,e,r)}center(t,e,r){return e=this.monotonic(t,e,r),this.normalize((t+e)/2,r)}diff(t,e,r){return this.monotonic(t,e,r)-t}shortestSignedDiff(t,e){t=this.normalize(t);const r=(e=this.normalize(e))-t,s=e<t?this.minimalMonotonic(t,e)-t:e-this.minimalMonotonic(e,t);return Math.abs(r)<Math.abs(s)?r:s}contains(t,e,r){return e=this.minimalMonotonic(t,e),(r=this.minimalMonotonic(t,r))>t&&r<e}}function i(t,e,r,s,n=0,i=!1){return(s-=n)<e?s+=a(t,e-s):s>r&&(s-=a(t,s-r)),i&&s===r&&(s=e),s+n}function a(t,e,r=0){return Math.ceil((e-r)/t)*t+r}const o=new n(0,2*Math.PI),u=(new n(-Math.PI,Math.PI),new n(0,360));r.d(e,["ie",0,u,"uC",0,o])},18370(t,e,r){r.d(e,{z:()=>n});class s{constructor(t){this._import=t,this.module=null,this._promise=null}getImportPromise(){return null==this._promise&&(this._promise=this._import().then(async t=>(this.module=t,t))),this._promise}}function n(t){return new s(t)}},82534(t,e,r){function s(){return[0,0,0,1]}function n(t){return[t[0],t[1],t[2],t[3]]}r.d(e,{o8:()=>n,vt:()=>s});const i=[0,0,0,1];Object.freeze(Object.defineProperty({__proto__:null,IDENTITY:i,clone:n,create:s,fromValues:function(t,e,r,s){return[t,e,r,s]}},Symbol.toStringTag,{value:"Module"})),r.d(e,["zK",0,i])},67026(t,e,r){r.d(e,{A6:()=>f,Xd:()=>c,Xr:()=>d,lw:()=>p,x8:()=>l});var s=r(29242),n=r(82534),i=r(51850),a=r(34304),o=r(35522),u=r(78955);function l(t,e,r){r*=.5;const s=Math.sin(r);return t[0]=s*e[0],t[1]=s*e[1],t[2]=s*e[2],t[3]=Math.cos(r),t}function c(t,e){const r=2*Math.acos(e[3]),s=Math.sin(r/2);return s>(0,a.FD)()?(t[0]=e[0]/s,t[1]=e[1]/s,t[2]=e[2]/s):(t[0]=1,t[1]=0,t[2]=0),r}function p(t,e,r){const s=e[0],n=e[1],i=e[2],a=e[3],o=r[0],u=r[1],l=r[2],c=r[3];return t[0]=s*c+a*o+n*l-i*u,t[1]=n*c+a*u+i*o-s*l,t[2]=i*c+a*l+s*u-n*o,t[3]=a*c-s*o-n*u-i*l,t}function h(t,e,r,s){const n=e[0],i=e[1],o=e[2],u=e[3];let l,c,p,h,d,y=r[0],f=r[1],m=r[2],g=r[3];return c=n*y+i*f+o*m+u*g,c<0&&(c=-c,y=-y,f=-f,m=-m,g=-g),1-c>(0,a.FD)()?(l=Math.acos(c),p=Math.sin(l),h=Math.sin((1-s)*l)/p,d=Math.sin(s*l)/p):(h=1-s,d=s),t[0]=h*n+d*y,t[1]=h*i+d*f,t[2]=h*o+d*m,t[3]=h*u+d*g,t}function d(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t}function y(t,e){const r=e[0]+e[4]+e[8];let s;if(r>0)s=Math.sqrt(r+1),t[3]=.5*s,s=.5/s,t[0]=(e[5]-e[7])*s,t[1]=(e[6]-e[2])*s,t[2]=(e[1]-e[3])*s;else{let r=0;e[4]>e[0]&&(r=1),e[8]>e[3*r+r]&&(r=2);const n=(r+1)%3,i=(r+2)%3;s=Math.sqrt(e[3*r+r]-e[3*n+n]-e[3*i+i]+1),t[r]=.5*s,s=.5/s,t[3]=(e[3*n+i]-e[3*i+n])*s,t[n]=(e[3*n+r]+e[3*r+n])*s,t[i]=(e[3*i+r]+e[3*r+i])*s}return t}function f(t,e,r,s){const n=.5*Math.PI/180;e*=n,r*=n,s*=n;const i=Math.sin(e),a=Math.cos(e),o=Math.sin(r),u=Math.cos(r),l=Math.sin(s),c=Math.cos(s);return t[0]=i*u*c-a*o*l,t[1]=a*o*c+i*u*l,t[2]=a*u*l-i*o*c,t[3]=a*u*c+i*o*l,t}const m=u.C,g=u.hZ,S=u.WQ,A=p,v=u.hs,_=u.Om,b=u.Cc,x=u.Bw,w=x,M=u.m3,q=M,I=u.S8,F=u.t2,R=u.aI,O=(0,i.vt)(),C=(0,i.fA)(1,0,0),T=(0,i.fA)(0,1,0),P=(0,n.vt)(),E=(0,n.vt)(),N=(0,s.vt)();Object.freeze(Object.defineProperty({__proto__:null,add:S,calculateW:function(t,e){const r=e[0],s=e[1],n=e[2];return t[0]=r,t[1]=s,t[2]=n,t[3]=Math.sqrt(Math.abs(1-r*r-s*s-n*n)),t},conjugate:d,copy:m,dot:_,equals:R,exactEquals:F,fromEuler:f,fromMat3:y,getAxisAngle:c,identity:function(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t},invert:function(t,e){const r=e[0],s=e[1],n=e[2],i=e[3],a=r*r+s*s+n*n+i*i,o=a?1/a:0;return t[0]=-r*o,t[1]=-s*o,t[2]=-n*o,t[3]=i*o,t},len:w,length:x,lerp:b,mul:A,multiply:p,normalize:I,random:function(t){const e=a.Ov,r=e(),s=e(),n=e(),i=Math.sqrt(1-r),o=Math.sqrt(r);return t[0]=i*Math.sin(2*Math.PI*s),t[1]=i*Math.cos(2*Math.PI*s),t[2]=o*Math.sin(2*Math.PI*n),t[3]=o*Math.cos(2*Math.PI*n),t},rotateX:function(t,e,r){r*=.5;const s=e[0],n=e[1],i=e[2],a=e[3],o=Math.sin(r),u=Math.cos(r);return t[0]=s*u+a*o,t[1]=n*u+i*o,t[2]=i*u-n*o,t[3]=a*u-s*o,t},rotateY:function(t,e,r){r*=.5;const s=e[0],n=e[1],i=e[2],a=e[3],o=Math.sin(r),u=Math.cos(r);return t[0]=s*u-i*o,t[1]=n*u+a*o,t[2]=i*u+s*o,t[3]=a*u-n*o,t},rotateZ:function(t,e,r){r*=.5;const s=e[0],n=e[1],i=e[2],a=e[3],o=Math.sin(r),u=Math.cos(r);return t[0]=s*u+n*o,t[1]=n*u-s*o,t[2]=i*u+a*o,t[3]=a*u-i*o,t},rotationTo:function(t,e,r){const s=(0,o.Om)(e,r);return s<-.999999?((0,o.$A)(O,C,e),(0,o.Il)(O)<1e-6&&(0,o.$A)(O,T,e),(0,o.S8)(O,O),l(t,O,Math.PI),t):s>.999999?(t[0]=0,t[1]=0,t[2]=0,t[3]=1,t):((0,o.$A)(O,e,r),t[0]=O[0],t[1]=O[1],t[2]=O[2],t[3]=1+s,I(t,t))},scale:v,set:g,setAxes:function(t,e,r,s){const n=N;return n[0]=r[0],n[3]=r[1],n[6]=r[2],n[1]=s[0],n[4]=s[1],n[7]=s[2],n[2]=-e[0],n[5]=-e[1],n[8]=-e[2],I(t,y(t,n))},setAxisAngle:l,slerp:h,sqlerp:function(t,e,r,s,n,i){return h(P,e,n,i),h(E,r,s,i),h(t,P,E,2*i*(1-i)),t},sqrLen:q,squaredLength:M,str:function(t){return"quat("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"}},Symbol.toStringTag,{value:"Module"})),r.d(e,["hZ",0,g,"t2",0,F])},95696(t,e,r){r.d(e,{A:()=>l});var s,n=r(32198),i=r(69540),a=r(25482),o=r(91429),u=r(93223);let l=class extends((0,i.OU)(a.o)){static{s=this}constructor(t){super(t),this.type="georeferenced",this.origin=null}static{this.absolute=new s}};(0,n.Cg)([(0,u.e)({georeferenced:"georeferenced"},{readOnly:!0})],l.prototype,"type",void 0),(0,n.Cg)([(0,o.MZ)({type:[Number],nonNullable:!1,json:{write:!0}})],l.prototype,"origin",void 0),l=s=(0,n.Cg)([(0,o.$K)("esri.geometry.support.MeshGeoreferencedVertexSpace")],l)},18251(t,e,r){r.d(e,{A:()=>l});var s=r(32198),n=r(69540),i=r(25482),a=r(91429),o=r(51850),u=r(93223);let l=class extends((0,n.OU)(i.o)){constructor(t){super(t),this.type="local",this.origin=(0,o.vt)()}};(0,s.Cg)([(0,u.e)({local:"local"},{readOnly:!0})],l.prototype,"type",void 0),(0,s.Cg)([(0,a.MZ)({type:[Number],nonNullable:!0,json:{write:!0}})],l.prototype,"origin",void 0),l=(0,s.Cg)([(0,a.$K)("esri.geometry.support.MeshLocalVertexSpace")],l)},73836(t,e,r){r.d(e,{A:()=>d});var s=r(32198),n=r(69540),i=r(25482),a=r(91429),o=r(58083),u=r(9093),l=r(67026),c=r(82534),p=r(51850),h=r(24770);let d=class extends((0,n.OU)(i.o)){constructor(t){super(t),this.translation=(0,p.vt)(),this.rotationAxis=(0,p.ci)(h.up),this.rotationAngle=0,this.scale=(0,p.fA)(1,1,1)}get rotation(){return(0,h.i4)(this.rotationAxis,this.rotationAngle)}set rotation(t){this.rotationAxis=(0,p.o8)((0,h.yo)(t)),this.rotationAngle=(0,h.g7)(t)}get localMatrix(){const t=(0,u.vt)();return(0,l.x8)(y,(0,h.yo)(this.rotation),(0,h.$I)(this.rotation)),(0,o.o1)(t,y,this.translation,this.scale),t}get localMatrixInverse(){return(0,o.B8)((0,u.vt)(),this.localMatrix)}equals(t){return this===t||null!=t&&(0,o.t2)(this.localMatrix,t.localMatrix)}};(0,s.Cg)([(0,a.MZ)({type:[Number],nonNullable:!0,json:{write:!0}})],d.prototype,"translation",void 0),(0,s.Cg)([(0,a.MZ)({type:[Number],nonNullable:!0,json:{write:!0}})],d.prototype,"rotationAxis",void 0),(0,s.Cg)([(0,a.MZ)({type:Number,nonNullable:!0,json:{write:!0}})],d.prototype,"rotationAngle",void 0),(0,s.Cg)([(0,a.MZ)({type:[Number],nonNullable:!0,json:{write:!0}})],d.prototype,"scale",void 0),(0,s.Cg)([(0,a.MZ)()],d.prototype,"rotation",null),(0,s.Cg)([(0,a.MZ)()],d.prototype,"localMatrix",null),(0,s.Cg)([(0,a.MZ)()],d.prototype,"localMatrixInverse",null),d=(0,s.Cg)([(0,a.$K)("esri.geometry.support.MeshTransform")],d);const y=(0,c.vt)()},24770(t,e,r){r.d(e,{$I:()=>m,AU:()=>d,g7:()=>f,i4:()=>c,ui:()=>p,vt:()=>l,yo:()=>y});var s=r(34727),n=r(58083),i=r(67026),a=r(82534),o=r(35522),u=r(51850);function l(t=S){return[t[0],t[1],t[2],t[3]]}function c(t,e,r=l()){return(0,o.C)(r,t),r[3]=e,r}function p(t,e=l()){const r=(0,n.l)(A,t);return g(e,(0,s.KJ)((0,i.Xd)(e,r))),e}function h(t,e,r=l()){return(0,i.x8)(A,t,m(t)),(0,i.x8)(v,e,m(e)),(0,i.lw)(A,v,A),g(r,(0,s.KJ)((0,i.Xd)(r,A)))}function d(t,e,r,s=l()){return c(u.Cw,t,_),c(u.JP,e,b),c(u.Cb,r,x),h(_,b,_),h(_,x,s),s}function y(t){return t}function f(t){return t[3]}function m(t){return(0,s.kU)(t[3])}function g(t,e){return t[3]=e,t}const S=[0,0,1,0],A=(0,a.vt)(),v=(0,a.vt)(),_=(l(),l()),b=l(),x=l();r.d(e,["up",0,S])},63579(t,e,r){r.d(e,{Bq:()=>u,Qp:()=>o,WN:()=>m,dK:()=>g,eN:()=>d,fH:()=>f,in:()=>y,yr:()=>l});var s=r(56507),n=r(4576),i=r(17676),a=r(20557);class o{constructor(t,e,r){this.assetName=t,this.assetMimeType=e,this.parts=r}equals(t){return this===t||this.assetName===t.assetName&&this.assetMimeType===t.assetMimeType&&(0,n.aI)(this.parts,t.parts,(t,e)=>t.equals(e))}isOnService(t){return this.parts.every(e=>e.isOnService(t))}makeHash(){let t="";for(const e of this.parts)t+=e.partHash;return t}async toBlob(t){const{parts:e}=this;if(1===e.length)return e[0].toBlob(t);const r=await Promise.all(e.map(e=>e.toBlob(t)));return(0,i.Te)(t),new Blob(r)}}class u{constructor(t,e){this.partUrl=t,this.partHash=e}equals(t){return this===t||this.partUrl===t.partUrl&&this.partHash===t.partHash}isOnService(t){return this.partUrl.startsWith(`${t.path}/assets/`)}async toBlob(t){const{data:e}=await(0,s.A)(this.partUrl,{responseType:"blob"});return(0,i.Te)(t),e}}function l(t){return function(t){switch(t?.type){case"client":return Array.isArray(t.files)?t.files.some(h):h(t.files);case"service":return t.assets.some(h);case"loadable":return!0;default:return!1}}(t?.source)}const c=/^(model\/gltf\+json)|(model\/gltf-binary)$/,p=/\.(gltf|glb)/i;function h(t){if(t instanceof File){const{type:e,name:r}=t;return c.test(e)||p.test(r)}return c.test(t.assetMimeType)||p.test(t.assetName)}function d(t,e){if(!t)return!1;const{source:r}=t;return function(t,e){return"service"===t.type&&t.assets.every(t=>t.isOnService(e))}(r,e)}function y(t,e){if(t===e)return!0;const{source:r}=t,{source:s}=e;if(r===s)return!0;if("service"===r.type&&"service"===s.type){if(r.assets.length!==s.assets.length)return!1;const t=(t,e)=>t.assetName<e.assetName?-1:t.assetName>e.assetName?1:0,e=[...r.assets].sort(t),n=[...s.assets].sort(t);for(let t=0;t<e.length;++t)if(!e[t].equals(n[t]))return!1;return!0}return!1}function f(t,e){return t instanceof File?(0,a.rq)(t,e):(0,a.z$)(t.assetMimeType,t.assetName,e)}function m(t){switch(t.type){case"client":return Array.isArray(t.files)?t.files:[t.files];case"service":return t.assets;case"loadable":return}}function g(t){return!!t.original}},27615(t,e,r){r.d(e,{CK:()=>u,Hq:()=>o,MW:()=>l,TE:()=>c,yJ:()=>p});var s=r(35522),n=r(86738),i=r(95696),a=r(18251);function o(t){return null!=t.origin}function u(t){return o(t.vertexSpace)}function l(t,e){if(!o(t))return null;const[r,s,i]=t.origin;return new n.A({x:r,y:s,z:i,spatialReference:e})}function c(t,e){const{x:r,y:s,z:n,spatialReference:o}=t,u=[r,s,n??0];return"local"===(e?.vertexSpace??function(t){return t.isGeographic||t.isWebMercator?"local":"georeferenced"}(o))?new a.A({origin:u}):new i.A({origin:u})}function p(t,e){return t.type===e.type&&(t.origin===e.origin||null!=t.origin&&null!=e.origin&&(0,s.t2)(t.origin,e.origin))}},52039(t,e,r){r.d(e,{O7:()=>p,el:()=>u});var s=r(69052),n=(r(49186),r(18370)),i=r(17676),a=(r(5443),r(39829),r(82799),r(16930)),o=(r(80754),r(21325));async function u(t,e,r){Array.isArray(t)||(t=[t]),null!=e&&"object"==typeof e&&"authMode"in e&&(r=e);let s=null;for(const e of t)s??=e?.spatialReference;if(!s)return t;const n=(0,o.Vp)(s);if(!n)return t;const[a,u]=n.valid;let p=!1;for(const e of t){if(!e)continue;if("point"===e.type){p||=e.x>=u,p||=e.x<=a;continue}const{extent:t}=e;if(null==t){p=!0;break}p||=t.xmin>=u,p||=t.xmin<=a,p||=t.xmax>=u,p||=t.xmax<=a}if(!p)return t;const[{foldInto360Range:h},d]=await(0,i.qr)(Promise.all([l.getImportPromise(),c.getImportPromise()]),r),y=d.fromSpatialReference(s);return t.map(t=>{if(null==t||"mesh"===t.type)return t;const e=d.fromGeometry(t),r=d.toGeometry(h(e,y),s);return"extent"===t.type&&1===r?.rings.length?r.extent:r})}const l=(0,n.z)(()=>r.e(4144).then(()=>r(4144)).then(t=>t.load().then(()=>t))),c=(0,n.z)(()=>Promise.all([r.e(9187),r.e(8885),r.e(9117),r.e(3299),r.e(1550)]).then(()=>r(78125)));function p(t,e,r){const s=(0,o.Vp)(r);if(null==s)return t;const[n,i]=s.valid,a=2*i;let u=0,l=0;e>i?u=Math.ceil(Math.abs(e-i)/a):e<n&&(u=-Math.ceil(Math.abs(e-n)/a)),t>i?l=Math.ceil(Math.abs(t-i)/a):t<n&&(l=-Math.ceil(Math.abs(t-n)/a));let c=t+(u-l)*a;const p=c-e;return p>i?c-=a:p<n&&(c+=a),c}function h(t){const e=(0,o.Vp)(t);if(null==e)return null;const[r,n]=e.valid;return new s.hr(r,n)}const d=h(a.A.WGS84);h(a.A.WebMercator),r.d(e,["Y_",0,d])},80754(t,e,r){r.d(e,{kS:()=>l,kd:()=>u});var s=r(82799),n=r(16930),i=r(60408),a=r(52006);const o={102100:{maxX:20037508.342788905,minX:-20037508.342788905,plus180Line:new s.A({paths:[[[20037508.342788905,-20037508.342788905],[20037508.342788905,20037508.342788905]]],spatialReference:n.A.WebMercator}),minus180Line:new s.A({paths:[[[-20037508.342788905,-20037508.342788905],[-20037508.342788905,20037508.342788905]]],spatialReference:n.A.WebMercator})},4326:{maxX:180,minX:-180,plus180Line:new s.A({paths:[[[180,-180],[180,180]]],spatialReference:n.A.WGS84}),minus180Line:new s.A({paths:[[[-180,-180],[-180,180]]],spatialReference:n.A.WGS84})}};function u(t,e){return Math.ceil((t-e)/(2*e))}function l(t,e){if((0,a.Ed)(t))for(const r of function(t){return(0,i.Bi)(t)?t.curveRings:t.curvePaths}(t))for(const t of r){if((0,a.aO)(t)){const[r,s]=t.c;r[0]+=e,s[0]+=e;continue}if((0,a.FG)(t)){const[r,s]=t.a;r[0]+=e,s[0]+=e;continue}if((0,a.n1)(t)){const[r,s,n]=t.b;r[0]+=e,s[0]+=e,n[0]+=e;continue}t[0]+=e}for(const r of function(t){return(0,i.Bi)(t)?t.rings:t.paths}(t))for(const t of r)t[0]+=e;return t}r.d(e,["j7",0,o])},99352(t,e,r){r.d(e,["F",0,{supportsStatistics:!0,supportsPercentileStatistics:!0,supportsSpatialAggregationStatistics:!0,supportedSpatialAggregationStatistics:{envelope:!0,centroid:!0,convexHull:!0},supportsStatisticsAggregatedIds:!0,supportsCentroid:!0,supportsCentroidOnDegeneratedQuantizedGeometry:!0,supportsCacheHint:!0,supportsCurrentUser:!1,supportsDegeneratedQuantizedGeometry:!1,supportsDistance:!0,supportsOutDistance:!1,supportsDistinct:!0,supportsExtent:!0,supportsGeometryProperties:!1,supportsHavingClause:!0,supportsOrderBy:!0,supportsPagination:!0,supportsPaginationOnAggregatedQueries:!1,supportsQuantization:!0,supportsQuantizationEditMode:!1,supportsQueryGeometry:!0,supportsResultType:!0,supportsReturnMesh:!1,supportsReturnExceededLimitGeometries:!1,supportsSqlExpression:!0,supportsMaxRecordCountFactor:!1,supportsStandardizedQueriesOnly:!0,supportsTopFeaturesQuery:!1,supportsQueryByAnonymous:!0,supportsQueryByOthers:!0,supportsHistoricMoment:!1,supportsFormatPBF:!1,supportsFormatPBFWithCurves:!1,supportsDisjointSpatialRelationship:!0,supportsDefaultSpatialReference:!1,supportsFullTextSearch:!1,supportsCompactGeometry:!1,maxRecordCountFactor:void 0,maxRecordCount:void 0,maxUniqueIDCount:void 0,relativeTimeBinWindow:0,standardMaxRecordCount:void 0,standardMaxRecordCountNoGeometry:void 0,tileMaxRecordCount:void 0,supportsTrueCurve:!1},"P",0,{supportsDate:!0,supportsFixedInterval:!0,supportsAutoInterval:!0,supportsFixedBoundaries:!0,supportsStackBy:!0,supportsSplitBy:!0,supportsSnapToData:!1,supportsReturnFullIntervalBin:!1,supportsFirstDayOfWeek:!1,supportsNormalization:!0,supportedStatistics:{count:!0,sum:!0,avg:!0,var:!0,stddev:!0,min:!0,max:!0,percentileContinuous:!0,percentileDiscrete:!0,envelope:!0,centroid:!0,convexHull:!0},supportedNormalizationTypes:{field:!0,log:!0,naturalLog:!0,percentOfTotal:!0,squareRoot:!0}}])},65515(t,e,r){r.r(e),r.d(e,{default:()=>Y});var s=r(32198),n=r(92602),i=r(56507),a=r(4576),o=r(49186),u=r(44208),l=r(66552),c=r(92474),p=r(53966),h=r(93637),d=r(17676),y=r(36708),f=r(84952),m=r(13069),g=r(91429),S=r(5443),A=r(16930),v=r(95696),_=r(27615),b=r(63579),x=r(52106),w=r(86211);function M(t){return"object"==typeof t&&null!=t&&"objectId"in t&&!!t.objectId}function q(t){return"object"==typeof t&&null!=t&&"globalId"in t&&!!t.globalId}function I(t){return t.every(q)}var F=r(99917),R=r(65864),O=r(73836),C=r(21325);async function T(t,e,r){const{geometry:s}=e,n={...e.attributes};if(null!=r&&"mesh"===s?.type){const{transformFieldRoles:e}=r,{origin:i,spatialReference:a,vertexSpace:o}=s,u=s.transform??new O.A,l="local"===o.type,c=t.spatialReference,p=c.isGeographic,h=(0,C.aI)(c,a),d=(0,F.isEqualBaseGCS)(a,c)&&(0,F.canProjectWithoutEngine)(a,c);if(!(l&&p&&d||!l&&!p&&h))return null;const y=(0,F.projectWithoutEngine)(i,a,c);if(null==y)return null;if(n[e.originX]=y.x,n[e.originY]=y.y,n[e.originZ]=y.z??0,null!=u){const{translation:t,scale:r,rotation:s}=u,i=l?1:(0,w.KX)(a)/(0,w.KX)(c);n[e.translationX]=t[0]*i,n[e.translationY]=t[2]*i,n[e.translationZ]=-t[1]*i,n[e.scaleX]=r[0],n[e.scaleY]=r[2],n[e.scaleZ]=r[1],n[e.rotationX]=s[0],n[e.rotationY]=s[2],n[e.rotationZ]=-s[1],n[e.rotationDeg]=s[3]}return{attributes:n}}return null==s?{attributes:n}:"mesh"===s.type||"extent"===s.type?null:{geometry:s.toJSON(),attributes:n}}async function P(t,e){const r=await Promise.all((e.addAttachments??[]).map(e=>E(t,e))),s=await Promise.all((e.updateAttachments??[]).map(e=>E(t,e))),n=e.deleteAttachments??[];return r.length||s.length||n.length?{adds:r,updates:s,deletes:[...n]}:null}async function E(t,e){const{feature:r,attachment:s}=e,{globalId:n,name:i,contentType:a,data:o,keywords:u,uploadId:l}=s,c={globalId:n};if(r&&("attributes"in r?c.parentGlobalId=r.attributes?.[t.globalIdField]:r.globalId&&(c.parentGlobalId=r.globalId)),l)c.uploadId=l;else if(o){const t=await(0,f._0)(o);t&&(c.contentType=t.mediaType,c.data=t.data),o instanceof File&&(c.name=o.name)}return i&&(c.name=i),a&&(c.contentType=a),u&&(c.keywords=u),c}function N(t,e,r){if(!e||0===e.length)return[];if(r&&I(e))return e.map(t=>t.globalId);if(function(t){return t.every(M)}(e))return e.map(t=>t.objectId);const s=r?t.globalIdField:t.objectIdField;return s?e.map(t=>t.getAttribute(s)):[]}function D(t){const e=!0===t.success?null:t.error||{code:void 0,description:"Feature edit failed"};return{objectId:t.objectId,globalId:t.globalId,error:e?new o.A("feature-layer-source:edit-failure",e.description,{code:e.code}):null}}function Q(t,e){return new x.A({attributes:t.attributes,geometry:(0,R.rS)({...t.geometry,spatialReference:e})})}function V(t,e){return{adds:t?.adds?.map(t=>Q(t,e))||[],updates:t?.updates?.map(t=>({original:Q(t[0],e),current:Q(t[1],e)}))||[],deletes:t?.deletes?.map(t=>Q(t,e))||[],spatialReference:e}}var Z=r(64714),j=r(64314),J=r(60694),U=r(15426),G=r(20557),k=r(99199),B=r(96520),z=r(97552),X=r(79677),L=r(20816);const $=new l.J({originalAndCurrentFeatures:"original-and-current-features",none:"none"}),W=new l.J({Started:"published",Publishing:"publishing",Stopped:"unavailable"});let Y=class extends c.x_{constructor(t){super(t),this.type="feature-layer",this.supportedSourceTypes=new Set(["Feature Layer","Oriented Imagery Layer","Table","Catalog Layer","Annotation Layer","Dimension Layer"]),this.refresh=(0,d.sg)(async()=>{await this.load();const t=this.sourceJSON.editingInfo?.lastEditDate;if(null==t)return{dataChanged:!0,updates:{}};try{await this._fetchService(null)}catch{return{dataChanged:!0,updates:{}}}const e=t!==this.sourceJSON.editingInfo?.lastEditDate;return{dataChanged:e,updates:e?{editingInfo:this.sourceJSON.editingInfo,extent:this.sourceJSON.extent}:null}}),this._ongoingAssetUploads=new Map}load(t){const e=this.layer.sourceJSON,r=this._fetchService(e,{...t}).then(()=>this.layer.setUserPrivileges(this.sourceJSON.serviceItemId,t)).then(()=>this._ensureLatestMetadata(t));return this.addResolvingPromise(r),Promise.resolve(this)}initialize(){this.addHandles([(0,y.wB)(()=>{const t=this.layer;return t&&"lastEditsEventDate"in t?t.lastEditsEventDate:null},t=>this._handleLastEditsEventChange(t))])}destroy(){this._removeEditInterceptor()}get queryTask(){const{capabilities:t,parsedUrl:e,gdbVersion:r,spatialReference:s,fieldsIndex:n,uniqueIdFields:i}=this.layer,a="infoFor3D"in this.layer?this.layer.infoFor3D:null,o="dynamicDataSource"in this.layer?this.layer.dynamicDataSource:null,l=(0,u.A)("featurelayer-pbf")&&t?.query.supportsFormatPBF&&null==a,c=l&&t?.query.supportsFormatPBFWithCurves,p=t?.operations?.supportsQueryAttachments??!1,h=t?.query?.relativeTimeBinWindow??0,d=e.path;return new j.A({dynamicDataSource:o,fieldsIndex:n,gdbVersion:r,infoFor3D:a,pbfSupported:l,pbfSupportedWithCurves:c,queryAttachmentsSupported:p,relativeTimeBinWindow:h,sourceSpatialReference:s,uniqueIdFields:i,url:d})}async addAttachment(t,e,r){await this.load();const{layer:s}=this;await(0,U.VA)(s,"editing");const n=t.attributes[s.objectIdField],a=s.parsedUrl.path+"/"+n+"/addAttachment",o=this._getLayerRequestOptions({query:r}),u=this._getFormDataForAttachment(e,o.query);try{return D((await(0,i.A)(a,{body:u})).data.addAttachmentResult)}catch(t){throw this._createAttachmentErrorResult(n,t)}}async updateAttachment(t,e,r,s){await this.load();const{layer:n}=this;await(0,U.VA)(n,"editing");const a=t.attributes[n.objectIdField],o=n.parsedUrl.path+"/"+a+"/updateAttachment",u=this._getLayerRequestOptions({query:{attachmentId:e,...s}}),l=this._getFormDataForAttachment(r,u.query);try{return D((await(0,i.A)(o,{body:l})).data.updateAttachmentResult)}catch(t){throw this._createAttachmentErrorResult(a,t)}}async applyEdits(t,e){await this.load();const{layer:r}=this;await(0,U.VA)(r,"editing");const s="infoFor3D"in r?r.infoFor3D:null,n=null!=s,u=n||(e?.globalIdUsed??!1),l=n?await this._uploadMeshesAndGetAssetMapEditsJSON(t):null,c=t.addFeatures?.map(t=>T(this.layer,t,s))??[],p=(await Promise.all(c)).filter(a.Ru),h=t.updateFeatures?.map(t=>T(this.layer,t,s))??[],d=(await Promise.all(h)).filter(a.Ru),y=N(this.layer,t.deleteFeatures,u);(0,B.u)(p,d,r.spatialReference);const f=await P(this.layer,t),m=r.capabilities.editing.supportsAsyncApplyEdits&&n,g=e?.gdbVersion||r.gdbVersion,S={gdbVersion:g,rollbackOnFailure:e?.rollbackOnFailureEnabled,useGlobalIds:u,returnEditMoment:e?.returnEditMoment,trueCurveClient:e?.editsRespectTrueCurves,usePreviousEditMoment:e?.usePreviousEditMoment,async:m};await(0,L.ZJ)(this.layer.url,g,!0);const A=(0,L.w5)(this.layer.url,g||null);if(await(0,L.We)(r.url,g,r.historicMoment))throw new o.A("feature-layer-source:historic-version","Editing a historic version is not allowed");e?.returnServiceEditsOption?(S.edits=JSON.stringify([{id:r.layerId,adds:p.length?p:null,updates:d.length?d:null,deletes:y.length?y:null,attachments:f,assetMaps:l}]),S.returnServiceEditsOption=$.toJSON(e?.returnServiceEditsOption),S.returnServiceEditsInSourceSR=e?.returnServiceEditsInSourceSR):(S.adds=p.length?JSON.stringify(p):null,S.updates=d.length?JSON.stringify(d):null,S.deletes=y.length?u?JSON.stringify(y):y.join(","):null,S.attachments=f&&JSON.stringify(f),S.assetMaps=null!=l?JSON.stringify(l):void 0);const v=this._getLayerRequestOptions({method:"post",query:S});A&&(v.authMode="immediate",v.query.returnEditMoment=!0,v.query.sessionId=L.TA);const _=e?.returnServiceEditsOption?r.url:r.parsedUrl.path;let b;try{b=m?await this._asyncApplyEdits(_+"/applyEdits",v):await(0,i.A)(_+"/applyEdits",v)}catch(t){if(!function(t){const e=t.details.raw,r=+e.code,s=+e.extendedCode;return 500===r&&(-2147217144===s||-2147467261===s)}(t))throw t;v.authMode="immediate",b=m?await this._asyncApplyEdits(_+"/applyEdits",v):await(0,i.A)(_+"/applyEdits",v)}return this._createEditsResult(b)}async deleteAttachments(t,e,r){await this.load();const{layer:s}=this;await(0,U.VA)(s,"editing");const n=t.attributes[s.objectIdField],a=s.parsedUrl.path+"/"+n+"/deleteAttachments";try{return(await(0,i.A)(a,this._getLayerRequestOptions({query:{attachmentIds:e.join(","),...r},method:"post"}))).data.deleteAttachmentResults.map(D)}catch(t){throw this._createAttachmentErrorResult(n,t)}}fetchRecomputedExtents(t={}){const e=t.signal;return this.load({signal:e}).then(async()=>{const e=this._getLayerRequestOptions({...t,query:{returnUpdates:!0}}),{layerId:r,url:s}=this.layer,{data:n}=await(0,i.A)(`${s}/${r}`,e),{id:a,extent:o,fullExtent:u,timeExtent:l}=n,c=o||u;return{id:a,fullExtent:c&&S.A.fromJSON(c),timeExtent:l&&X.A.fromJSON({start:l[0],end:l[1]})}})}async queryAttachments(t,e={}){await this.load();const r=this._getLayerRequestOptions(e);return this.queryTask.executeAttachmentQuery(t,r)}async queryFeatures(t,e){await this.load();const r=await this.queryTask.execute(t,{...e,query:this._createRequestQueryOptions(e)});if(t.outStatistics?.length&&r.features.length){const e=new Map;if(r.features.forEach(r=>{const s=r.attributes;t.outStatistics?.forEach(({outStatisticFieldName:t})=>{if(t){const r=t.toLowerCase();r&&r in s&&t!==r&&(s[t]=s[r],delete s[r],e.set(r,t))}})}),null!=r.fields)for(const t of r.fields){const r=e.get(t.name.toLowerCase());null!=r&&(t.name=r)}}return r}async queryFeaturesJSON(t,e){return await this.load(),this.queryTask.executeJSON(t,{...e,query:this._createRequestQueryOptions(e)})}async queryObjectIds(t,e){return await this.load(),this.queryTask.executeForIds(t,{...e,query:this._createRequestQueryOptions(e)})}async queryFeatureCount(t,e){return await this.load(),this.queryTask.executeForCount(t,{...e,query:this._createRequestQueryOptions(e)})}async queryExtent(t,e){return await this.load(),this.queryTask.executeForExtent(t,{...e,query:this._createRequestQueryOptions(e)})}async queryRelatedFeatures(t,e){return await this.load(),this.queryTask.executeRelationshipQuery(t,{...e,query:this._createRequestQueryOptions(e)})}async queryRelatedFeaturesCount(t,e){return await this.load(),this.queryTask.executeRelationshipQueryForCount(t,{...e,query:this._createRequestQueryOptions(e)})}async queryPivot(t,e){return await this.load(),this.queryTask.executePivotQuery(t,{...e,query:this._createRequestQueryOptions(e)})}async queryTopFeatures(t,e){return await this.load(),this.queryTask.executeTopFeaturesQuery(t,{...e,query:this._createRequestQueryOptions(e)})}async queryAttributeBins(t,e){return await this.load(),this.queryTask.executeAttributeBinsQuery(t,{...e,query:this._createRequestQueryOptions(e)})}async queryTopObjectIds(t,e){return await this.load(),this.queryTask.executeForTopIds(t,{...e,query:this._createRequestQueryOptions(e)})}async queryTopExtents(t,e){return await this.load(),this.queryTask.executeForTopExtents(t,{...e,query:this._createRequestQueryOptions(e)})}async queryTopCount(t,e){return await this.load(),this.queryTask.executeForTopCount(t,{...e,query:this._createRequestQueryOptions(e)})}async fetchPublishingStatus(){if(!(0,J.Wo)(this.layer.url))return"unavailable";const t=(0,f.fj)(this.layer.url,"status"),e=await(0,i.A)(t,{query:{f:"json"}});return W.fromJSON(e.data.status)}async uploadAssets(t,e){const{uploadAssets:s}=await r.e(1384).then(()=>r(31384));return s(t,{layer:this.layer,ongoingUploads:this._ongoingAssetUploads},e)}_handleLastEditsEventChange(t){const e=this.layer;if(null==t||!("capabilities"in e)||!("effectiveCapabilities"in e))return;if(e.capabilities?.operations?.supportsEditing||!e.effectiveCapabilities?.operations?.supportsEditing)return;let r=e.url;null!=r&&("layerId"in e&&(r=(0,f.fj)(r,e.layerId.toString())),this._getOrCreateEditInterceptor(r).before=e=>{const r=e.requestOptions.method??"auto";if("auto"===r||"head"===r){const r=e.requestOptions.query??{};r._ts=t.getTime(),e.requestOptions.query=r}})}_getOrCreateEditInterceptor(t){return null==this._editInterceptor&&(this._editInterceptor={urls:t},n.A.request.internalInterceptors.push(this._editInterceptor)),this._editInterceptor}_removeEditInterceptor(){null!=this._editInterceptor&&((0,a.TF)(n.A.request.internalInterceptors,this._editInterceptor),this._editInterceptor=null)}async _asyncApplyEdits(t,e){const r=(await(0,i.A)(t,e)).data.statusUrl;for(;;){const t=(await(0,i.A)(r,{query:{f:"json"},responseType:"json"})).data;switch(t.status){case"Completed":return(0,i.A)(t.resultUrl,{query:{f:"json"},responseType:"json"});case"CompletedWithErrors":throw new o.A("async-applyEdits-failed","asynchronous applyEdits call failed.");case"Failed ImportChanges":case"InProgress":case"Pending":case"ExportAttachments":case"ExportChanges":case"ExportingData":case"ExportingSnapshot":case"ImportAttachments":case"ProvisioningReplica":case"UnRegisteringReplica":break;default:throw new o.A("async-applyEdits-failed","asynchronous applyEdits call failed (undefined response status)")}await(0,d.Pl)(H)}}_createRequestQueryOptions(t){const e={...this.layer.customParameters,token:this.layer.apiKey,...t?.query};return this.layer.datesInUnknownTimezone&&(e.timeReferenceUnknownClient=!0),e}async _fetchService(t,e){if(!t){const r={};(0,u.A)("featurelayer-advanced-symbols")&&(r.returnAdvancedSymbols=!0),e?.cacheBust&&(r._ts=Date.now());const{data:s}=await(0,i.A)(this.layer.parsedUrl.path,this._getLayerRequestOptions({query:r,signal:e?.signal}));t=s}this.layer.applyPreferredHost(t),this.sourceJSON=await this._patchServiceJSON(t,e?.signal);const r=t.type;if(!this.supportedSourceTypes.has(r))throw new o.A("feature-layer-source:unsupported-type",`Source type "${r}" is not supported`)}async _patchServiceJSON(t,e){if("Table"!==t.type&&t.geometryType&&!t?.drawingInfo?.renderer&&!t.defaultSymbol){const e=(0,Z.F0)(t.geometryType).renderer;(0,h.sM)("drawingInfo.renderer",e,t)}if("esriGeometryMultiPatch"===t.geometryType&&t.infoFor3D&&(t.geometryType="mesh"),null==t.extent)try{const{data:r}=await(0,i.A)(this.layer.url,this._getLayerRequestOptions({signal:e}));r.spatialReference&&(t.extent={xmin:0,ymin:0,xmax:0,ymax:0,spatialReference:r.spatialReference})}catch(t){(0,d.QP)(t)}return t}async _ensureLatestMetadata(t){if(this.layer.userHasUpdateItemPrivileges&&this.sourceJSON.cacheMaxAge>0)return this._fetchService(null,{...t,cacheBust:!0})}async _uploadMeshesAndGetAssetMapEditsJSON(t){const{addAssetFeatures:e}=t;if(!e?.length)return null;if(await this._areAllAssetsAlreadyMapped(e))return null;const s=t.addFeatures.filter(t=>t.geometry);if(e.length!==s.length+t.updateFeatures.length)throw new o.A("feature-layer-source:unsupported-mesh-edits","Mixing attribute only edits with mesh geometry edits is not currently supported");const n=new Array,i=new Map;for(const t of e){const{geometry:e}=t,{vertexSpace:s}=e;if((0,_.Hq)(s))n.push(e);else{const s=e.origin,{convertMeshVertexSpace:a}=await Promise.all([r.e(6860),r.e(4508)]).then(()=>r(28846)),o=await a(e,new v.A({origin:[s.x,s.y,s.z??0]}));i.set(o,e),t.geometry=o,n.push(o)}}await this.uploadAssets(n);for(const[t,e]of i)e.addExternalSources(t.metadata.externalSources.items);return{adds:this._getAssetMapEditsJSON(e),updates:[],deletes:[]}}_getAssetMapEditsJSON(t){const e=new Array,r=this.layer.globalIdField,s=this.layer.parsedUrl;for(const n of t){const t=n.geometry,{metadata:i}=t,a=i.getExternalSourcesOnService(s),o=n.getAttribute(r);if(0===a.length){p.A.getLogger(this).error(`Skipping feature ${o}. The mesh it is associated with has not been uploaded to the service and cannot be mapped to it.`);continue}const{source:u}=a.find(b.dK)??a[0];for(const t of u.assets)1===t.parts.length?e.push({globalId:(0,m.yS)(),parentGlobalId:o,assetName:t.assetName,assetHash:t.parts[0].partHash,flags:[]}):p.A.getLogger(this).error(`Skipping asset ${t.assetName}. It does not have exactly one part, so we cannot map it to a feature.`)}return e}_createEditsResult(t){const e=t.data,{layerId:r}=this.layer,s=[];let n=null;if(Array.isArray(e))for(const t of e)s.push({id:t.id,editedFeatures:t.editedFeatures}),t.id===r&&(n={addResults:t.addResults??[],updateResults:t.updateResults??[],deleteResults:t.deleteResults??[],attachments:t.attachments,editMoment:t.editMoment});else n=e;const i=function(t){const e=t?.assetMaps;if(e){for(const t of e.addResults)t.success||p.A.getLogger("esri.layers.graphics.sources.support.sourceUtils").error(`Failed to map asset to feature with globalId ${t.globalId}.`);for(const t of e.updateResults)t.success||p.A.getLogger("esri.layers.graphics.sources.support.sourceUtils").error(`Failed to map asset to feature with globalId ${t.globalId}.`)}const r=t?.attachments,s={addFeatureResults:t?.addResults?.map(D)??[],updateFeatureResults:t?.updateResults?.map(D)??[],deleteFeatureResults:t?.deleteResults?.map(D)??[],addAttachmentResults:r?.addResults?r.addResults.map(D):[],updateAttachmentResults:r?.updateResults?r.updateResults.map(D):[],deleteAttachmentResults:r?.deleteResults?r.deleteResults.map(D):[]};return t?.editMoment&&(s.editMoment=t.editMoment),s}(n);if(s.length>0){i.editedFeatureResults=[];for(const t of s){const{editedFeatures:e}=t,r=e?.spatialReference?new A.A(e.spatialReference):null;i.editedFeatureResults.push({layerId:t.id,editedFeatures:V(e,r)})}}return i}_createAttachmentErrorResult(t,e){const r=e.details.messages?.[0]||e.message,s=e.details.httpStatus||e.details.messageCode;return{objectId:t,globalId:null,error:new o.A("feature-layer-source:attachment-failure",r,{code:s})}}_getFormDataForAttachment(t,e){const r=t instanceof FormData?t:t&&t.elements?new FormData(t):null;if(r)for(const t in e){const s=e[t];null!=s&&(r.set?r.set(t,s):r.append(t,s))}return r}_getLayerRequestOptions(t={}){const{layer:e,layer:{parsedUrl:r,gdbVersion:s}}=this;return{...t,query:{gdbVersion:s,layer:"dynamicDataSource"in e&&e.dynamicDataSource?JSON.stringify({source:e.dynamicDataSource}):void 0,...r.query,f:"json",...this._createRequestQueryOptions(t)},responseType:"json"}}async _areAllAssetsAlreadyMapped(t){const{layer:e}=this,{globalIdField:r,parsedUrl:s}=e,n="infoFor3D"in e?e.infoFor3D:null;if(null==n||null==r)return!1;const i=(0,G.JZ)(n);if(null==i)return!1;const o=(0,f.fj)(s.path,`../${i.id}`),u=new Array;for(const e of t){if(!(e.geometry.metadata.getExternalSourcesOnService(s).length>0))return!1;u.push(e)}const l=u.map(t=>t.getAttribute(r)).filter(a.Ru);if(0===l.length)return!1;const{assetMapFieldRoles:{parentGlobalId:c,assetHash:p}}=n,h=new z.A({where:`${c} IN (${l.map(t=>`'${t}'`)})`,outFields:[p,c],returnGeometry:!1}),d=await(0,k.s)(o,h),{features:y}=d;return 0!==y.length&&!u.some(t=>{const e=t.getAttribute(r);if(!e)return!0;const{metadata:n}=t.geometry,i=y.filter(t=>t.getAttribute(c)===e);if(0===i.length)return!0;const a=i.map(t=>t.getAttribute(p));return n.getExternalSourcesOnService(s).flatMap(({source:t})=>t.assets.flatMap(t=>t.parts.map(t=>t.partHash))).some(t=>a.every(e=>t!==e))})}};(0,s.Cg)([(0,g.MZ)()],Y.prototype,"type",void 0),(0,s.Cg)([(0,g.MZ)({constructOnly:!0})],Y.prototype,"layer",void 0),(0,s.Cg)([(0,g.MZ)({constructOnly:!0})],Y.prototype,"supportedSourceTypes",void 0),(0,s.Cg)([(0,g.MZ)({readOnly:!0})],Y.prototype,"queryTask",null),Y=(0,s.Cg)([(0,g.$K)("esri.layers.graphics.sources.FeatureLayerSource")],Y);const H=1e3},64314(t,e,r){r.d(e,{A:()=>M});var s=r(32198),n=r(69622),i=r(49186),a=r(44208),o=r(17676),u=r(84952),l=r(91429),c=r(21325),p=r(20557),h=r(2272),d=r(65615),y=r(20615),f=r(74910),m=r(78286),g=r(99199),S=r(62815),A=r(63746);class v{constructor(t){this._options=t,this.featureSet={features:[]},this.parseOnly=null,this._transformInPlace=null,this._transformInPlaceXY=null,this._finishVertex=v._finishVertexNonPoint,this._attributesClass=null,this._previousX=0,this._previousY=0,this._point=null,this._lengths=null,this._vertex=[],this._part=null,this._parts=null,this._i=0}queryGeometryType(){return this.featureSet.queryGeometryType}queryGeometry(){return this.featureSet.queryGeometry}idField(t){"string"==typeof t&&(this.featureSet.objectIdFieldName=t)}finish(){this._options.applyTransform&&(this.featureSet.transform=null);const{spatialReference:t,features:e}=this.featureSet;if(t)for(const{geometry:r}of e)r&&(r.spatialReference=t)}feature(){this._attributesClass??=(0,A._)(this.featureSet.fields?.map(t=>t.name)??[]),this.featureSet.features.push({attributes:new this._attributesClass}),this._options.applyTransform&&this._setVertexTransformer()}centroid([t,e]){this.featureSet.features.at(-1).centroid={x:t,y:e}}geometry(t,e,r){this._previousX=this._previousY=0,this._lengths=r;let s,{hasZ:n,hasM:i}=this.featureSet;switch(n??=!1,i??=!1,this._i=0,this._vertex=[0,0],n&&this._vertex.push(0),i&&this._vertex.push(0),this._finishVertex=v._finishVertexNonPoint,e){case"esriGeometryPoint":this._point={x:0,y:0},s=this._point,this._finishVertex=n?i?v._finishVertexPointXYZM:v._finishVertexPointXYZ:i?v._finishVertexPointXYM:v._finishVertexPointXY;break;case"esriGeometryMultipoint":s={points:[],hasZ:n,hasM:i},this._part=s.points,this._parts=[];break;case"esriGeometryPolyline":s={paths:[],hasZ:n,hasM:i},this._parts=s.paths,this._part=[];break;case"esriGeometryPolygon":s={rings:[],hasZ:n,hasM:i},this._parts=s.rings,this._part=[]}1===t?(this.featureSet.queryGeometry=s,this.featureSet.queryGeometryType=e,this._options.applyTransform||this._setVertexTransformer()):this.featureSet.features.at(-1).geometry=s}coord(t){const e=this._vertex;e[this._i++]=t,this._i<e.length||(this._i=0,this._transformInPlace&&(e[0]+=this._previousX,e[1]+=this._previousY,[this._previousX,this._previousY]=e,this._transformInPlace(e)),this._finishVertex(this))}curvedGeometry(t,e,r,s){let n,{hasZ:i,hasM:a}=this.featureSet;switch(i??=!1,a??=!1,t){case"esriGeometryPoint":case"esriGeometryMultipoint":throw new Error(`Curved ${t} does not make sense`);case"esriGeometryPolyline":n={paths:[],curvePaths:[],hasZ:i,hasM:a},this._parts=n.curvePaths,this._part=[];break;case"esriGeometryPolygon":n={rings:[],curveRings:[],hasZ:i,hasM:a},this._parts=n.curveRings,this._part=[]}this.featureSet.features.at(-1).geometry=n}startCurvedPart(t){this._part.push(this._transform(t))}finishCurvedPart(t){this._parts.push(this._part),this._part=[]}lineSegment(t,e){this._part.push(this._transform(e))}bezierSegment(t,e,r,s){this._part.push({b:[this._transform(e),this._transformXY(r),this._transformXY(s)]})}circularArcSegment(t,e,r){this._part.push({c:[this._transform(e),this._transformXY(r)]})}ellipticArcSegment(t,e,r,s,n,i,a,o){this._part.push({a:[this._transform(e),this._transformXY(r),s,n,i,a,o]})}static _finishVertexPointXY({_point:t,_vertex:e}){[t.x,t.y]=e}static _finishVertexPointXYZ({_point:t,_vertex:e}){[t.x,t.y,t.z]=e}static _finishVertexPointXYM({_point:t,_vertex:e}){[t.x,t.y,t.m]=e}static _finishVertexPointXYZM({_point:t,_vertex:e}){[t.x,t.y,t.z,t.m]=e}static _finishVertexNonPoint(t){const{_part:e,_parts:r,_lengths:s,_vertex:n}=t;e.push([...n]),e.length<s[r.length]||(t._previousX=t._previousY=0,t._part=[],r.push(e))}_setVertexTransformer(){const{sourceSpatialReference:t}=this._options,{spatialReference:e,hasZ:r,transform:s}=this.featureSet,n=r?(0,S.d)(t,e):1;this._transformInPlace??=(0,A.M)(this.featureSet,n),this._transformInPlaceXY??=(0,A.M)({transform:s})}_transform(t){const e=[...t];return this._transformInPlace?.(e),e}_transformXY(t){const e=[t[0],t[1]];return this._transformInPlaceXY?.(e),e}}var _=r(80893),b=r(22671),x=r(97552);async function w(t,e,r,s){const n=(0,h.Dl)(t),i={...r},a=x.A.from(e),o=!a.quantizationParameters;return await(0,_.IJ)(n,a,new v({sourceSpatialReference:a.sourceSpatialReference,applyTransform:o}),i,s)}let M=class extends n.A{constructor(t){super(t),this.dynamicDataSource=null,this.fieldsIndex=null,this.gdbVersion=null,this.infoFor3D=null,this.pbfSupported=!1,this.pbfSupportedWithCurves=!1,this.queryAttachmentsSupported=!1,this.relativeTimeBinWindow=0,this.sourceSpatialReference=null,this.uniqueIdFields=null,this.url=null}get parsedUrl(){return(0,u.An)(this.url)}async execute(t,e){const r=await this.executeJSON(t,e);return this.featureSetFromJSON(t,r,e)}async executeJSON(t,e){const r=this._normalizeQuery(t),s=null!=t.outStatistics?.[0],n=(0,a.A)("featurelayer-pbf-statistics");let i;if(this.pbfSupported&&(!s||n)&&(!t.returnTrueCurves||this.pbfSupportedWithCurves))try{i=await w(this.url,r,e,{uniqueIdFields:this.uniqueIdFields})}catch(t){if("query:parsing-pbf"!==t.name)throw t;this.pbfSupported=!1}return i??=await(0,g.e)(this.url,r,e,{uniqueIdFields:this.uniqueIdFields}),this._normalizeFields(i.fields),i}async featureSetFromJSON(t,e,s){if(!this._queryGet3DObjectFormat(t)||null==this.infoFor3D||!e.features)return b.A.fromJSON(e);const{meshFeatureSetFromJSON:n}=await(0,o.qr)(Promise.all([r.e(6860),r.e(118),r.e(8366)]).then(()=>r(40050)),s);return n(t,this.infoFor3D,e)}executeForCount(t,e){return(0,y.I)(this.url,this._normalizeQuery(t),e,{uniqueIdFields:this.uniqueIdFields})}executeForExtent(t,e){return(0,f.L)(this.url,this._normalizeQuery(t),e)}executeForIds(t,e){return(0,m.V)(this.url,this._normalizeQuery(t),e,{uniqueIdFields:this.uniqueIdFields})}async executeRelationshipQuery(t,e){const[{default:s},{executeRelationshipQuery:n}]=await(0,o.qr)(Promise.all([Promise.resolve().then(()=>r(26591)),r.e(1763).then(()=>r(71763))]),e);let i=s.from(t);return(this.gdbVersion||this.dynamicDataSource)&&(i=i.clone(),i.gdbVersion=i.gdbVersion||this.gdbVersion,i.dynamicDataSource=i.dynamicDataSource||this.dynamicDataSource),n(this.url,i,e)}async executeRelationshipQueryForCount(t,e){const[{default:s},{executeRelationshipQueryForCount:n}]=await(0,o.qr)(Promise.all([Promise.resolve().then(()=>r(26591)),r.e(1763).then(()=>r(71763))]),e);let i=s.from(t);return(this.gdbVersion||this.dynamicDataSource)&&(i=i.clone(),i.gdbVersion=i.gdbVersion||this.gdbVersion,i.dynamicDataSource=i.dynamicDataSource||this.dynamicDataSource),n(this.url,i,e)}async executeAttachmentQuery(t,e){const{executeAttachmentQuery:s,fetchAttachments:n,processAttachmentQueryResult:i}=await(0,o.qr)(r.e(9239).then(()=>r(9239)),e),a=(0,h.Dl)(this.url);return i(a,await(this.queryAttachmentsSupported?s(a,t,e):n(a,t,e)))}async executeAttributeBinsQuery(t,e){const{executeAttributeBinsQuery:s}=await(0,o.qr)(r.e(3103).then(()=>r(33103)),e);return s(this.parsedUrl,t,e)}async executePivotQuery(t,e){const{executePivotQuery:s}=await(0,o.qr)(r.e(566).then(()=>r(80566)),e);return s(this.parsedUrl,t,e)}async executeTopFeaturesQuery(t,e){const{executeTopFeaturesQuery:s}=await(0,o.qr)(r.e(1273).then(()=>r(11273)),e);return s(this.parsedUrl,t,this.sourceSpatialReference,e)}async executeForTopIds(t,e){const{executeForTopIds:s}=await(0,o.qr)(r.e(1277).then(()=>r(21277)),e);return s(this.parsedUrl,t,e)}async executeForTopExtents(t,e){const{executeForTopExtents:s}=await(0,o.qr)(r.e(8018).then(()=>r(8018)),e);return s(this.parsedUrl,t,e)}async executeForTopCount(t,e){const{executeForTopCount:s}=await(0,o.qr)(r.e(980).then(()=>r(10980)),e);return s(this.parsedUrl,t,e)}_normalizeQuery(t){let e=x.A.from(t);e.sourceSpatialReference=e.sourceSpatialReference||this.sourceSpatialReference,(this.gdbVersion||this.dynamicDataSource)&&(e=e===t?e.clone():e,e.gdbVersion=t.gdbVersion||this.gdbVersion,e.dynamicDataSource=t.dynamicDataSource?d.A.from(t.dynamicDataSource):this.dynamicDataSource);const{infoFor3D:r}=this,s=this._queryGet3DObjectFormat(t);if(null!=r&&s){if(e=e===t?e.clone():e,e.formatOf3DObjects=s,e.outSpatialReference&&!(0,c.aI)(e.outSpatialReference,this.sourceSpatialReference))throw new i.A("query:unsupported-out-spatial-reference","3D object feature services do not support projection of geometries");if(null==e.outFields||!e.outFields.includes("*")){e=e===t?e.clone():e,null==e.outFields&&(e.outFields=[]);const{originX:s,originY:n,originZ:i,translationX:a,translationY:o,translationZ:u,scaleX:l,scaleY:c,scaleZ:p,rotationX:h,rotationY:d,rotationZ:y,rotationDeg:f}=r.transformFieldRoles;e.outFields.push(s,n,i,a,o,u,l,c,p,h,d,y,f)}}return e}_normalizeFields(t){if(null!=this.fieldsIndex&&null!=t)for(const e of t){const t=this.fieldsIndex.get(e.name);t&&Object.assign(e,t.toJSON())}}_queryGet3DObjectFormat({returnGeometry:t,multipatchOption:e,outStatistics:r}){return!0!==t||"xyFootprint"===e||r?null:(0,p.Hz)(this.infoFor3D)}};(0,s.Cg)([(0,l.MZ)({type:d.A})],M.prototype,"dynamicDataSource",void 0),(0,s.Cg)([(0,l.MZ)()],M.prototype,"fieldsIndex",void 0),(0,s.Cg)([(0,l.MZ)()],M.prototype,"gdbVersion",void 0),(0,s.Cg)([(0,l.MZ)()],M.prototype,"infoFor3D",void 0),(0,s.Cg)([(0,l.MZ)({readOnly:!0})],M.prototype,"parsedUrl",null),(0,s.Cg)([(0,l.MZ)()],M.prototype,"pbfSupported",void 0),(0,s.Cg)([(0,l.MZ)()],M.prototype,"pbfSupportedWithCurves",void 0),(0,s.Cg)([(0,l.MZ)()],M.prototype,"queryAttachmentsSupported",void 0),(0,s.Cg)([(0,l.MZ)()],M.prototype,"relativeTimeBinWindow",void 0),(0,s.Cg)([(0,l.MZ)()],M.prototype,"sourceSpatialReference",void 0),(0,s.Cg)([(0,l.MZ)()],M.prototype,"uniqueIdFields",void 0),(0,s.Cg)([(0,l.MZ)({type:String})],M.prototype,"url",void 0),M=(0,s.Cg)([(0,l.$K)("esri.layers.graphics.sources.support.QueryTask")],M)},64714(t,e,r){r.d(e,{F0:()=>o,Vx:()=>c,e2:()=>h,f:()=>d});var s=r(44208),n=r(4718),i=r(99352),a=r(93470);function o(t){return{renderer:{type:"simple",symbol:"esriGeometryPoint"===t||"esriGeometryMultipoint"===t?a.Cb:"esriGeometryPolyline"===t?a.yM:a.WR}}}const u=/^[_$a-zA-Z][_$a-zA-Z0-9]*$/;let l=1;function c(t,e){if((0,s.A)("esri-csp-restrictions"))return()=>e?{[e]:null,...t}:{...t};try{let r="";e&&(r+=`this${p(e)} = null;`);for(const e in t)r+=`this${p(e)} = ${JSON.stringify(t[e])};`;const s=new Function(`\n return class AttributesClass$${l++} {\n constructor() {\n ${r};\n }\n }\n `)();return()=>new s}catch(r){return()=>e?{[e]:null,...t}:{...t}}}function p(t){return u.test(t)?`.${t}`:`[${JSON.stringify(t)}]`}function h(t={}){return[{name:"New Feature",description:"",prototype:{attributes:(0,n.o8)(t)}}]}function d(t,e){return{analytics:{supportsCacheHint:!1},attachment:null,data:{isVersioned:!1,isBranchVersioned:!1,supportedCurveTypes:[],supportsAttachment:!1,supportsM:!1,supportsTrueCurve:!1,supportsZ:t},metadata:{supportsAdvancedFieldProperties:!1},operations:{supportsCalculate:!1,supportsTruncate:!1,supportsValidateSql:!1,supportsAdd:e,supportsDelete:e,supportsEditing:e,supportsChangeTracking:!1,supportsQuery:!0,supportsQueryBins:!0,supportsQueryPivot:!1,supportsQueryAnalytics:!1,supportsQueryAttachments:!1,supportsQueryTopFeatures:!1,supportsResizeAttachments:!1,supportsSync:!1,supportsUpdate:e,supportsExceedsLimitStatistics:!0,supportsAsyncConvert3D:!1},query:i.F,queryRelated:{supportsCount:!0,supportsOrderBy:!0,supportsPagination:!0,supportsCacheHint:!1},queryTopFeatures:{supportsCacheHint:!1},queryAttributeBins:i.P,editing:{supportsGeometryUpdate:e,supportsGlobalId:!1,supportsReturnServiceEditsInSourceSpatialReference:!1,supportsRollbackOnFailure:!1,supportsTrueCurveUpdate:e,supportsTrueCurveUpdateByTrueCurveClientsOnly:!1,supportsUpdateWithoutM:!1,supportsUploadWithItemId:!1,supportsDeleteByAnonymous:!1,supportsDeleteByOthers:!1,supportsUpdateByAnonymous:!1,supportsUpdateByOthers:!1,supportsAsyncApplyEdits:!1,zDefault:void 0}}}},20615(t,e,r){r.d(e,{I:()=>a});var s=r(2272),n=r(80893),i=r(97552);function a(t,e,r,a){return(0,n.gW)((0,s.Dl)(t),i.A.from(e),r,a)}},74910(t,e,r){r.d(e,{L:()=>o});var s=r(5443),n=r(2272),i=r(80893),a=r(97552);async function o(t,e,r){const o=(0,n.Dl)(t),u=await(0,i.Jf)(o,a.A.from(e),{...r}),l=u.extent;return!l||isNaN(l.xmin)||isNaN(l.ymin)||isNaN(l.xmax)||isNaN(l.ymax)?{count:u.count,extent:null}:{count:u.count,extent:s.A.fromJSON(l)}}},78286(t,e,r){r.d(e,{V:()=>a});var s=r(2272),n=r(80893),i=r(97552);async function a(t,e,r,a){const o=(0,s.Dl)(t),u=await(0,n.Pk)(o,i.A.from(e),r,a);return u.objectIds??function(t){if(t)return function(t){return!Array.isArray(t[0])}(t)?t:t.map(t=>JSON.stringify(t))}(u.uniqueIds)??[]}},99199(t,e,r){r.d(e,{e:()=>u,s:()=>o});var s=r(2272),n=r(80893),i=r(22671),a=r(97552);async function o(t,e,r,s){const n=await u(t,e,r,s);return i.A.fromJSON(n)}function u(t,e,r,i){const o=(0,s.Dl)(t),u={...r},l=a.A.from(e);return(0,n.eW)(o,l,l.sourceSpatialReference,u,i)}},63746(t,e,r){function s(t){return class{constructor(){for(const e of t)this[e]=null}}}function n(t,e=1){const{transform:r,hasZ:s,hasM:n}=t;if(null==r)return s&&1!==e?t=>{t[2]*=e}:null;const[i,a]=function(t,e,r,s){let{scale:n,translate:i,originPosition:a}=t;return"upperLeft"===a&&(n=n.map((t,e)=>1===e?-t:t)),e&&(n=n.map((t,e)=>2===e?t*s:t),i=i.map((t,e)=>2===e?t*s:t)),!e&&r&&(n=n.filter((t,e)=>2!==e),i=i.filter((t,e)=>2!==e)),[n,i]}(r,s,n,e),o=t.hasZ?3:2;return t=>{for(let e=0;e<t.length&&(e!==o||0!==t[e]);++e)t[e]=t[e]*i[e]+a[e]}}r.d(e,{M:()=>n,_:()=>s})},2272(t,e,r){r.d(e,{Dl:()=>l,gf:()=>p,jV:()=>u,lF:()=>c});var s=r(92602),n=r(70333),i=r(4718),a=r(84952),o=r(926);function u(t,e){return e?{...e,query:{...t,...e.query}}:{query:t}}function l(t){return"string"==typeof t?(0,a.An)(t):(0,i.o8)(t)}function c(t,e,r){const s={};for(const n in t){if("declaredClass"===n)continue;const i=t[n];if(null!=i&&"function"!=typeof i)if(Array.isArray(i))s[n]=i.map(t=>c(t));else if("object"==typeof i)if(i.toJSON){const t=i.toJSON(r?.[n]);s[n]=e?t:JSON.stringify(t)}else s[n]=e?i:JSON.stringify(i);else s[n]=i}return s}async function p(t,e,i){const a=function(t,e){return t?e&&(0,o.Qc)(t)?e:(0,o.getApiKey)(t)??n.id?.findCredential(t)?.token:null}(t,e);if(a)return a;!n.id&&s.A.request.useIdentity&&await Promise.all([r.e(5620),r.e(7393),r.e(8837)]).then(()=>r(50148));const u=await n.id.getCredential(t,i);return u?.token}}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[5471,9397],{66344(t,e,s){s.d(e,{q:()=>o});const i=!!(0,s(44208).A)("esri-tests-disable-gpu-memory-measurements");Symbol.iterator;class r{get size(){return this._size}constructor(t=10485760,e=.3){this._maxSize=t,this._maxClientSizeRatio=e,this._db=new Map,this._size=0,this._hit=0,this._miss=0,this._clients=new Map,this._sizeLimits=new Map}destroy(){this.clearAll(),this._sizeLimits.clear(),this._clients.clear(),this._db.clear()}register(t){this._clients.set(t.id.slice(0,-1),t)}deregister(t){this.clear(t),this._sizeLimits.delete(t),this._clients.delete(t.id.slice(0,-1))}get maxSize(){return this._maxSize}set maxSize(t){this._maxSize=Math.max(t,-1),this._checkSize()}get _maxClientSize(){return this._maxSize*this._maxClientSizeRatio}getSize(t,e){const s=this._db.get(t.id+e);return s?.size??0}put(t,e,s,r,a){e=t.id+e;const o=this._db.get(e);if(o&&(this._size-=o.size,t.size-=o.size,this._db.delete(e),o.entry!==s&&this._notifyRemove(e,o.entry,o.size,0)),r>this._maxSize)return void this._notifyRemove(e,s,r,0);if(void 0===s)return void console.warn("Refusing to cache undefined entry ");if(!r||r<0)return i||console.warn(`Refusing to cache entry with size ${r} for key ${e}`),void this._notifyRemove(e,s,0,0);const u=1+Math.max(a,-4)- -3;this._db.set(e,new n(s,r,u)),this._size+=r,t.size+=r,this._checkSize()}updateSize(t,e){e=t.id+e;const s=this._db.get(e);if(!s)return;this._size-=s.size,t.size-=s.size;let i=s.entry.usedMemory;for(;i>this._maxSize;){const t=this._notifyRemove(e,s.entry,i,1);if(!(null!=t&&t>0))return void this._db.delete(e);i=t}s.size=i,this._size+=i,t.size+=i,this._checkSize()}pop(t,e){e=t.id+e;const s=this._db.get(e);if(s)return this._size-=s.size,t.size-=s.size,this._db.delete(e),++this._hit,s.entry;++this._miss}get(t,e){e=t.id+e;const s=this._db.get(e);if(void 0!==s)return this._db.delete(e),s.lives=s.lifetime,this._db.set(e,s),++this._hit,s.entry;++this._miss}peek(t,e){const s=this._db.get(t.id+e);return s?++this._hit:++this._miss,s?.entry}get performanceInfo(){const t={Size:Math.round(this._size/1048576)+"/"+Math.round(this._maxSize/1048576)+"MB","Hit rate":Math.round(100*this._getHitRate())+"%",Entries:this._db.size.toString()},e={},s=new Array;this._db.forEach((t,i)=>{const r=t.lifetime;s[r]=(s[r]||0)+t.size,this._clients.forEach(s=>{const{id:r,name:n}=s;if(i.startsWith(r)){const s=e[n]||0;e[n]=s+t.size}})});const i={};this._clients.forEach(t=>{const s=t.name;if("hitRate"in t&&"number"==typeof t.hitRate&&!isNaN(t.hitRate)&&t.hitRate>0){const r=e[s]||0;e[s]=r,i[s]=Math.round(100*t.hitRate)+"%"}else i[s]="0%"});const r=Object.keys(e);r.sort((t,s)=>e[s]-e[t]),r.forEach(s=>t[s]=Math.round(e[s]/2**20)+"MB / "+i[s]);for(let e=s.length-1;e>=0;--e){const i=s[e];i&&(t["Priority "+(e+-3-1)]=Math.round(i/this._size*100)+"%")}return t}resetStats(){this._hit=this._miss=0,this._clients.forEach(t=>t.resetHitRate())}clear(t){const e=t.id;this._db.forEach((t,s)=>{s.startsWith(e)&&(this._size-=t.size,this._db.delete(s),this._notifyRemove(s,t.entry,t.size,0))}),t.size=0}clearAll(){this._db.forEach((t,e)=>this._notifyRemove(e,t.entry,t.size,0)),this._clients.forEach(t=>t.size=0),this._size=0,this._db.clear()}*values(t){for(const[e,s]of this._db)e.startsWith(t.id)&&(yield s.entry)}_getHitRate(){return this._hit/(this._hit+this._miss)}_notifyRemove(t,e,s,i){const r=this._clients.get(t.split(a)[0])?.removeFunc,n=r?.(e,i,s);return"number"==typeof n?n:null}_checkSize(){this._sizeLimits.forEach((t,e)=>this._checkSizeLimits(t,e)),this._clients.forEach(t=>this._checkSizeLimits(this._maxClientSize,t)),this._checkSizeLimits(this.maxSize)}setMaxClientSize(t,e){null==e||e<=0?this._sizeLimits.delete(t):this._sizeLimits.set(t,e)}_checkSizeLimits(t,e){const s=e??this;if(s.size<=t)return;const i=e?.id;let r=!0;for(;r;){r=!1;for(const[n,o]of this._db)if(0===o.lifetime&&(!i||n.startsWith(i))){const i=e??this._clients.get(n.split(a)[0]);if(this._purgeItem(n,o,i),s.size<=.9*t)return;r||=this._db.has(n)}}for(const[r,n]of this._db)if(!i||r.startsWith(i)){const i=e??this._clients.get(r.split(a)[0]);if(this._purgeItem(r,n,i),s.size<=.9*t)return}}_purgeItem(t,e,s){if(this._db.delete(t),e.lives<=1){this._size-=e.size,s&&(s.size-=e.size);const i=this._notifyRemove(t,e.entry,e.size,1);null!=i&&i>0&&(this._size+=i,s&&(s.size+=i),e.lives=e.lifetime,e.size=i,this._db.set(t,e))}else--e.lives,this._db.set(t,e)}}new r(0);class n{constructor(t,e,s){this.entry=t,this.size=e,this.lifetime=s,this.lives=s}}const a=":";class o{constructor(t,e){this.removeFunc=e,this.id="",this.name="",this.size=0,this._storage=new r(t,1),this._storage.register(this)}destroy(){this._storage.deregister(this),this._storage.destroy()}put(t,e,s=1){this._storage.put(this,t,e,s,1)}pop(t){return this._storage.pop(this,t)}get(t){return this._storage.get(this,t)}clear(){this._storage.clearAll()}get maxSize(){return this._storage.maxSize}set maxSize(t){this._storage.maxSize=t}resetHitRate(){}}},9775(t,e,s){s.d(e,{A:()=>n});var i=s(62788),r=s(95488);class n{constructor(t=t=>t.values().next().value){this._peeker=t,this._observable=new r.I,this._items=new Set}get length(){return(0,i.gc)(this._observable),this._items.size}clear(){0!==this.length&&(this._items.clear(),this._observable.notify())}last(){if(0===this.length)return;let t;for(t of this._items);return t}peek(){if(0!==this.length)return this._peeker(this._items)}push(t){this.contains(t)||(this._items.add(t),this._observable.notify())}contains(t){return(0,i.gc)(this._observable),this._items.has(t)}pop(){if(0===this.length)return;const t=this.peek();return this._items.delete(t),this._observable.notify(),t}popLast(){if(0===this.length)return;const t=this.last();return this._items.delete(t),this._observable.notify(),t}remove(t){this.contains(t)&&(this._items.delete(t),this._observable.notify())}filter(t){const e=this.length;return this._items.forEach(e=>{t(e)||this._items.delete(e)}),e!==this._items.size&&this._observable.notify(),this}*[Symbol.iterator](){(0,i.gc)(this._observable),yield*this._items}}},69397(t,e,s){s.d(e,{Qf:()=>o,Qh:()=>n,lM:()=>r});var i=s(34275);function r(t){if(!t)return 0;let e=l;for(const s in t)t.hasOwnProperty(s)&&(e+=a(t[s],!1));return e}function n(t){if(!t)return 0;if("number"==typeof t[0])return o(t);if(Array.isArray(t))return function(t){const e=t.length;if(0===e||"number"==typeof t[0])return u(t,8);let s=h;for(let i=0;i<e;i++)s+=a(t[i]);return s}(t);let e=l;for(const s in t)t.hasOwnProperty(s)&&(e+=a(t[s]));return e}function a(t,e=!0){switch(typeof t){case"object":return e?n(t):l;case"string":return function(t){return 32+t.length}(t);case"number":return 16;case"boolean":return 4;default:return 8}}function o(...t){return t.reduce((t,e)=>t+(e?(0,i.iu)(e)?e.byteLength+c:Array.isArray(e)?u(e,16):0:0),0)}function u(t,e){return h+t.length*e}const l=32,h=16,c=145},36745(t,e,s){s.d(e,{z:()=>o});var i=s(4718),r=s(51118),n=s(60408),a=s(92722);class o{static fromOptimized(t,e,s=1){return(new u).initialize(t,e,s)}static fromJSON(t){const[e,s]=h(t),i=(0,n.Pv)(t),r=(0,n.W0)(t);return(new c).initialize(e,s,i,r,1)}static fromOptimizedCIM(t,e,s=1){return(new d).initialize(t,e,s)}static fromJSONCIM(t,e=1){const[s,i]=h(t),r=(0,n.Pv)(t),a=(0,n.W0)(t);return(new p).initialize(s,i,r,a,e)}static fromFeatureSetReader(t){const e=t.readGeometryForDisplay(),s=t.geometryType;return e&&s?this.fromOptimized(e,s):null}static fromFeatureSetReaderCIM(t){const e=t.readGeometryForDisplay(),s=t.geometryType;return e&&s?this.fromOptimizedCIM(e,s):null}static createEmptyOptimized(t,e=!1,s=!1,i=1){return(new d).initialize(new a.A([],[],e,s),t,i)}static createEmptyJSON(t,e=!1,s=!1){return(new c).initialize([],t,e,s,1)}static createEmptyOptimizedCIM(t,e=!1,s=!1,i=1){return(new d).initialize(new a.A([],[],e,s),t,i)}static createEmptyJSONCIM(t,e=!1,s=!1,i=1){return(new p).initialize([],t,e,s,i)}asJSON(){const t=(0,r.x)(this),{hasZ:e,hasM:s}=this;return"esriGeometryEnvelope"===this.geometryType?{xmin:t[0][0][0],ymin:t[0][0][1],xmax:t[0][2][0],ymax:t[0][2][1]}:"esriGeometryMultipoint"===this.geometryType?{points:t.flat(),hasZ:e,hasM:s}:"esriGeometryPoint"===this.geometryType?{x:t[0][0][0],y:t[0][0][1],z:e?t[0][0][2]:void 0,m:s?t[0][0][e?3:2]:void 0}:"esriGeometryPolygon"===this.geometryType?{rings:t,hasZ:e,hasM:s}:{paths:t,hasZ:e,hasM:s}}getCurrentRingArea(){if(this.pathSize<3)return 0;let t,e,s=0;if(this.seekPathStart(),!this.nextPoint())return 0;t=this.x,e=this.y;const i=t,r=e;for(;this.nextPoint();)s+=(t-this.x)*(e+this.y),t=this.x,e=this.y;return s+=(t-i)*(e+r),-.5*s}invertY(){this.yFactor*=-1}}class u extends o{constructor(){super(...arguments),this._end=-1}get hasZ(){return this._geometry?.hasZ}get hasM(){return this._geometry?.hasM}initialize(t,e,s){return this.geometryType=e,this._stride=t.stride,this._geometry=t,this._pathIndex=-1,this._pathOffset=0,this._pointOffset=-this._stride,this._end=-1,this.yFactor=s,this}reset(){this.initialize(this._geometry,this.geometryType,this.yFactor)}seekPath(t){if(t>=0&&t<this.totalSize){if(this._pathIndex<t)for(;this._pathIndex<t&&this.nextPath(););else if(this._pathIndex>t)for(;this._pathIndex>t&&this.prevPath(););return!0}return!1}seekPathStart(){this._pointOffset=this._pathOffset-this._stride}seekPathEnd(){this._pointOffset=this._end}seekInPath(t){const e=this._pathOffset+t*this._stride;return e>=0&&e<this._end&&(this._pointOffset=e,!0)}nextPoint(){return(this._pointOffset+=this._stride)<this._end}prevPoint(){return(this._pointOffset-=this._stride)>=this._pathOffset}nextPath(){return!(this.pathIndex>=this.totalSize-1||(this._pathIndex>=0&&(this._pathOffset+=this._stride*this.pathSize),this._pathIndex++,this._pointOffset=this._pathOffset-this._stride,this._end=this._pointOffset+this._stride+this._stride*this.pathSize,0))}prevPath(){return!(this.pathIndex<=0||(this._pathIndex--,this._end=this._pathOffset,this._pathOffset-=this._stride*this.pathSize,this._pointOffset=this._pathOffset-this._stride,0))}getCurrentPath(){const t=this._end,e=this._geometry.coords,s=this._pathOffset;return(new u).initialize(new a.A([this.pathSize],e.slice(s,t),this.hasZ,this.hasM),this.geometryType,this.yFactor)}pathLength(){const t=this._end,e=this._stride,s=this._geometry.coords;let i=0;for(let r=this._pathOffset+e;r<t;r+=e){const t=s[r-e],n=s[r-e+1],a=s[r]-t,o=s[r+1]-n;i+=Math.sqrt(a*a+o*o)}return i}startPath(){this._geometry.lengths.push(0)}pushPath(t){this.startPath(),this.pushPoints(t)}pushPoint(t){for(let e=0;e<this._stride;++e)this._geometry.coords.push(t[e]);this._geometry.lengths[this.totalSize-1]++}pushXY(t,e){this._geometry.coords.push(t,e),this._geometry.lengths[this.totalSize-1]++}pushPoints(t){for(const e of t)for(let t=0;t<this._stride;++t)this._geometry.coords.push(e[t]);this._geometry.lengths[this.totalSize-1]+=t.length}pushCursor(t){const e=t.asOptimized();this._geometry.coords.push(...e.coords),this._geometry.lengths.push(...e.lengths)}asOptimized(){const t=this._geometry.clone();if(1!==this.yFactor)for(let e=1;e<t.coords.length;e+=this._stride)t.coords[e]*=this.yFactor;return"esriGeometryPoint"===this.geometryType&&(t.lengths.length=0),t}isClosed(){const t=this._geometry.coords,e=this._pathOffset,s=this._end-this._stride;for(let i=0;i<this._stride;i++)if(t[e+i]!==t[s+i])return!1;return!0}clone(){return(new u).initialize(this._geometry.clone(),this.geometryType,this.yFactor)}get totalPoints(){return this._geometry.isPoint?1:this._geometry.lengths.reduce((t,e)=>t+e)}get pathSize(){const{lengths:t}=this._geometry;return this._geometry.isPoint?1:this._pathIndex<0||this._pathIndex>t.length-1?0:t[this._pathIndex]}get totalSize(){return this._geometry.isPoint?1:this._geometry.lengths.length}get x(){return this._geometry.coords[this._pointOffset]}set x(t){this._geometry.coords[this._pointOffset]=t}get y(){return this.yFactor*this._geometry.coords[this._pointOffset+1]}set y(t){this._geometry.coords[this._pointOffset+1]=this.yFactor*t}get z(){return this._geometry.coords[this._pointOffset+2]}set z(t){this._geometry.coords[this._pointOffset+2]=t}get m(){const t=this.hasZ?3:2;return this._geometry.coords[this._pointOffset+t]}set m(t){this._geometry.coords[this._pointOffset+3]=t}get pathIndex(){return this._pathIndex}get _coordIndex(){return this._pointOffset/this._stride}}function l(t){const e=[t.x,t.y];return t.z&&e.push(t.z),t.m&&e.push(t.m),e}function h(t){return(0,n.Bi)(t)?[t.rings,"esriGeometryPolygon"]:(0,n.Rg)(t)?[t.paths,"esriGeometryPolyline"]:(0,n.U9)(t)?[[t.points],"esriGeometryMultipoint"]:(0,n.ZC)(t)?[[[[t.xmin,t.ymin],[t.xmin,t.ymax],[t.xmax,t.ymax],[t.xmax,t.ymin],[t.xmin,t.ymin]]],"esriGeometryEnvelope"]:(0,n.fT)(t)?[[[l(t)]],"esriGeometryPoint"]:[[],"esriGeometryPolyline"]}class c extends o{initialize(t,e,s,i,r){return this._paths=t,this.geometryType=e,this.hasZ=s,this.hasM=i,this._pathIndex=this._pointIndex=-1,this.yFactor=r,this._mIndex=this.hasZ?3:2,this}reset(){this._pathIndex=this._pointIndex=-1}seekPath(t){return this._pathIndex=t,this._pointIndex=-1,t>=0&&t<this.totalSize&&(this._currentPath=this._paths[t],!0)}seekPathStart(){this._pointIndex=-1}seekPathEnd(){this._pointIndex=this._currentPath.length}seekInPath(t){return t>=0&&t<this._currentPath.length&&(this._pointIndex=t,this._currentPoint=this._currentPath[this._pointIndex],!0)}nextPoint(){return this._currentPoint=this._currentPath[++this._pointIndex],this._pointIndex<this._currentPath.length}prevPoint(){return this._currentPoint=this._currentPath[--this._pointIndex],this._pointIndex>=0}nextPath(){return this._pointIndex=-1,this._currentPath=this._paths[++this._pathIndex],this._pathIndex<this.totalSize}prevPath(){return this.pathIndex>0&&(this._pointIndex=-1,this._pathIndex--,this._currentPath=this._paths[this._pathIndex],!0)}pathLength(){const t=this._currentPath.length,e=this._currentPath;let s=0;for(let i=1;i<t;i++){const t=e[i-1],r=e[i],n=t[0],a=t[1],o=r[0]-n,u=r[1]-a;s+=Math.sqrt(o*o+u*u)}return s}startPath(){this._paths.push([])}getCurrentPath(){return(new c).initialize([this._currentPath],this.geometryType,this.hasZ,this.hasM,this.yFactor)}pushPath(t){this._paths.push(t)}pushPoint(t){this._paths[this.totalSize-1].push(t)}pushXY(t,e){this._paths[this.totalSize-1].push([t,e])}pushPoints(t){this._paths[this.totalSize-1].push(...t)}pushCursor(t){const e=(0,r.x)(t);for(const t of e)this.pushPath(t)}asOptimized(){const{hasZ:t,hasM:e}=this,s=new a.A([],[],t,e),{coords:i,lengths:r}=s;if("esriGeometryPoint"===this.geometryType)i.push(...this._paths[0][0]),r.length=0;else for(const s of this._paths){for(const r of s)i.push(r[0]),i.push(r[1]*this.yFactor),t&&i.push(r[2]),e&&i.push(r[this._mIndex]);r.push(s.length)}return s}isClosed(){const t=this._currentPath[0],e=this._currentPath[this._currentPath.length-1];for(let s=0;s<t.length;s++)if(t[s]!==e[s])return!1;return!0}clone(){return(new c).initialize((0,i.o8)(this._paths),this.geometryType,this.hasZ,this.hasM,this.yFactor)}get totalPoints(){return this._paths.map(t=>t.length).reduce((t,e)=>t+e)}get pathSize(){return this._pathIndex<0||this._pathIndex>this.totalSize-1?-1:this._paths[this._pathIndex].length}get totalSize(){return this._paths.length}get x(){return this._currentPoint[0]}set x(t){this._currentPoint[0]=t}get y(){return this.yFactor*this._currentPoint[1]}set y(t){this._currentPoint[1]=this.yFactor*t}get z(){return this._currentPoint[2]}set z(t){this._currentPoint[2]=t}get m(){return this._currentPoint[this._mIndex]}set m(t){this._currentPoint[this._mIndex]=t}get pathIndex(){return this._pathIndex}}class d extends u{initialize(t,e,s){return super.initialize(t,e,s),this._controlPoints||(this._controlPoints=this._controlPoints=new Array(this.totalSize).fill(void 0).map(t=>new Set)),this}startPath(){super.startPath(),this._controlPoints.push(new Set)}clone(){const t=(new d).initialize(this._geometry.clone(),this.geometryType,this.yFactor);return t._controlPoints=this._controlPoints,t}setControlPoint(){this._controlPoints[this.pathIndex].add(this._coordIndex)}getControlPoint(){return this._controlPoints[this.pathIndex].has(this._coordIndex)}setControlPointAt(t){this._controlPoints[this.pathIndex].add(t)}getControlPointAt(t){return this._controlPoints[this.pathIndex].has(t)}}class p extends c{initialize(t,e,s,i,r){return super.initialize(t,e,s,i,r)}clone(){return(new p).initialize((0,i.o8)(this._paths),this.geometryType,this.hasZ,this.hasM,this.yFactor)}setControlPoint(){this._paths[this.pathIndex][this._pointIndex][4]=1}getControlPoint(){return 1===this._paths[this.pathIndex][this._pointIndex][4]}setControlPointAt(t){this._paths[this.pathIndex][t][4]=1}getControlPointAt(t){return 1===this._paths[this.pathIndex][t][4]}}},65864(t,e,s){s.d(e,{rS:()=>h,xD:()=>d});var i=s(5443),r=s(91075),n=s(48526),a=s(86738),o=s(39829),u=s(82799),l=s(60408);function h(t){return null==t?null:t instanceof r.A?t:(0,l.fT)(t)?a.A.fromJSON(t):(0,l.Rg)(t)?u.A.fromJSON(t):(0,l.Bi)(t)?o.A.fromJSON(t):(0,l.U9)(t)?n.A.fromJSON(t):(0,l.ZC)(t)?i.A.fromJSON(t):null}const c={esriGeometryPoint:a.A,esriGeometryPolyline:u.A,esriGeometryPolygon:o.A,esriGeometryEnvelope:i.A,esriGeometryMultipoint:n.A,esriGeometryMultiPatch:o.A};function d(t){return t&&c[t]||null}},78957(t,e,s){s.d(e,{d:()=>h,R:()=>F});class i{constructor(t=r){this._data=[],this._compare=t}get size(){return this._data.length}enqueue(t){if(null==t)return;const{_data:e,_compare:s}=this;e.push(t);let i=e.length-1>>>0;const r=e[i];for(;i>0;){const t=i-1>>1,n=e[t];if(!(s(n,r)<=0))break;e[t]=r,e[i]=n,i=t}}dequeue(){const{_data:t,_compare:e}=this,s=t[0],i=t.pop();if(0===t.length)return s;t[0]=i;let r=0;const n=t.length,a=t[0];let o,u,l=null;for(;;){const s=2*r+1,i=2*r+2;if(l=null,s<n&&(o=t[s],e(o,a)>0&&(l=s)),i<n&&(u=t[i],(null===l&&e(u,a)<=0||null!==l&&e(u,o)<=0)&&(l=i)),null===l)break;t[r]=t[l],t[l]=a,r=l}return s}}const r=(t,e)=>t<e?-1:t>e?1:0;var n=s(19419),a=s(537),o=s(12359),u=s(95108),l=s(12176);function h(t){if(0===t.totalSize)return null;const e=(0,a.z8)(t);if(!e)return null;const s=4*(Math.abs(e[0])+Math.abs(e[2])+Math.abs(e[1])+Math.abs(e[3])+1)*222045e-19;let i=0,r=0;t.reset();for(let e=0;t.nextPath();e++){const s=t.getCurrentRingArea();s>r&&(r=s,i=e)}if(t.seekPath(i),0===t.pathSize)return null;t.seekPathStart();const u=(0,a.B$)(t);if(Math.abs(r)<=2*s*s)return[(u[0]+u[2])/2,(u[1]+u[3])/2];t.seekPathStart();const l=(0,o.w2)(t,(0,n.vt)());if(null===l)return null;if(t.totalPoints<4)return l;const h=[[NaN,NaN],[NaN,NaN],[NaN,NaN],[NaN,NaN]],f=[NaN,NaN,NaN,NaN],m=[NaN,NaN,NaN,NaN];let y=!1,x=d(l,t,!0);0===x.distance&&(y=!0,h[0][0]=l[0],h[0][1]=l[1],x=d(l,t,!1)),f[0]=x.distance,m[0]=0;const F=[NaN,NaN];let S=!1,P=.25,v=-1,I=NaN;do{if(I=NaN,h[1]=p(t,_(u[0],u[2],P),0,e),isNaN(h[1][0])||isNaN(h[1][1])||(x=d(h[1],t,!1),I=x.distance),!isNaN(I)&&I>s&&c(h[1],t))S=!0,f[1]=I,m[1]=g(h[1],l);else if(!isNaN(I)&&I>v&&(v=I,F[0]=h[1][0],F[1]=h[1][1]),P-=.01,P<.1){if(!(v>=0))break;S=!0,f[1]=v,h[1][0]=F[0],h[1][1]=F[1],m[1]=g(h[1],l)}}while(!S);S=!1,P=.5,v=-1;let z=.01,b=1;do{if(I=NaN,h[2]=p(t,_(u[0],u[2],P),0,e),isNaN(h[2][0])||isNaN(h[2][1])||(x=d(h[2],t,!1),I=x.distance),!isNaN(I)&&I>s&&c(h[2],t))S=!0,f[2]=I,m[2]=g(h[2],l);else if(!isNaN(I)&&I>v)v=I,F[0]=h[2][0],F[1]=h[2][1];else if(I>v&&(v=I,F[0]=h[2][0],F[1]=h[2][1]),P=.5+z*b,z+=.01,b*=-1,P<.3||P>.7){if(!(v>=0))break;S=!0,f[2]=v,h[2][0]=F[0],h[2][1]=F[1],m[2]=g(h[2],l)}}while(!S);S=!1,P=.75,v=-1;do{if(I=NaN,h[3]=p(t,_(u[0],u[2],P),0,e),isNaN(h[3][0])||isNaN(h[3][1])||(x=d(h[3],t,!1),I=x.distance),!isNaN(I)&&I>s&&c(h[3],t))S=!0,f[3]=I,m[3]=g(h[3],l);else if(I>v&&(v=I,F[0]=h[3][0],F[1]=h[3][1]),P+=.01,P>.9){if(!(v>=0))break;S=!0,f[3]=v,h[3][0]=F[0],h[3][1]=F[1],m[3]=g(h[3],l)}}while(!S);const R=[0,1,2,3],C=y?0:1;let N;for(let t=C;t<4;t++)for(let t=C;t<3;t++){const e=m[t],s=m[t+1];w(e,s)>0&&(N=R[t],R[t]=R[t+1],R[t+1]=N,m[t]=s,m[t+1]=e)}let q=C,M=0,O=0;for(let t=C;t<4;t++){switch(t){case 0:O=2*f[R[t]];break;case 1:O=1.66666666*f[R[t]];break;case 2:O=1.33333333*f[R[t]];break;case 3:O=f[R[t]]}O>M&&(M=O,q=R[t])}return h[q]}function c(t,e){let s,i,r,n,a=0;for(e.reset();e.nextPath()&&e.nextPoint();)for(s=e.x,i=e.y;e.nextPoint();s=r,i=n)r=e.x,n=e.y,i>t[1]!=n>t[1]&&((r-s)*(t[1]-i)-(n-i)*(t[0]-s)>0?a++:a--);return 0!==a}function d(t,e,s){if(s&&c(t,e))return{coord:t,distance:0};let i=1/0,r=0,n=0,a=[0,0],o=[0,0];const l=[0,0];for(e.reset();e.nextPath()&&e.nextPoint();)if(!(e.pathSize<2))for(a[0]=e.x,a[1]=e.y;e.nextPoint();a=o){o=[e.x,e.y],(0,u.gR)(l,t,a,o);const s=g(t,l);s<i&&(i=s,r=l[0],n=l[1])}return{coord:[r,n],distance:Math.sqrt(i)}}function p(t,e,s,i){const r=[e,0];let a=1/0,o=1/0,u=!1,h=!1;const c=[[e,i[1]-1],[e,i[3]+1]],d=[0,0],p=[0,0],y=[0,0],_=[[0,0],[0,0]],g=(0,n.vt)();for(t.reset();t.nextPath()&&t.nextPoint();)if(!(t.pathSize<2))for(_[0][0]=t.x,_[0][1]=t.y;t.nextPoint();_[0][0]=_[1][0],_[0][1]=_[1][1]){if(_[1][0]=t.x,_[1][1]=t.y,null===f(g,_))continue;if(p[0]=c[0][0],p[1]=c[0][1],y[0]=c[1][0],y[1]=c[1][1],0===m(g,p,y))continue;if(!(0,l.Ql)(c[0],c[1],_[0],_[1],d))continue;const e=d[1];a>o?e<a&&(a=e,u=!0):e<o&&(o=e,h=!0)}return u&&h?r[1]=(a+o)/2:r[0]=r[1]=NaN,r}function f(t,e){if(e.length<2)return null;t||(t=(0,n.vt)());const[s,i]=e[0],[r,a]=e[1];return t[0]=Math.min(s,r),t[1]=Math.min(i,a),t[2]=Math.max(s,r),t[3]=Math.max(i,a),t}function m(t,e,s){let i=y(e,t),r=y(s,t);const n=t[0],a=t[1],o=t[2],u=t[3];if(i&r)return 0;if(!(i|r))return 4;const l=(i?1:0)|(r?2:0);do{const l=s[0]-e[0],h=s[1]-e[1];if(l>h)3&i?(1&i?(e[1]+=h*(n-e[0])/l,e[0]=n):(e[1]+=h*(o-e[0])/l,e[0]=o),i=y(e,t)):3&r?(1&r?(s[1]+=h*(n-s[0])/l,s[0]=n):(s[1]+=h*(o-s[0])/l,s[0]=o),r=y(s,t)):i?(4&i?(e[0]+=l*(a-e[1])/h,e[1]=a):(e[0]+=l*(u-e[1])/h,e[1]=u),i=y(e,t)):(4&r?(s[0]+=l*(a-s[1])/h,s[1]=a):(s[0]+=l*(u-s[1])/h,s[1]=u),r=y(s,t));else if(12&i?(4&i?(e[0]+=l*(a-e[1])/h,e[1]=a):(e[0]+=l*(u-e[1])/h,e[1]=u),i=y(e,t)):12&r?(4&r?(s[0]+=l*(a-s[1])/h,s[1]=a):(s[0]+=l*(u-s[1])/h,s[1]=u),r=y(s,t)):i?(1&i?(e[1]+=h*(n-e[0])/l,e[0]=n):(e[1]+=h*(o-e[0])/l,e[0]=o),i=y(e,t)):(1&r?(s[1]+=h*(n-s[0])/l,s[0]=n):(s[1]+=h*(o-s[0])/l,s[0]=o),r=y(s,t)),i&r)return 0}while(i|r);return l}function y(t,e){return(t[0]<e[0]?1:0)|(t[0]>e[2]?1:0)<<1|(t[1]<e[1]?1:0)<<2|(t[1]>e[3]?1:0)<<3}function _(t,e,s){return t+(e-t)*s}function g(t,e){return(t[0]-e[0])*(t[0]-e[0])+(t[1]-e[1])*(t[1]-e[1])}function w(t,e){if(t<e)return-1;if(t>e)return 1;if(t===e)return 0;const s=isNaN(t),i=isNaN(e);return s<i?-1:s>i?1:0}class x{constructor(t,e,s,i){this.x=t,this.y=e,this.cellSize=s,this.distancefromCellCenter=(0,u.Xf)(t,e,i),this.maxDistanceToPolygon=this.distancefromCellCenter+this.cellSize*Math.SQRT2}}function F(t){if(!t.nextPath()||!t.pathSize)return null;const e=(0,a.B$)(t),s=e[2]-e[0],r=e[3]-e[1];if(0===s||0===r)return[e[0]+s/2,e[1]+r/2];const n=Math.max(Math.min(s,r)/100,1),u=new i((t,e)=>e.maxDistanceToPolygon-t.maxDistanceToPolygon),l=Math.min(s,r);let h=l/2,c=0,d=0;for(c=e[0];c<e[2];c+=l)for(d=e[1];d<e[3];d+=l)u.enqueue(new x(c+h,d+h,h,t));t.reset(),t.nextPath();const p=(0,o.IK)(t);if(null===p)return null;let f,m=new x(p[0],p[1],0,t);for(;u.size>0;)f=u.dequeue(),f.distancefromCellCenter>m.distancefromCellCenter&&(m=f),f.maxDistanceToPolygon-m.distancefromCellCenter<=n||(h=f.cellSize/2,u.enqueue(new x(f.x-h,f.y-h,h,t)),u.enqueue(new x(f.x+h,f.y-h,h,t)),u.enqueue(new x(f.x-h,f.y+h,h,t)),u.enqueue(new x(f.x+h,f.y+h,h,t)));return[m.x,m.y]}},62815(t,e,s){s.d(e,{N:()=>o,d:()=>u});var i=s(86211),r=s(73941),n=s(21325),a=s(52006);function o(t,e,s){const i=u(e,s);if(1!==i)switch(t){case"point":case"esriGeometryPoint":return t=>function(t,e){null!=t?.z&&(t.z*=e)}(t,i);case"polyline":case"esriGeometryPolyline":return t=>function(t,e){if(t){if(t.curvePaths)for(const s of t.curvePaths)for(const t of s){const s=(0,a.yP)(t);s.length>2&&(s[2]*=e)}if(t.paths)for(const s of t.paths)for(const t of s)t.length>2&&(t[2]*=e)}}(t,i);case"polygon":case"esriGeometryPolygon":return t=>function(t,e){if(t){if(t.curveRings)for(const s of t.curveRings)for(const t of s){const s=(0,a.yP)(t);s.length>2&&(s[2]*=e)}if(t.rings)for(const s of t.rings)for(const t of s)t.length>2&&(t[2]*=e)}}(t,i);case"multipoint":case"esriGeometryMultipoint":return t=>function(t,e){if(t)for(const s of t.points)s.length>2&&(s[2]*=e)}(t,i);case"extent":case"esriGeometryEnvelope":return t=>function(t,e){t&&null!=t.zmin&&null!=t.zmax&&(t.zmin*=e,t.zmax*=e)}(t,i);default:return}}function u(t,e){return null==t||null==e||(0,n.aI)(t,e)||(0,r.xP)(t)||(0,r.xP)(e)?1:(0,i.G9)(t)/(0,i.G9)(e)}},24460(t,e,s){function i(t){const{minValue:e,maxValue:s,numValues:i,nullCount:r,distinctCount:n}=t;return null!=i&&r===i?{type:"null-only",nullCount:r,distinctCount:n}:"number"==typeof e&&Number.isFinite(e)&&"number"==typeof s&&Number.isFinite(s)&&e<=s?{type:"bounds",minValue:e,maxValue:s,nullCount:r,distinctCount:n}:null!=e||null!=s||null!=n||null!=r?{type:"unknown",nullCount:r,distinctCount:n}:null}function r(t){const e=new Map;for(const s of t.files){const t=n(s);e.set(s.name,t)}return e}function n(t){const e=new Map;for(const s of t.statistics??[]){const t=s.column.at(-1);if(null==t)continue;const r=i({minValue:s.minValue,maxValue:s.maxValue,numValues:null,nullCount:s.nullCount??0,distinctCount:s.distinctCount??null});null!=r&&e.set(t,r)}return new o(0,0,e)}function a(t){const e=t.minValue(),s=t.maxValue(),r=t.numValues(),n=t.distinctCount()??null;return i({minValue:e,maxValue:s,numValues:r,nullCount:t.nullCount()??null,distinctCount:n})}s.d(e,{Hk:()=>a,MB:()=>o,t8:()=>r});class o{static fromFile(t){const e=t.numRows(),s=t.byteLength(),i=new Map;for(const e of t.getColumnDescriptors()){const t=a(e);null!=t&&i.set(e.name(),t),e.free()}return new o(e,s,i)}constructor(t,e,s){this.rowCount=t,this.byteSize=e,this.statistics=s}}},95031(t,e,s){s.d(e,{M:()=>P});var i=s(11254),r=s(32198),n=s(49186),a=s(65529),o=s(44208),u=s(563),l=s(84952),h=s(53929),c=s(24460);class d{static async create(t,e,s,i,r){if(!r){const r=await(0,h.DV)(s,{geometryInfo:t,provider:e}),n=c.MB.fromFile(r);return new d(t,e,s,i,n,Promise.resolve(r))}return new d(t,e,s,i,r,null)}constructor(t,e,s,i,r,n){this._geometryInfo=t,this._provider=e,this.url=s,this.id=i,this.statistics=r,this._file=n}destroy(){null!=this._file&&this._file.then(t=>t.free())}get file(){return null==this._file&&(this._file=(0,h.DV)(this.url,{geometryInfo:this._geometryInfo,provider:this._provider})),this._file}async getDiagnosticsSnapshot(){return{...(await this.file).diagnosticsSnapshot(),fileId:this.id,fileName:this.url}}async getColumnIndex(t,e){return(await this.file).columnIndex(t,e)}async getOffsetIndex(t,e){return(await this.file).offsetIndex(t,e)}}const p="_spatial.json",f=new u.QueueProcessor({concurrency:12,process:async t=>{const{data:e}=await(0,i.A)(t.url,t.options);return e}});let m=1;class y{constructor(t,e=()=>{}){this._geometryInfo=t,this._getCustomParameters=e,this.events=new a.bk}async destroy(){await this.clear()}async clear(){if(this._infos){const t=await this._infos;for(const e of t.values())e.destroy();t.clear(),this._infos=null}}async getMetadata(){const t={stack:[],error:void 0,hasError:!1};try{const e=(await this._getParquetFileNames()).at(0);if(!e)return null;const s=(0,r.mS)(t,await(0,h.DV)(e,{provider:this}),!1);return(0,h._6)(s)}catch(e){t.error=e,t.hasError=!0}finally{(0,r.hk)(t)}}getGeometryInfo(){return this._geometryInfo}async getFiles(){const t=await this._getInfoMap();return Array.from(t.values())}async updateGeometryInfo(t){if(this._geometryInfo)throw new Error("GeometryInfo already set");await this.clear(),this._geometryInfo=t}async fetchLength(t){const{byteLength:e,cacheTag:s}=await this._fetchLengthAndTag(t);if(!(0,o.A)("parquetlayer-cache-enabled"))return e;try{await this._createOrResetCache(t,s)}catch(t){}return e}async fetchRange(t,e,s,i){const r={fileId:t,requestId:m++,range:{start:e,end:s+1}};this.events.emit("rangeRead",{...r,phase:"start"});try{const n=await this._fetchRangeWithCache(t,e,s,i);return this.events.emit("rangeRead",{...r,phase:"complete"}),n}catch(t){throw this.events.emit("rangeRead",{...r,phase:"error"}),t}}_getCacheFileName(t){return t}async _requestStatistics(t){const{data:e}=await(0,i.A)(t,{responseType:"json",query:this._getCustomParameters()});return e}async _fetchRange(t,e,s,i){const r={url:t,options:{responseType:"array-buffer",query:this._getCustomParameters()??{},cacheMode:"no-store",useQueue:!0,headers:{range:`bytes=${e}-${s}`}}},a=await f.push(r),o=s-e+1;if(a.byteLength!==o)throw new n.A("InvalidRangeRequest",`request returned ${a.byteLength} bytes for range ${e}-${s}, expected ${o}.`);return a}async _fetchLengthAndTag(t){if((0,l.w8)(t)){const{data:e}=await(0,i.A)(t,{responseType:"blob"});return{byteLength:e.size,cacheTag:null}}const e=await this._requestHead(t),s=e.headers.get("Content-Length");if(null==s)throw new Error("Unable to parse content length");const r=e.headers.get("etag")??e.headers.get("Last-Modified");return{byteLength:parseInt(s,10),cacheTag:r}}async _getInfoMap(){return this._infos||(this._infos=this._fetchParquetFiles()),this._infos}async _updateParquetFileInfos(t){const e=await this._getInfoMap(),s=new Set(t);for(const t of s)if(!e.get(t)){const s=e.size,i=await d.create(this.getGeometryInfo(),this,t,s,null);e.set(t,i)}for(const t of e.keys())if(!s.has(t))throw new Error("Deletion not supported")}async _getFileStatistics(t){this._statistics||(this._statistics=this._fetchStatistics());const e=await this._statistics,s=function(t){return t.split(/[?#]/)[0].split("/").at(-1)??t}(t);return e.get(s)}async _fetchParquetFiles(){const t=(await this._getParquetFileNames()).map(async(t,e)=>{const s=e,i=await this._getFileStatistics(t);return d.create(this.getGeometryInfo(),this,t,s,i)}),e=await Promise.all(t),s=new Map;for(const t of e)s.set(t.url,t);return s}async _fetchStatistics(){const t=await this._getStatisticsFileName();if(null==t)return new Map;const e=await this._resolveFileUrl(t),s=await this._requestStatistics(e);return(0,c.t8)(s)}async _requestHead(t){const{data:e}=await(0,i.A)(t,{responseType:"native",method:"head",query:this._getCustomParameters()});return e}async _openCache(t){return caches.open(this._getCacheName(t))}async _fetchRangeWithCache(t,e,s,i){if(!(0,o.A)("parquetlayer-cache-enabled"))return this._fetchRange(t,e,s,i);const r=new URL(this._getCacheFileName(t));r.searchParams.append("range",`${e}-${s}`);try{const n=await this._openCache(t),a=await n.match(r);if(a)return await a.arrayBuffer();const o=await this._fetchRange(t,e,s,i);return await n.put(r,new Response(o,{headers:{"Content-Type":"application/octet-stream","Content-Length":o.byteLength.toString()}})),o}catch(r){return this._fetchRange(t,e,s,i)}}_getCacheName(t){return`parquet.v1:${this._getCacheFileName(t)}`}async _createOrResetCache(t,e){const s=this._getCacheName(t),i=new URL(this._getCacheFileName(t));if(i.searchParams.append("metadata","true"),null==e)return void await caches.delete(s);let r=await caches.open(s);const n=await r.match(i),a=await(n?.json());a?.tag!==e&&(await caches.delete(s),r=await caches.open(s));const o=JSON.stringify({tag:e});await r.put(i,new Response(o,{headers:{"Content-Type":"application/json","Content-Length":o.length.toString()}}))}}function _(t){const e=t.split(/[?#]/)[0];return e===p||e.endsWith(p)}var g=s(39131);class w extends y{constructor(t,e,s){super(e,s),this._schema=t,this._isAgol=!!(0,g.py)(this._schema.itemUrl)}async update(t){throw new Error("Unsupported")}async _getParquetFileNames(){return[`${this._baseUrl}/data`]}async _getStatisticsFileName(){return null}_getCacheFileName(t){return`${this._baseUrl}/data`}async _resolveFileUrl(t){return this._resolvedUrl||(this._resolvedUrl=this._fetchResolvedUrl()),this._resolvedUrl}async _fetchLengthAndTag(t){const e=await super._fetchLengthAndTag(t);return e.cacheTag=this._schema.modified.getTime().toString(),e}async _fetchRange(t,e,s,i){try{const r=await this._resolveFileUrl(t);return await super._fetchRange(r,e,s,i)}catch{this._resolvedUrl=null}const r=await this._resolveFileUrl(t);return super._fetchRange(r,e,s,i)}get _baseUrl(){return this._schema.itemCdnUrl??this._schema.itemUrl}async _fetchResolvedUrl(){return this._isAgol?(await(0,i.A)(`${this._baseUrl}/data`,{query:{signedurl:!0,expiration:9,f:"json"}})).data.signedUrl:`${this._baseUrl}/data`}}var x=s(47828);class F extends y{constructor(t,e,s){super(e,s),this._schema=t,this._directoryChanged=!1}get _baseUrl(){return this._schema.itemCdnUrl??this._schema.itemUrl}async update(t){throw new Error("Unsupported")}async _getParquetFileNames(){const t=await this._getResources();return Array.from(t.keys()).filter(t=>t.endsWith(".parquet"))}async _getStatisticsFileName(){const t=await this._getResources();return Array.from(t.keys()).find(_)??null}_getCacheFileName(t){return`${this._baseUrl}/resources/${t}`}async _resolveFileUrl(t){const e=await this._getResource(t);return e.signedUrl?e.signedUrl:`${this._baseUrl}/resources/${t}`}async _fetchLengthAndTag(t){const e=await this._getResource(t),s=this._schema.itemMetadata.modified.getTime().toString();return{byteLength:e.size,cacheTag:s}}async _fetchRange(t,e,s,i){if(this._directoryChanged)throw(0,x.O)();try{const r=await this._resolveFileUrl(t);return await super._fetchRange(r,e,s,i)}catch{if("directory-changed"===await this._refetchResources())throw(0,x.O)()}const r=await this._resolveFileUrl(t);return super._fetchRange(r,e,s,i)}_refetchResources(){return this._directoryChanged?Promise.resolve("directory-changed"):(this._updateResourcesPromise||(this._updateResourcesPromise=this._executeRefetchResources().finally(()=>{this._updateResourcesPromise=null})),this._updateResourcesPromise)}async _executeRefetchResources(){return await this._refetchPortalItemMetadata()?(this.events.emit("sourceChanged"),this._directoryChanged=!0,"directory-changed"):(this._resources=this._fetchResources(),"ok")}async _refetchPortalItemMetadata(){const t=this._schema.itemMetadata.url,e=await(0,i.A)(this._schema.itemUrl,{responseType:"json",query:{f:"json"}}),{modified:s,url:r}=e.data;if(null==r)throw new Error("Portal item metadata must have a url defined.");if(null==s)throw new Error("Portal item metadata must have a modified timestamp defined.");return this._schema.itemMetadata={modified:new Date(s),url:r},t!==r}async _getResources(){return this._resources||(this._resources=this._fetchResources()),await this._resources}async _getResource(t){const e=(await this._getResources()).get(t);if(!e)throw new Error(`Resource ${t} not found.`);return e}async _fetchResources(){const t=new Map;let e=1;const s=function(t){const e=t.split("/").filter(Boolean),s=e.indexOf("resources");if(-1===s||s===e.length-1)throw new Error(`URL does not contain a resources directory name: ${t}`);return`${e.slice(s+1).map(t=>decodeURIComponent(t)).join("/")}/`}(this._schema.itemMetadata.url);for(;-1!==e;){const r=await(0,i.A)(`${this._baseUrl}/resources`,{query:{f:"json",start:e,num:100}});for(const e of r.data.resources)e.resource.startsWith(s)&&t.set(e.resource,e);e=r.data.nextStart}return t}}class S extends y{constructor(t,e=null,s=()=>{}){super(e,s),this._schema=t}async update(t){await this._updateParquetFileInfos(await this._getParquetFileNames()),this._schema=t}async _resolveFileUrl(t){return t}async _getParquetFileNames(){return this._schema.urls.filter(t=>!t.endsWith(".json"))}async _getStatisticsFileName(){return this._schema.urls.find(_)??null}}function P(t,e,s){switch(t.type){case"urls":return new S(t,e,s);case"portal-parquet-file":return new w(t,e,s);case"portal-parquet-layer":return new F(t,e,s)}}},6557(t,e,s){s.r(e),s.d(e,{default:()=>V});var i=s(32198),r=s(21818),n=s(49186),a=s(71511),o=s(44208),u=s(53966),l=s(17676),h=s(563),c=s(39516),d=s(86211),p=s(16930),f=s(70328),m=s(19419),y=s(21325),_=s(53929),g=s(90708),w=s(29441),x=s(56390),F=s(99352),S=s(8384),P=s(58727),v=s(95031),I=s(24460),z=s(64714),b=s(17754),R=s(20437),C=s(95466),N=s(30524),q=s(50639),M=s(42760),O=s(76248),A=s(30661),T=s(28923),E=s(44320),G=s(35258),k=s(16630);const U=new A.Z,Z="__OBJECTID",D=8e3;class B{constructor(t,e){this._files=t,this._createFileStream=e,this._fileIndex=0,this._streamIndex=0,this._streams=[],this._pending=new Set,this._resolvedCount=0}async next(t){for(await this._fill(t);this._pending.size>0;){(0,l.Te)(t),await this._fill(t);const e=await L(this._pending);if(this._pending.delete(e.read),this._resolvedCount++,null!=e.chunk)return e.chunk}return null}async _fill(t){for(this._removeDone();this._pending.size<8;){const e=this._getOrCreateNextStream(t);if(null==e)return;this._pending.add(e.read(t))}}_getOrCreateNextStream(t){const e=this._resolvedCount>=8?8:2;if(this._fileIndex<this._files.length&&this._streams.length<e){const e=this._files[this._fileIndex++],s=new Q(e.id,this._createFileStream(e,t));return this._streams.push(s),s}return this._getNextStream()}_getNextStream(){const t=this._streams.length;for(let e=0;e<t;e++){const s=(this._streamIndex+e)%t,i=this._streams[s];if(i.canRead)return this._streamIndex=(s+1)%t,i}return null}_removeDone(){let t=this._streamIndex;for(let e=this._streams.length-1;e>=0;e--)this._streams[e].done&&(this._streams.splice(e,1),e<t&&t--);this._streamIndex=this._streams.length>0?t%this._streams.length:0}}function L(t){return Promise.race(Array.from(t,async t=>({read:t,chunk:await t})))}class Q{constructor(t,e){this._fileId=t,this._stream=e,this._readCount=0,this._reachedEnd=!1}get canRead(){return!this._reachedEnd}get done(){return this._reachedEnd&&0===this._readCount}async read(t){this._readCount++;try{const e=await this._stream,s=await e.next(t);return null==s?(this._reachedEnd=!0,null):{fileId:this._fileId,chunk:s}}finally{this._readCount--}}}class V{constructor(){this._hasZ=!1,this._hasM=!1,this._queue=new h.QueueProcessor({concurrency:4,process:(t,e)=>this._executeQuery(t,e)}),this._streams=new Map,this._streamIdCounter=0,this._indexMap={},this._handles=new a.A}async load(t){const e=t.spatialReference?p.A.fromJSON(t.spatialReference):void 0;if(e&&!e.isWGS84&&!e.isWebMercator)throw new n.A("parquet:unsupported-projection","Only WGS84 and Web Mercator are supported");this._customParameters=t.customParameters,this._loadParameters=t,await this._updateProvider((0,v.M)(t.provider,null,()=>this._customParameters));const s=await this._provider.getMetadata(),i=await(0,M.nc)(s,{fields:t.fields?.map(t=>R.A.fromJSON(t)),geometryEncoding:t.geometryEncoding?(0,q.G)(t.geometryEncoding):null,geometryType:t.geometryType?(0,M.hG)(t.geometryType):null,displayOptimization:t.displayOptimization,spatialReference:e});if(this._hasZ=!!s?.hasZ,this._hasM=!!s?.hasM,!i.fields)throw new n.A("parquet:unsupported","Fields must be defined");let r;if(i.spatialReference&&i.geometryType){if(!i.spatialReference)throw new n.A("parquet:unsupported","SpatialReference must be defined");if(!i.spatialReference.isGeographic&&!i.spatialReference.isWebMercator)throw new n.A("parquet:unsupported-projection","Only WGS84 and Web Mercator are supported");i.spatialReference.isGeographic&&!i.spatialReference.isWGS84&&(u.A.getLogger("parquet:unsupported-projection").warn("Found a geographic projection that is not WGS84. Handling as WGS84.",{spatialReference:i.spatialReference}),i.spatialReference=p.A.WGS84),r={geometry:i.geometryEncoding?{geometryType:(0,M.sA)(i.geometryType),spatialReference:i.spatialReference.toJSON(),encoding:i.geometryEncoding.toJSON()}:null,displayOptimization:i.displayOptimization}}this.setCustomParameters(t.customParameters),this._displayOptimization=i.displayOptimization,await this._provider.updateGeometryInfo(r),this._capabilities=it(await this._getFileStatistics(),this._hasZ,this._hasM);const a=await this._provider.getFiles();if(!a.length)return{layerDefinition:{},capabilities:it(null,this._hasZ,this._hasM)};const o=await a[0].file;i.file=o;const{fields:l}=i;if(null==l)throw new n.A("parquet-layer:missing-metadata","Unable to create parquet source: cannot infer fields",l);l.push(new R.A({name:Z,type:"oid",alias:Z}));for(const t of l){const e=o.getColumnId(t.name);null!=e&&(this._indexMap[t.name]=e)}const h=new C.A(l.map(t=>t.toJSON()));this._fieldsIndex=h;const c=(0,M.sA)(i.geometryType??"point");return this._metadata=G.i.createFeature({fieldsIndex:h.toJSON(),geometryType:c,hasZ:this._hasZ,hasM:this._hasM,featureIdInfo:{type:"object-id",fieldName:Z},subtypes:null,subtypeField:null,types:null,typeIdField:null,globalIdField:null,spatialReference:i.spatialReference,outSpatialReference:null,attributeSpatialReference:null,timeInfo:null,timeReferenceUnknownClient:null,dateFieldsTimeZone:null}),this._queryEngineParams={fieldsIndex:this._metadata.fieldsIndex,geometryType:c,featureIdInfo:{type:"object-id",fieldName:Z},hasM:this._hasM,hasZ:this._hasZ,spatialReference:i.spatialReference?.toJSON()??{wkid:4326},aggregateAdapter:null,timeInfo:null,definitionExpression:null},this._fullExtent=s?.extent?s.extent:await this._tryDeriveParquetFullExtent(i),{capabilities:this._capabilities,layerDefinition:{fields:i.fields?.map(t=>t.toJSON()),drawingInfo:(0,z.F0)(c),extent:this._fullExtent??void 0,geometryType:c,geometryEncoding:i.geometryEncoding?.toJSON(),displayOptimization:i.displayOptimization}}}destroy(){this._provider.destroy(),this._queue.destroy();for(const{handle:t}of this._streams.values())t.remove();this._streams.clear(),this._indexMap={},this._handles.removeAll()}async reload(t){this.destroy(),await this.load(t)}set remoteClient(t){this._source=t.createInvokeProxy("")}setCustomParameters(t){this._customParameters=t}getIndexMap(){return this._indexMap}async updateFileProvider(t){this._loadParameters={...this._loadParameters,provider:t};const e=(0,v.M)(t,this._provider.getGeometryInfo(),()=>this._customParameters);await this._updateProvider(e)}async getDiagnosticsSnapshot(){const t=await this._provider.getFiles();return{files:await Promise.all(t.map(t=>t.getDiagnosticsSnapshot()))}}async getColumnIndex(t){return(await this._getFileInfoById(t.fileId)).getColumnIndex(t.rowGroupIndex,t.columnIndex)}async getOffsetIndex(t){return(await this._getFileInfoById(t.fileId)).getOffsetIndex(t.rowGroupIndex,t.columnIndex)}async queryFeatures(t,e){const s=await(0,P.T2)(t,null,this._queryEngineParams.spatialReference);return this._validateQuery(s),function(t){return!!(t.objectIds?.length||t.outStatistics||t.orderByFields?.length||t.returnDistinctValues)}(s)||(s.resultRecordCount=s.resultRecordCount?Math.min(s.resultRecordCount,D):D,s.resultOffset=s.resultOffset??0),s.outStatistics?this._queryStatistics(s,e):(s.returnDistinctValues&&(s.returnGeometry=void 0),(await this._enqueueQuery(s,e)).createQueryResponse())}async queryFeatureCount(t,e){const s=await(0,P.T2)(t,null,this._queryEngineParams.spatialReference);return this._validateQuery(s),J(s)?(s.outFields=void 0,s.returnGeometry=void 0,(await this._enqueueQuery(s,e)).createQueryResponseForCount()):this._getFeatureCount()}async queryObjectIds(t,e){const s=await(0,P.T2)(t,null,this._queryEngineParams.spatialReference);return this._validateQuery(s),J(s)?(s.resultRecordCount=s.resultRecordCount?Math.min(s.resultRecordCount,8e3):8e3,s.resultOffset=s.resultOffset??0,s.returnGeometry=void 0,s.outFields=void 0,(await this._enqueueQuery(s,e)).items.map(t=>t.getObjectId())):Array.from({length:await this._getFeatureCount()},(t,e)=>e)}async queryAttributeBins(t,e={}){throw new n.A("parquet:unsupported","queryAttributeBins not supported.")}async queryExtent(t,e){const s=await(0,P.T2)(t,null,this._queryEngineParams.spatialReference);if(this._validateQuery(s),this._fullExtent&&!J(s))return{count:await this._getFeatureCount(),extent:this._fullExtent};const i=(0,r.z)(this._metadata.spatialReference);s.returnGeometry=!0,s.outFields=void 0;const n=(0,f.hZ)((0,f.vt)(),f.qv),a=(0,f.vt)(),o=await this._enqueueQuery(s,e);let u=0;for(const t of o.items)t.getBounds(a)&&((0,f.RF)(n,a),u+=1);return{count:u,extent:(0,x.Wc)(n,i,s.outSR?(0,r.z)(s.outSR):i.toJSON(),i,!1)}}async queryStream(t,e){if(!e.signal)throw new Error("InternalError: AbortSignal must be passed");const s=await this._getCandidateFiles(t),i=new B(s,async(e,s)=>{const i=await e.file,r=await this._createParquetDisplayQuery(i,e.id,t);return i.executeQuery(r,D,s)}),r=this._streamIdCounter++,n=(0,l.NY)(e.signal,t=>{const e=this._streams.get(r);null!=e&&(e.handle.remove(),this._streams.delete(r))});return this._streams.set(r,{stream:i,handle:n}),r}async getStreamNext(t,e){if(!e.signal)throw new Error("InternalError: AbortSignal must be passed");const s=this._streams.get(t);if(!s)return{result:null};const i=await s.stream.next(e.signal);if(null==i)return s.handle.remove(),this._streams.delete(t),{result:null};const r=i.chunk.serialize().buffer,n={fileId:i.fileId,buffer:r};return r instanceof ArrayBuffer?{result:n,transferList:[r]}:{result:n}}async getStreamNextFeatures(t,e){const{result:s}=await this.getStreamNext(t,e);if(null==s)return null;const i=(await(0,O.N)()).ParquetChunk.deserialize(new Uint8Array(s.buffer)),r=new k.s(this._metadata,this._indexMap,i,s.fileId),n=[];for(;r.next();){const t=(0,g.zv)(r.readGeometryWorldSpace(),r.geometryType,r.hasZ,r.hasM),e=r.readAttributes();n.push({attributes:e,geometry:t})}return{features:n}}async createPatch(t,e,s,i,r){if(!r.signal)throw new Error("InternalError: AbortSignal must be passed");const n=await this._getFileInfoById(t),a=await n.file;return(await a.createChunkPatch(e,s,i,r.signal)).serialize().buffer}async _updateProvider(t){const e=this._provider;this._handles.removeAll(),this._provider=t,this._handles.add([t.events.on("rangeRead",t=>{this._source.onRangeRead(t)}),t.events.on("sourceChanged",async()=>{await this.reload(this._loadParameters),await this._source.onSourceChange()})]),await(e?.destroy())}async _getCandidateFiles(t){const e=await this._provider.getFiles(),s=await this._getSpatialFilePruning(t);if(null==s)return e;const i=e.filter(t=>this._mayIncludeFileForSpatialPruning(t,s));return"xz"===s.type?function(t,e){return t.slice().sort((t,s)=>{const i=st(t,e),r=st(s,e);return i===r?0:i<r?-1:1})}(i,s):i}async _queryStatistics(t,e){const s=await(0,P.T2)({...t},null,this._queryEngineParams.spatialReference);if(s.returnGeometry=void 0,function(t,e){return!!t.outStatistics?.length&&!J(t)&&!t.groupByFieldsForStatistics?.length&&!t.orderByFields?.length&&!t.returnDistinctValues&&!t.returnAggIds&&t.outStatistics.every(t=>function(t,e){switch(t.statisticType){case"count":return"1"===t.onStatisticField||null!=e.get(t.onStatisticField);case"min":case"max":{const s=e.get(t.onStatisticField);return null!=s&&(0,N.WA)(s)}default:return!1}}(t,e))}(s,this._fieldsIndex)){const t=await this._getStatisticsFromFiles(s);if(t)return t}return(await this._enqueueQuery(s,e)).createQueryResponse()}async _getStatisticsFromFiles(t){const e=await this._provider.getFiles(),s={},i=[];for(const r of t.outStatistics??[]){const t=X(r,e);if(!t.available)return null;s[r.outStatisticFieldName]=t.value,i.push(H(r,this._fieldsIndex))}return{fields:i,features:[{attributes:s}]}}async _getSpatialFilePruning(t){if("tile"!==t.type&&("arcade"!==t.type||null==t.extent))return null;const e=this._displayOptimization,s=e?.index;if(null==s)return null;const i=t.outSpatialReference.wkid;if(null==s.wkid||null==i)return null;const r=s.wkid,n=await(0,O.N)();switch(s.type){case"xz":return{type:"xz",fieldName:(0,_.FG)(s.code),intersects:(e,a)=>n.queryIntersectsXZStatistics(s.fullExtent,t.extent,i,r,s.maxLevel,e,a)};case"z":return{type:"xy",xFieldName:(0,_.FG)(s.xColumn),yFieldName:(0,_.FG)(s.yColumn),intersects:(e,s,a,o)=>n.queryIntersectsXYStatistics(t.extent,i,r,e,s,a,o)}}}_mayIncludeFileForSpatialPruning(t,e){switch(e.type){case"xz":{const s=et(t,e);return"null-only"!==s?.type&&("bounds"!==s?.type||e.intersects(s.minValue,s.maxValue))}case"xy":{const s=t.statistics.statistics.get(e.xFieldName),i=t.statistics.statistics.get(e.yFieldName);return"null-only"!==s?.type&&"null-only"!==i?.type&&("bounds"!==s?.type||"bounds"!==i?.type||e.intersects(s.minValue,s.maxValue,i.minValue,i.maxValue))}}}async _tryDeriveParquetFullExtent(t){if(!t.spatialReference)return null;if(null==this._fullExtent&&"location"===t.geometryEncoding?.type){const e=await this._provider.getFiles(),{xField:s,yField:r}=t.geometryEncoding,n=(0,f.hZ)((0,f.vt)(),f.qv);let a=!1;for(const t of e){const e=await t.file;for(const t of e.rowGroups()){const e={stack:[],error:void 0,hasError:!1};try{const o=(0,i.mS)(e,t.columnDescriptorForAttribute(s),!1),u=(0,i.mS)(e,t.columnDescriptorForAttribute(r),!1),l=(0,I.Hk)(o),h=(0,I.Hk)(u);if("bounds"===l?.type&&"bounds"===h?.type){const t=[l.minValue,h.minValue,l.maxValue,h.maxValue];(0,f.DC)(n,t),a=!0}t.free()}catch(t){e.error=t,e.hasError=!0}finally{(0,i.hk)(e)}}}return a?{xmin:n[0],ymin:n[1],xmax:n[3],ymax:n[4],spatialReference:t.spatialReference?.toJSON()}:null}return null}async _getFileInfoById(t){const e=await this._provider.getFiles();for(const s of e)if(s.id===t)return s;throw new Error(`InternalError: File ${t} does not exist`)}async _getFileStatistics(){return{featureCount:await this._getFeatureCount(),byteLength:await this._getByteLength()}}async _getFile(t){return(await this._getFileInfoById(t)).file}async _createParquetQuery(t,e,s,i,r){const n=(await(0,O.N)()).Query.new();null!=s&&n.setPreFilterStart(s),null!=i&&n.setPreFilterCount(i),null!=r&&n.setPostFilterCount(r);const a=await this._getRequiredFields(t);n.setOutFields(a),(t.geometry||t.returnGeometry)&&n.setReturnGeometry(!0),n.setReturnZ(!!t.returnZ),n.setReturnM(!!t.returnM);const o=this._tryGetGeneralizedGeometryResolution(t);null!=o&&n.setSourceResolution(o);const u=t.geometry?.spatialReference??this._queryEngineParams.spatialReference,l=u.wkid;if(t.geometry&&((0,y.K8)(u)||(0,y.oT)(u))){const e=(0,m.C)((0,m.vt)(),m.qv);for(const s of(0,x.qo)(t.geometry))(0,m.DC)(e,s);n.setOutSpatialReference(l),n.setExtent({xmin:e[0],ymin:e[1],xmax:e[2],ymax:e[3]})}if(t.where){const{id:s,file:i}=e;await this._setWhereClause(n,await i,s,t.where)}return n}async _createParquetDisplayQuery(t,e,s){const i=(await(0,O.N)()).Query.new();if("tile"===s.type){i.setExtent(s.extent),i.setQuantizationTransform(s.transform);const t=this._sourceResolution(s.resolution,s.outSpatialReference);null!=t&&i.setSourceResolution(t)}else"arcade"===s.type&&null!=s.extent&&i.setExtent(s.extent);return i.setOutFields(s.outFields.filter(t=>null!=this._indexMap[t])),i.setOutSpatialReference(s.outSpatialReference.wkid),i.setReturnGeometry(s.returnGeometry),i.setReturnZ(s.returnZ),i.setReturnM(s.returnM),s.where&&await this._setWhereClause(i,t,e,s.where),i}async _getFeatureCount(){return(await this._provider.getFiles()).map(t=>t.statistics.rowCount).reduce((t,e)=>t+e,0)}async _getByteLength(){return(await this._provider.getFiles()).map(t=>t.statistics.byteSize).reduce((t,e)=>t+e,0)}_validateQuery(t){if(!this._capabilities.query.supportsStatistics&&t.outStatistics)throw new n.A("parquet:unsupported","Statistics queries are not supported",{query:t});if(!this._capabilities.query.supportsOrderBy&&t.orderByFields?.length)throw new n.A("parquet:unsupported","Queries using orderBy are not supported",{query:t});if(!this._capabilities.query.supportsDistinct&&t.returnDistinctValues)throw new n.A("parquet:unsupported","Queries using returnDistinctValues are not supported",{query:t})}async _setWhereClause(t,e,s,i){const r=this._indexMap,a=this._fieldsIndex,o={getAttribute(t,i){const n=r[i];if(null==n){const e=a.get(i);if("__OBJECTID"===e?.name){const e=t.row+t.rowGroupStart;return(0,b.xb)(s,e)}return null}const o=a.get(i);return(0,_.LC)(e,t.rowGroup,t.row,n,o.type)}},u=await(0,c.GP)(i,this._fieldsIndex);if(!u.isStandardized)throw new n.A("sql-parse-error","expression is not standardized");const l=u.fieldNames.map(t=>a.get(t)).filter(t=>t&&null!=this._indexMap[t?.name]);t.setWhere(i),t.setWhereEvaluator((t,e,s)=>u.testFeatureCompiled({rowGroup:t,row:e,rowGroupStart:s},o,null)),t.setWhereFields(l.map(t=>t.name))}async*_streamFeatures(t,e,s,i,r){const n=await this._provider.getFiles();let a=0;for(const o of n){const n=a,u=a+o.statistics.rowCount;if(a+=o.statistics.rowCount,null!=e&&e>=u)continue;const l=null!=e?Math.max(e-n,0):null;let h=s;if(null!=s){const t=e??0,i=t+s,r=Math.max(t,n),a=Math.min(i,u);h=Math.max(a-r,0)}if(0===h)continue;const c=await this._createParquetQuery(t,o,l,h,i),d=await o.file,p=await d.executeQuery(c,D),f=async()=>{const t=await p.next(r);if(!t)return null;const e=new k.s(this._metadata,this._indexMap,t,o.id);return tt([new T.j(e,null,0,!1)],this._queryEngineParams)};let m=await f();for(;null!=m;)yield m,m=await f()}}async _queryFeaturesWithQueryEnginePagination(t,e){const s=[],i=this._streamFeatures(t,null,null,null,e);let r=await i.next();for(;!r.done;){const n=await r.value.executeQueryForOpaqueFeatures({...t,where:void 0},e);for(const t of n)s.push(t);r=await i.next()}return s}async _queryFeaturesWithUpfrontPagination(t,e){let s,i,r,n=t.resultOffset??0,a=t.resultRecordCount??D;!function(t){for(const e in t){const s=e;if($(s)&&null!==t[s])return!0}return!1}(t)?(n&&(s=n,n=0),i=t.resultRecordCount):function(t){for(const e in t){const s=e;if(j(s)&&null!==t[s])return!0}return!1}(t)||(r=n+a);const o=[],u=this._streamFeatures(t,s,i,r,e);let l=await u.next();for(;!l.done&&a>0;){const s=await l.value.executeQueryForOpaqueFeatures({...t,where:void 0},e);for(const t of s)if(n>0)n--;else if(o.push(t),--a<=0)return o;l=await u.next()}return o}_enqueueQuery(t,e){return this._queue.push(t,e)}async _executeQuery(t,e){if(t.objectIds?.length){const s=new Map;for(const e of t.objectIds){const t=(0,b.wY)(e),i=(0,b.gE)(e);let r=s.get(t);r||(r=[],s.set(t,r)),r.push(i)}const i=[];for(const[r,n]of s.entries()){const s=await this._executeFileIdQuery(t,r,n,e);for(const t of s)i.push(t)}return new S.G(i,t,{fieldsIndex:this._fieldsIndex,geometryType:this._metadata.geometryType,spatialReference:this._queryEngineParams.spatialReference,hasM:this._hasM,hasZ:this._hasZ,featureAdapter:U,featureIdInfo:this._queryEngineParams.featureIdInfo})}if("1=1"===t.where&&(t.where=null),t.resultOffset??=0,t.resultRecordCount??=await this._getFeatureCount(),t.resultRecordCount>2e7&&(!this._displayOptimization||!t.geometry))throw new n.A("parquet:cannot-execute-query","Unable to execute query, dataset is too large.");const s=!!t.orderByFields?.length||!!t.outStatistics?.length||!!t.returnDistinctValues,i=s?await this._queryFeaturesWithQueryEnginePagination(t,e):await this._queryFeaturesWithUpfrontPagination(t,e);return s||(t.resultOffset=0),new S.G(i,t,{fieldsIndex:this._fieldsIndex,geometryType:this._metadata.geometryType,spatialReference:this._queryEngineParams.spatialReference,hasM:this._hasM,hasZ:this._hasZ,featureAdapter:U,featureIdInfo:this._queryEngineParams.featureIdInfo})}async _executeFileIdQuery(t,e,s,i){const r=await this._getRequiredFields(t),n=(await(0,O.N)()).Query.new();n.setOutFields(r),n.setReturnGeometry(!!t.returnGeometry),n.setReturnZ(!!t.returnZ),n.setReturnM(!!t.returnM),n.setIds(new Uint32Array(s));const a=await this._getFile(e),o=await a.executeQuery(n,D,i);let u=await o.next(i),l=0;const h=[];for(;null!=u;){const t=new k.s(this._metadata,this._indexMap,u,e),s=new T.j(t,null,l++,!1);h.push(s),u=await o.next(i)}return tt(h,this._queryEngineParams).executeQueryForOpaqueFeatures(t,i)}async _getRequiredFields(t){const e=new Set;if(t.outStatistics)for(const s of(0,w.g9)(this._fieldsIndex,t.outStatistics,t.groupByFieldsForStatistics))e.add(s);else if(t.outFields)for(const s of t.outFields)e.add(s);return(e.has("*")?this._fieldsIndex.fields.map(t=>t.name):Array.from(e)).filter(t=>null!=this._indexMap[t])}_tryGetGeneralizedGeometryResolution(t){if(!this._displayOptimization)return null;const e=t.outSR??this._queryEngineParams.spatialReference;if(!(0,y.K8)(e)&&!(0,y.oT)(e))return null;const s=t.quantizationParameters?.tolerance??t.maxAllowableOffset;return s?this._sourceResolution(s,e):null}_sourceResolution(t,e){const s=this._queryEngineParams.spatialReference,i=t*((0,d.GA)(e)/(0,d.GA)(s));return!Number.isFinite(i)||i<=0?null:i}}function W(t){switch(t){case"fullText":case"having":case"timeExtent":case"historicMoment":case"aggregateIds":case"uniqueIds":case"gdbVersion":case"objectIds":case"where":case"geometry":case"resultOffset":case"resultRecordCount":return!0;default:return!1}}function $(t){switch(t){case"fullText":case"having":case"timeExtent":case"historicMoment":case"aggregateIds":case"uniqueIds":case"gdbVersion":case"objectIds":case"where":case"geometry":return!0;default:return!1}}function j(t){switch(t){case"fullText":case"having":case"timeExtent":return!0;case"historicMoment":case"aggregateIds":case"uniqueIds":case"gdbVersion":case"objectIds":case"where":case"resultOffset":case"geometry":case"resultRecordCount":return!1}return!1}function J(t){for(const e in t){const s=e;if(W(s)&&null!==t[s])return!0}return!1}function H(t,e){const s="exceedslimit"!==t.statisticType?e.get(t.onStatisticField):null,i="min"!==t.statisticType&&"max"!==t.statisticType||"esriFieldTypeDate"!==s?.type?"esriFieldTypeDouble":s.type;return{name:t.outStatisticFieldName,alias:t.outStatisticFieldName,type:i}}function X(t,e){switch(t.statisticType){case"count":return function(t,e){if("count"!==t.statisticType)return{available:!1,value:null};if("1"===t.onStatisticField)return{available:!0,value:e.reduce((t,e)=>t+e.statistics.rowCount,0)};let s=0;for(const i of e){const e=i.statistics.statistics.get(t.onStatisticField);if(null==e||null==e.nullCount)return{available:!1,value:null};s+=i.statistics.rowCount-e.nullCount}return{available:!0,value:s}}(t,e);case"min":return Y(t,e,Math.min);case"max":return Y(t,e,Math.max);default:return{available:!1,value:null}}}function Y(t,e,s){if("min"!==t.statisticType&&"max"!==t.statisticType)return{available:!1,value:null};let i=null;const r="min"===t.statisticType?"minValue":"maxValue";for(const n of e){const e=n.statistics.statistics.get(t.onStatisticField);if(null==e)return{available:!1,value:null};switch(e.type){case"null-only":continue;case"unknown":return{available:!1,value:null};case"bounds":{const t=K(e[r]);if(null==t)return{available:!1,value:null};i=null==i?t:s(i,t);break}}}return{available:!0,value:i}}function K(t){return"number"==typeof t&&Number.isFinite(t)?t:null}function tt(t,e){const s=new E.I;for(const e of t)s.insert(e);return new x.do({...e,featureStore:s})}function et(t,e){return t.statistics.statistics.get(e.fieldName)??null}function st(t,e){const s=et(t,e);return"bounds"!==s?.type?Number.POSITIVE_INFINITY:s.maxValue-s.minValue}function it(t,e,s){const i=t?.featureCount;let r=!1;return null!=i&&i<(0,o.A)("parquetlayer-full-query-feature-count")&&(r=!0),{analytics:{supportsCacheHint:!1},attachment:null,data:{isVersioned:!1,isBranchVersioned:!1,supportedCurveTypes:[],supportsAttachment:!1,supportsM:s,supportsTrueCurve:!1,supportsZ:e},metadata:{supportsAdvancedFieldProperties:!1},operations:{supportsCalculate:!1,supportsTruncate:!1,supportsValidateSql:!1,supportsAdd:!1,supportsDelete:!1,supportsEditing:!1,supportsChangeTracking:!1,supportsQuery:!0,supportsQueryBins:!1,supportsQueryPivot:!1,supportsQueryAnalytics:!1,supportsQueryAttachments:!1,supportsQueryTopFeatures:!1,supportsResizeAttachments:!1,supportsSync:!1,supportsUpdate:!1,supportsExceedsLimitStatistics:!1,supportsAsyncConvert3D:!1},query:{...F.F,maxRecordCount:D,supportsOrderBy:r,supportsDistinct:!0,supportsStatistics:!0,supportsSpatialAggregationStatistics:!1,supportedSpatialAggregationStatistics:{envelope:!1,centroid:!1,convexHull:!1}},queryAttributeBins:{supportsDate:!1,supportsFixedInterval:!1,supportsAutoInterval:!1,supportsFixedBoundaries:!1,supportsStackBy:!1,supportsSplitBy:!1,supportsSnapToData:!1,supportsReturnFullIntervalBin:!1,supportsFirstDayOfWeek:!1,supportsNormalization:!1},queryRelated:{supportsCount:!1,supportsOrderBy:!1,supportsPagination:!1,supportsCacheHint:!1},queryTopFeatures:{supportsCacheHint:!1},editing:{supportsDeleteByAnonymous:!1,supportsDeleteByOthers:!1,supportsGeometryUpdate:!1,supportsGlobalId:!1,supportsTrueCurveUpdate:!1,supportsTrueCurveUpdateByTrueCurveClientsOnly:!0,supportsReturnServiceEditsInSourceSpatialReference:!1,supportsRollbackOnFailure:!1,supportsUpdateByAnonymous:!1,supportsUpdateByOthers:!1,supportsUploadWithItemId:!1,supportsUpdateWithoutM:!1,supportsAsyncApplyEdits:!1,zDefault:void 0}}}},95466(t,e,s){s.d(e,{A:()=>l});var i=s(49186),r=s(53966),n=s(12195),a=s(30524),o=s(98623),u=s(56400);class l{static fromJSON(t){return new l(t.fields,t.timeZoneByFieldName)}static fromLayer(t){return new l(t.fields??[],c(t))}static fromLayerJSON(t){return new l(t.fields??[],c(t))}constructor(t=[],e){this._fieldsMap=new Map,this._normalizedFieldsMap=new Map,this._dateFieldsSet=new Set,this._numericFieldsSet=new Set,this._requiredFields=null,this.dateFields=[],this.numericFields=[],this.fields=t||[],this._timeZoneByFieldName=e?new Map(e):null;const s=[];for(const t of this.fields){const e=t?.name,i=(0,a.GZ)(e);if(e&&i){const r=(0,a.NF)(e);this._fieldsMap.set(e,t),this._fieldsMap.set(r,t),this._normalizedFieldsMap.set(i,t),s.push(`${r}:${t.type}:${this._timeZoneByFieldName?.get(e)}`),(0,a.vE)(t)?(this.dateFields.push(t),this._dateFieldsSet.add(t)):(0,a.WA)(t)&&(this._numericFieldsSet.add(t),this.numericFields.push(t)),(0,a.te)(t)||(0,a.Xz)(t)||(t.editable=null==t.editable||!!t.editable,t.nullable=null==t.nullable||!!t.nullable)}}s.sort(),this.uid=s.join()}get requiredFields(){if(!this._requiredFields){this._requiredFields=[];for(const t of this.fields)(0,a.te)(t)||(0,a.Xz)(t)||t.nullable||void 0!==(0,a.lD)(t)||this._requiredFields.push(t)}return this._requiredFields}equals(t){return this.uid===t?.uid}has(t){return null!=this.get(t)}get(t){return(0,a.Vb)({fieldName:t,fieldsMap:this._fieldsMap,normalizedFieldsMap:this._normalizedFieldsMap})}getTimeZone(t){const e=this.get(t&&"string"!=typeof t?t.name:t);return e?this._timeZoneByFieldName?this._timeZoneByFieldName.get(e.name):"date"===e.type||"esriFieldTypeDate"===e.type?(r.A.getLogger("esri.layers.support.FieldsIndex").errorOnce(new i.A("getTimeZone:no-timezone-information",`no time zone information for field '${e.name}'`)),"UTC"):h.has(e.type)?o.L:null:null}isDateField(t){return this._dateFieldsSet.has(this.get(t))}isTimeOnlyField(t){return(0,a.OH)(this.get(t))}isNumericField(t){return this._numericFieldsSet.has(this.get(t))}normalizeFieldName(t){return this.get(t)?.name??void 0}toJSON(){return{fields:this.fields.map(t=>(0,n.W)(t)?t.toJSON():t),timeZoneByFieldName:this._timeZoneByFieldName?Array.from(this._timeZoneByFieldName.entries()):null}}}const h=new Set(["time-only","date-only","timestamp-offset","esriFieldTypeDateOnly","esriFieldTypeTimeOnly","esriFieldTypeTimestampOffset"]);function c(t){const e=new Map;if(!t.fields)return e;const s=!0===t.datesInUnknownTimezone,{timeInfo:i,editFieldsInfo:r}=t,n=(i?"startField"in i?i.startField:i.startTimeField:"")??"",l=(i?"endField"in i?i.endField:i.endTimeField:"")??"",c=function(t){return"dateFieldsTimeZone"in t}(t)?t.dateFieldsTimeZone??null:t.dateFieldsTimeReference?(0,u.ZS)(t.dateFieldsTimeReference):null,d=r?function(t){return"timeZone"in t}(r)?r.timeZone??c:r.dateFieldsTimeReference?(0,u.ZS)(r.dateFieldsTimeReference):c??"UTC":null,p=i?function(t){return"timeZone"in t}(i)?i.timeZone??c:i.timeReference?(0,u.ZS)(i.timeReference):c:null,f=new Map([[(0,a.NF)(r?.creationDateField??""),d],[(0,a.NF)(r?.editDateField??""),d],[(0,a.NF)(n),p],[(0,a.NF)(l),p]]);for(const{name:i,type:r}of t.fields)if(h.has(r))e.set(i,o.L);else if("date"!==r&&"esriFieldTypeDate"!==r)e.set(i,null);else if(s)e.set(i,o.L);else{const t=f.get((0,a.NF)(i??""))??c;e.set(i,t)}return e}},34582(t,e,s){s.d(e,{A:()=>o});var i=s(32198),r=s(69540),n=s(25482),a=s(91429);let o=class extends((0,r.OU)(n.o)){constructor(t){super(t),this.type="wkb",this.field=null}};(0,i.Cg)([(0,a.MZ)({type:["wkb"],nonNullable:!0,readOnly:!0,json:{read:!1,write:{isRequired:!0}}})],o.prototype,"type",void 0),(0,i.Cg)([(0,a.MZ)({type:["counter-clockwise"],json:{write:!0}})],o.prototype,"orientation",void 0),(0,i.Cg)([(0,a.MZ)({type:String,json:{write:{isRequired:!0}}})],o.prototype,"field",void 0),o=(0,i.Cg)([(0,a.$K)("esri.layers.support.GeometryEncodingWkb")],o)},56370(t,e,s){s.d(e,{A:()=>d});var i=s(32198),r=s(69540),n=s(7762),a=s(49186),o=s(25482),u=s(91429),l=s(64108),h=s(97159),c=s(43937);let d=class extends((0,o.T)(r.Pw)){constructor(t){super(t),this.type="files",this.urls=new n.A}writeUrls(t,e,s,i){const r=t.toArray().map(t=>(0,h.t)(t,i)).filter(t=>!!t);r.length?e.urls=r:i.messages?.push(new a.A("parquet-layer:missing-urls","Missing or empty 'urls'",{data:this}))}};(0,i.Cg)([(0,u.MZ)({type:["files"],nonNullable:!0,readOnly:!0,json:{read:!1,write:{isRequired:!0}}})],d.prototype,"type",void 0),(0,i.Cg)([(0,u.MZ)({type:n.A.ofType(String),json:{write:{isRequired:!0}}})],d.prototype,"urls",void 0),(0,i.Cg)([(0,c.K)("urls")],d.prototype,"writeUrls",null),d=(0,i.Cg)([(0,l.$)("esri.layers.support.ParquetFilesData")],d)},50639(t,e,s){s.d(e,{G:()=>n});var i=s(9075),r=s(34582);function n(t){switch(t.type){case"wkb":return r.A.fromJSON(t);case"location":return i.A.fromJSON(t)}}},42760(t,e,s){s.d(e,{Dt:()=>f,hG:()=>d,nc:()=>p,sA:()=>c}),s(7762);var i=s(49186),r=s(44208),n=s(66552),a=s(16930),o=(s(95031),s(20437)),u=s(30524),l=s(50639);s(56370);const h=new n.J({esriGeometryPoint:"point",esriGeometryPolygon:"polygon",esriGeometryPolyline:"polyline",esriGeometryMultipoint:"multipoint"});function c(t){return h.toJSON(t)}function d(t){return h.fromJSON(t)}async function p(t,e){if(e.geometryType&&e.spatialReference&&e.geometryEncoding&&e.fields&&e.displayOptimization)return e;if(!t)throw new i.A("parquet:bad-input","No metadata found");const s={...e},n=t.fields.map(t=>o.A.fromJSON(t));if(null==s.fields)s.fields=n;else{const t=new Set(s.fields.map(t=>t.name));if(!(0,r.A)("parquetlayer-legacy-field-overrides-enabled"))for(const e of n)t.has(e.name)||s.fields.push(e)}if(null!=s.geometryEncoding){const t=s.geometryEncoding;switch(t.type){case"wkb":{const e=n.find(e=>e.name===t.field);if(!e)throw new i.A("parquet:unsupported",`Geometry encoding references field ${t.field} which does not exist`);if("blob"!==e.type)throw new i.A("parquet:unsupported",`Invalid field type for geometry encoding. Found ${e.type} but expected 'blob'`);break}case"location":for(const e of[t.xField,t.yField])if(null!=e){const t=n.find(t=>t.name===e);if(!t)throw new i.A("parquet:unsupported",`Geometry encoding references field ${e} which does not exist`);if(!(0,u.WA)(t))throw new i.A("parquet:unsupported",`Invalid field type for location geometry encoding. Found ${t.type} but expected a numeric`)}}}return null==s.geometryEncoding&&(s.geometryEncoding=t.geometryEncoding?(0,l.G)(t.geometryEncoding):null),s.fields=function(t,e){const s=e.geoMetadata;if(null==s)return t;const i=new Set(Object.keys(s.columns));return t.filter(t=>!i.has(t.name))}(s.fields,t),!s.displayOptimization&&t.displayOptimization&&(s.displayOptimization=t.displayOptimization),!s.geometryType&&t.geometryType&&(s.geometryType=d(t.geometryType)),!s.spatialReference&&t.spatialReference&&(s.spatialReference=a.A.fromJSON(t.spatialReference)),s}async function f(t,e){switch(t.type){case"files":return{type:"urls",urls:t.urls.toArray()};case"portal-item":{const s=await t.portalItem.load(e);switch(s.type){case"Apache Parquet":return{type:"portal-parquet-file",itemUrl:s.itemUrl,itemCdnUrl:s.itemCdnUrl,modified:s.modified,size:s.size};case"Parquet layer":case"Parquet Layer":case"Parquet feature layer":case"Parquet Feature Layer":if(!s.url)throw new i.A("parquet:bad-item",`Item of type ${s.type} must have a url defined`,s);return{type:"portal-parquet-layer",itemUrl:s.itemUrl,itemCdnUrl:s.itemCdnUrl,itemMetadata:{modified:s.modified,url:s.url}};default:throw new i.A("parquet:bad-item",`Item of type ${s.type} is not supported`,s)}}}}s.d(e,["ye",0,h])}}]);
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[5471,9397],{66344(t,e,s){s.d(e,{q:()=>o});const i=!!(0,s(44208).A)("esri-tests-disable-gpu-memory-measurements");Symbol.iterator;class r{get size(){return this._size}constructor(t=10485760,e=.3){this._maxSize=t,this._maxClientSizeRatio=e,this._db=new Map,this._size=0,this._hit=0,this._miss=0,this._clients=new Map,this._sizeLimits=new Map}destroy(){this.clearAll(),this._sizeLimits.clear(),this._clients.clear(),this._db.clear()}register(t){this._clients.set(t.id.slice(0,-1),t)}deregister(t){this.clear(t),this._sizeLimits.delete(t),this._clients.delete(t.id.slice(0,-1))}get maxSize(){return this._maxSize}set maxSize(t){this._maxSize=Math.max(t,-1),this._checkSize()}get _maxClientSize(){return this._maxSize*this._maxClientSizeRatio}getSize(t,e){const s=this._db.get(t.id+e);return s?.size??0}put(t,e,s,r,a){e=t.id+e;const o=this._db.get(e);if(o&&(this._size-=o.size,t.size-=o.size,this._db.delete(e),o.entry!==s&&this._notifyRemove(e,o.entry,o.size,0)),r>this._maxSize)return void this._notifyRemove(e,s,r,0);if(void 0===s)return void console.warn("Refusing to cache undefined entry ");if(!r||r<0)return i||console.warn(`Refusing to cache entry with size ${r} for key ${e}`),void this._notifyRemove(e,s,0,0);const u=1+Math.max(a,-4)- -3;this._db.set(e,new n(s,r,u)),this._size+=r,t.size+=r,this._checkSize()}updateSize(t,e){e=t.id+e;const s=this._db.get(e);if(!s)return;this._size-=s.size,t.size-=s.size;let i=s.entry.usedMemory;for(;i>this._maxSize;){const t=this._notifyRemove(e,s.entry,i,1);if(!(null!=t&&t>0))return void this._db.delete(e);i=t}s.size=i,this._size+=i,t.size+=i,this._checkSize()}pop(t,e){e=t.id+e;const s=this._db.get(e);if(s)return this._size-=s.size,t.size-=s.size,this._db.delete(e),++this._hit,s.entry;++this._miss}get(t,e){e=t.id+e;const s=this._db.get(e);if(void 0!==s)return this._db.delete(e),s.lives=s.lifetime,this._db.set(e,s),++this._hit,s.entry;++this._miss}peek(t,e){const s=this._db.get(t.id+e);return s?++this._hit:++this._miss,s?.entry}get performanceInfo(){const t={Size:Math.round(this._size/1048576)+"/"+Math.round(this._maxSize/1048576)+"MB","Hit rate":Math.round(100*this._getHitRate())+"%",Entries:this._db.size.toString()},e={},s=new Array;this._db.forEach((t,i)=>{const r=t.lifetime;s[r]=(s[r]||0)+t.size,this._clients.forEach(s=>{const{id:r,name:n}=s;if(i.startsWith(r)){const s=e[n]||0;e[n]=s+t.size}})});const i={};this._clients.forEach(t=>{const s=t.name;if("hitRate"in t&&"number"==typeof t.hitRate&&!isNaN(t.hitRate)&&t.hitRate>0){const r=e[s]||0;e[s]=r,i[s]=Math.round(100*t.hitRate)+"%"}else i[s]="0%"});const r=Object.keys(e);r.sort((t,s)=>e[s]-e[t]),r.forEach(s=>t[s]=Math.round(e[s]/2**20)+"MB / "+i[s]);for(let e=s.length-1;e>=0;--e){const i=s[e];i&&(t["Priority "+(e+-3-1)]=Math.round(i/this._size*100)+"%")}return t}resetStats(){this._hit=this._miss=0,this._clients.forEach(t=>t.resetHitRate())}clear(t){const e=t.id;this._db.forEach((t,s)=>{s.startsWith(e)&&(this._size-=t.size,this._db.delete(s),this._notifyRemove(s,t.entry,t.size,0))}),t.size=0}clearAll(){this._db.forEach((t,e)=>this._notifyRemove(e,t.entry,t.size,0)),this._clients.forEach(t=>t.size=0),this._size=0,this._db.clear()}*values(t){for(const[e,s]of this._db)e.startsWith(t.id)&&(yield s.entry)}_getHitRate(){return this._hit/(this._hit+this._miss)}_notifyRemove(t,e,s,i){const r=this._clients.get(t.split(a)[0])?.removeFunc,n=r?.(e,i,s);return"number"==typeof n?n:null}_checkSize(){this._sizeLimits.forEach((t,e)=>this._checkSizeLimits(t,e)),this._clients.forEach(t=>this._checkSizeLimits(this._maxClientSize,t)),this._checkSizeLimits(this.maxSize)}setMaxClientSize(t,e){null==e||e<=0?this._sizeLimits.delete(t):this._sizeLimits.set(t,e)}_checkSizeLimits(t,e){const s=e??this;if(s.size<=t)return;const i=e?.id;let r=!0;for(;r;){r=!1;for(const[n,o]of this._db)if(0===o.lifetime&&(!i||n.startsWith(i))){const i=e??this._clients.get(n.split(a)[0]);if(this._purgeItem(n,o,i),s.size<=.9*t)return;r||=this._db.has(n)}}for(const[r,n]of this._db)if(!i||r.startsWith(i)){const i=e??this._clients.get(r.split(a)[0]);if(this._purgeItem(r,n,i),s.size<=.9*t)return}}_purgeItem(t,e,s){if(this._db.delete(t),e.lives<=1){this._size-=e.size,s&&(s.size-=e.size);const i=this._notifyRemove(t,e.entry,e.size,1);null!=i&&i>0&&(this._size+=i,s&&(s.size+=i),e.lives=e.lifetime,e.size=i,this._db.set(t,e))}else--e.lives,this._db.set(t,e)}}new r(0);class n{constructor(t,e,s){this.entry=t,this.size=e,this.lifetime=s,this.lives=s}}const a=":";class o{constructor(t,e){this.removeFunc=e,this.id="",this.name="",this.size=0,this._storage=new r(t,1),this._storage.register(this)}destroy(){this._storage.deregister(this),this._storage.destroy()}put(t,e,s=1){this._storage.put(this,t,e,s,1)}pop(t){return this._storage.pop(this,t)}get(t){return this._storage.get(this,t)}clear(){this._storage.clearAll()}get maxSize(){return this._storage.maxSize}set maxSize(t){this._storage.maxSize=t}resetHitRate(){}}},9775(t,e,s){s.d(e,{A:()=>n});var i=s(62788),r=s(95488);class n{constructor(t=t=>t.values().next().value){this._peeker=t,this._observable=new r.I,this._items=new Set}get length(){return(0,i.gc)(this._observable),this._items.size}clear(){0!==this.length&&(this._items.clear(),this._observable.notify())}last(){if(0===this.length)return;let t;for(t of this._items);return t}peek(){if(0!==this.length)return this._peeker(this._items)}push(t){this.contains(t)||(this._items.add(t),this._observable.notify())}contains(t){return(0,i.gc)(this._observable),this._items.has(t)}pop(){if(0===this.length)return;const t=this.peek();return this._items.delete(t),this._observable.notify(),t}popLast(){if(0===this.length)return;const t=this.last();return this._items.delete(t),this._observable.notify(),t}remove(t){this.contains(t)&&(this._items.delete(t),this._observable.notify())}filter(t){const e=this.length;return this._items.forEach(e=>{t(e)||this._items.delete(e)}),e!==this._items.size&&this._observable.notify(),this}*[Symbol.iterator](){(0,i.gc)(this._observable),yield*this._items}}},69397(t,e,s){s.d(e,{Qf:()=>o,Qh:()=>n,lM:()=>r});var i=s(34275);function r(t){if(!t)return 0;let e=l;for(const s in t)t.hasOwnProperty(s)&&(e+=a(t[s],!1));return e}function n(t){if(!t)return 0;if("number"==typeof t[0])return o(t);if(Array.isArray(t))return function(t){const e=t.length;if(0===e||"number"==typeof t[0])return u(t,8);let s=h;for(let i=0;i<e;i++)s+=a(t[i]);return s}(t);let e=l;for(const s in t)t.hasOwnProperty(s)&&(e+=a(t[s]));return e}function a(t,e=!0){switch(typeof t){case"object":return e?n(t):l;case"string":return function(t){return 32+t.length}(t);case"number":return 16;case"boolean":return 4;default:return 8}}function o(...t){return t.reduce((t,e)=>t+(e?(0,i.iu)(e)?e.byteLength+c:Array.isArray(e)?u(e,16):0:0),0)}function u(t,e){return h+t.length*e}const l=32,h=16,c=145},36745(t,e,s){s.d(e,{z:()=>o});var i=s(4718),r=s(51118),n=s(60408),a=s(92722);class o{static fromOptimized(t,e,s=1){return(new u).initialize(t,e,s)}static fromJSON(t){const[e,s]=h(t),i=(0,n.Pv)(t),r=(0,n.W0)(t);return(new c).initialize(e,s,i,r,1)}static fromOptimizedCIM(t,e,s=1){return(new d).initialize(t,e,s)}static fromJSONCIM(t,e=1){const[s,i]=h(t),r=(0,n.Pv)(t),a=(0,n.W0)(t);return(new p).initialize(s,i,r,a,e)}static fromFeatureSetReader(t){const e=t.readGeometryForDisplay(),s=t.geometryType;return e&&s?this.fromOptimized(e,s):null}static fromFeatureSetReaderCIM(t){const e=t.readGeometryForDisplay(),s=t.geometryType;return e&&s?this.fromOptimizedCIM(e,s):null}static createEmptyOptimized(t,e=!1,s=!1,i=1){return(new d).initialize(new a.A([],[],e,s),t,i)}static createEmptyJSON(t,e=!1,s=!1){return(new c).initialize([],t,e,s,1)}static createEmptyOptimizedCIM(t,e=!1,s=!1,i=1){return(new d).initialize(new a.A([],[],e,s),t,i)}static createEmptyJSONCIM(t,e=!1,s=!1,i=1){return(new p).initialize([],t,e,s,i)}asJSON(){const t=(0,r.x)(this),{hasZ:e,hasM:s}=this;return"esriGeometryEnvelope"===this.geometryType?{xmin:t[0][0][0],ymin:t[0][0][1],xmax:t[0][2][0],ymax:t[0][2][1]}:"esriGeometryMultipoint"===this.geometryType?{points:t.flat(),hasZ:e,hasM:s}:"esriGeometryPoint"===this.geometryType?{x:t[0][0][0],y:t[0][0][1],z:e?t[0][0][2]:void 0,m:s?t[0][0][e?3:2]:void 0}:"esriGeometryPolygon"===this.geometryType?{rings:t,hasZ:e,hasM:s}:{paths:t,hasZ:e,hasM:s}}getCurrentRingArea(){if(this.pathSize<3)return 0;let t,e,s=0;if(this.seekPathStart(),!this.nextPoint())return 0;t=this.x,e=this.y;const i=t,r=e;for(;this.nextPoint();)s+=(t-this.x)*(e+this.y),t=this.x,e=this.y;return s+=(t-i)*(e+r),-.5*s}invertY(){this.yFactor*=-1}}class u extends o{constructor(){super(...arguments),this._end=-1}get hasZ(){return this._geometry?.hasZ}get hasM(){return this._geometry?.hasM}initialize(t,e,s){return this.geometryType=e,this._stride=t.stride,this._geometry=t,this._pathIndex=-1,this._pathOffset=0,this._pointOffset=-this._stride,this._end=-1,this.yFactor=s,this}reset(){this.initialize(this._geometry,this.geometryType,this.yFactor)}seekPath(t){if(t>=0&&t<this.totalSize){if(this._pathIndex<t)for(;this._pathIndex<t&&this.nextPath(););else if(this._pathIndex>t)for(;this._pathIndex>t&&this.prevPath(););return!0}return!1}seekPathStart(){this._pointOffset=this._pathOffset-this._stride}seekPathEnd(){this._pointOffset=this._end}seekInPath(t){const e=this._pathOffset+t*this._stride;return e>=0&&e<this._end&&(this._pointOffset=e,!0)}nextPoint(){return(this._pointOffset+=this._stride)<this._end}prevPoint(){return(this._pointOffset-=this._stride)>=this._pathOffset}nextPath(){return!(this.pathIndex>=this.totalSize-1||(this._pathIndex>=0&&(this._pathOffset+=this._stride*this.pathSize),this._pathIndex++,this._pointOffset=this._pathOffset-this._stride,this._end=this._pointOffset+this._stride+this._stride*this.pathSize,0))}prevPath(){return!(this.pathIndex<=0||(this._pathIndex--,this._end=this._pathOffset,this._pathOffset-=this._stride*this.pathSize,this._pointOffset=this._pathOffset-this._stride,0))}getCurrentPath(){const t=this._end,e=this._geometry.coords,s=this._pathOffset;return(new u).initialize(new a.A([this.pathSize],e.slice(s,t),this.hasZ,this.hasM),this.geometryType,this.yFactor)}pathLength(){const t=this._end,e=this._stride,s=this._geometry.coords;let i=0;for(let r=this._pathOffset+e;r<t;r+=e){const t=s[r-e],n=s[r-e+1],a=s[r]-t,o=s[r+1]-n;i+=Math.sqrt(a*a+o*o)}return i}startPath(){this._geometry.lengths.push(0)}pushPath(t){this.startPath(),this.pushPoints(t)}pushPoint(t){for(let e=0;e<this._stride;++e)this._geometry.coords.push(t[e]);this._geometry.lengths[this.totalSize-1]++}pushXY(t,e){this._geometry.coords.push(t,e),this._geometry.lengths[this.totalSize-1]++}pushPoints(t){for(const e of t)for(let t=0;t<this._stride;++t)this._geometry.coords.push(e[t]);this._geometry.lengths[this.totalSize-1]+=t.length}pushCursor(t){const e=t.asOptimized();this._geometry.coords.push(...e.coords),this._geometry.lengths.push(...e.lengths)}asOptimized(){const t=this._geometry.clone();if(1!==this.yFactor)for(let e=1;e<t.coords.length;e+=this._stride)t.coords[e]*=this.yFactor;return"esriGeometryPoint"===this.geometryType&&(t.lengths.length=0),t}isClosed(){const t=this._geometry.coords,e=this._pathOffset,s=this._end-this._stride;for(let i=0;i<this._stride;i++)if(t[e+i]!==t[s+i])return!1;return!0}clone(){return(new u).initialize(this._geometry.clone(),this.geometryType,this.yFactor)}get totalPoints(){return this._geometry.isPoint?1:this._geometry.lengths.reduce((t,e)=>t+e)}get pathSize(){const{lengths:t}=this._geometry;return this._geometry.isPoint?1:this._pathIndex<0||this._pathIndex>t.length-1?0:t[this._pathIndex]}get totalSize(){return this._geometry.isPoint?1:this._geometry.lengths.length}get x(){return this._geometry.coords[this._pointOffset]}set x(t){this._geometry.coords[this._pointOffset]=t}get y(){return this.yFactor*this._geometry.coords[this._pointOffset+1]}set y(t){this._geometry.coords[this._pointOffset+1]=this.yFactor*t}get z(){return this._geometry.coords[this._pointOffset+2]}set z(t){this._geometry.coords[this._pointOffset+2]=t}get m(){const t=this.hasZ?3:2;return this._geometry.coords[this._pointOffset+t]}set m(t){this._geometry.coords[this._pointOffset+3]=t}get pathIndex(){return this._pathIndex}get _coordIndex(){return this._pointOffset/this._stride}}function l(t){const e=[t.x,t.y];return t.z&&e.push(t.z),t.m&&e.push(t.m),e}function h(t){return(0,n.Bi)(t)?[t.rings,"esriGeometryPolygon"]:(0,n.Rg)(t)?[t.paths,"esriGeometryPolyline"]:(0,n.U9)(t)?[[t.points],"esriGeometryMultipoint"]:(0,n.ZC)(t)?[[[[t.xmin,t.ymin],[t.xmin,t.ymax],[t.xmax,t.ymax],[t.xmax,t.ymin],[t.xmin,t.ymin]]],"esriGeometryEnvelope"]:(0,n.fT)(t)?[[[l(t)]],"esriGeometryPoint"]:[[],"esriGeometryPolyline"]}class c extends o{initialize(t,e,s,i,r){return this._paths=t,this.geometryType=e,this.hasZ=s,this.hasM=i,this._pathIndex=this._pointIndex=-1,this.yFactor=r,this._mIndex=this.hasZ?3:2,this}reset(){this._pathIndex=this._pointIndex=-1}seekPath(t){return this._pathIndex=t,this._pointIndex=-1,t>=0&&t<this.totalSize&&(this._currentPath=this._paths[t],!0)}seekPathStart(){this._pointIndex=-1}seekPathEnd(){this._pointIndex=this._currentPath.length}seekInPath(t){return t>=0&&t<this._currentPath.length&&(this._pointIndex=t,this._currentPoint=this._currentPath[this._pointIndex],!0)}nextPoint(){return this._currentPoint=this._currentPath[++this._pointIndex],this._pointIndex<this._currentPath.length}prevPoint(){return this._currentPoint=this._currentPath[--this._pointIndex],this._pointIndex>=0}nextPath(){return this._pointIndex=-1,this._currentPath=this._paths[++this._pathIndex],this._pathIndex<this.totalSize}prevPath(){return this.pathIndex>0&&(this._pointIndex=-1,this._pathIndex--,this._currentPath=this._paths[this._pathIndex],!0)}pathLength(){const t=this._currentPath.length,e=this._currentPath;let s=0;for(let i=1;i<t;i++){const t=e[i-1],r=e[i],n=t[0],a=t[1],o=r[0]-n,u=r[1]-a;s+=Math.sqrt(o*o+u*u)}return s}startPath(){this._paths.push([])}getCurrentPath(){return(new c).initialize([this._currentPath],this.geometryType,this.hasZ,this.hasM,this.yFactor)}pushPath(t){this._paths.push(t)}pushPoint(t){this._paths[this.totalSize-1].push(t)}pushXY(t,e){this._paths[this.totalSize-1].push([t,e])}pushPoints(t){this._paths[this.totalSize-1].push(...t)}pushCursor(t){const e=(0,r.x)(t);for(const t of e)this.pushPath(t)}asOptimized(){const{hasZ:t,hasM:e}=this,s=new a.A([],[],t,e),{coords:i,lengths:r}=s;if("esriGeometryPoint"===this.geometryType)i.push(...this._paths[0][0]),r.length=0;else for(const s of this._paths){for(const r of s)i.push(r[0]),i.push(r[1]*this.yFactor),t&&i.push(r[2]),e&&i.push(r[this._mIndex]);r.push(s.length)}return s}isClosed(){const t=this._currentPath[0],e=this._currentPath[this._currentPath.length-1];for(let s=0;s<t.length;s++)if(t[s]!==e[s])return!1;return!0}clone(){return(new c).initialize((0,i.o8)(this._paths),this.geometryType,this.hasZ,this.hasM,this.yFactor)}get totalPoints(){return this._paths.map(t=>t.length).reduce((t,e)=>t+e)}get pathSize(){return this._pathIndex<0||this._pathIndex>this.totalSize-1?-1:this._paths[this._pathIndex].length}get totalSize(){return this._paths.length}get x(){return this._currentPoint[0]}set x(t){this._currentPoint[0]=t}get y(){return this.yFactor*this._currentPoint[1]}set y(t){this._currentPoint[1]=this.yFactor*t}get z(){return this._currentPoint[2]}set z(t){this._currentPoint[2]=t}get m(){return this._currentPoint[this._mIndex]}set m(t){this._currentPoint[this._mIndex]=t}get pathIndex(){return this._pathIndex}}class d extends u{initialize(t,e,s){return super.initialize(t,e,s),this._controlPoints||(this._controlPoints=this._controlPoints=new Array(this.totalSize).fill(void 0).map(t=>new Set)),this}startPath(){super.startPath(),this._controlPoints.push(new Set)}clone(){const t=(new d).initialize(this._geometry.clone(),this.geometryType,this.yFactor);return t._controlPoints=this._controlPoints,t}setControlPoint(){this._controlPoints[this.pathIndex].add(this._coordIndex)}getControlPoint(){return this._controlPoints[this.pathIndex].has(this._coordIndex)}setControlPointAt(t){this._controlPoints[this.pathIndex].add(t)}getControlPointAt(t){return this._controlPoints[this.pathIndex].has(t)}}class p extends c{initialize(t,e,s,i,r){return super.initialize(t,e,s,i,r)}clone(){return(new p).initialize((0,i.o8)(this._paths),this.geometryType,this.hasZ,this.hasM,this.yFactor)}setControlPoint(){this._paths[this.pathIndex][this._pointIndex][4]=1}getControlPoint(){return 1===this._paths[this.pathIndex][this._pointIndex][4]}setControlPointAt(t){this._paths[this.pathIndex][t][4]=1}getControlPointAt(t){return 1===this._paths[this.pathIndex][t][4]}}},65864(t,e,s){s.d(e,{rS:()=>h,xD:()=>d});var i=s(5443),r=s(91075),n=s(48526),a=s(86738),o=s(39829),u=s(82799),l=s(60408);function h(t){return null==t?null:t instanceof r.A?t:(0,l.fT)(t)?a.A.fromJSON(t):(0,l.Rg)(t)?u.A.fromJSON(t):(0,l.Bi)(t)?o.A.fromJSON(t):(0,l.U9)(t)?n.A.fromJSON(t):(0,l.ZC)(t)?i.A.fromJSON(t):null}const c={esriGeometryPoint:a.A,esriGeometryPolyline:u.A,esriGeometryPolygon:o.A,esriGeometryEnvelope:i.A,esriGeometryMultipoint:n.A,esriGeometryMultiPatch:o.A};function d(t){return t&&c[t]||null}},78957(t,e,s){s.d(e,{d:()=>h,R:()=>F});class i{constructor(t=r){this._data=[],this._compare=t}get size(){return this._data.length}enqueue(t){if(null==t)return;const{_data:e,_compare:s}=this;e.push(t);let i=e.length-1>>>0;const r=e[i];for(;i>0;){const t=i-1>>1,n=e[t];if(!(s(n,r)<=0))break;e[t]=r,e[i]=n,i=t}}dequeue(){const{_data:t,_compare:e}=this,s=t[0],i=t.pop();if(0===t.length)return s;t[0]=i;let r=0;const n=t.length,a=t[0];let o,u,l=null;for(;;){const s=2*r+1,i=2*r+2;if(l=null,s<n&&(o=t[s],e(o,a)>0&&(l=s)),i<n&&(u=t[i],(null===l&&e(u,a)<=0||null!==l&&e(u,o)<=0)&&(l=i)),null===l)break;t[r]=t[l],t[l]=a,r=l}return s}}const r=(t,e)=>t<e?-1:t>e?1:0;var n=s(19419),a=s(537),o=s(12359),u=s(95108),l=s(12176);function h(t){if(0===t.totalSize)return null;const e=(0,a.z8)(t);if(!e)return null;const s=4*(Math.abs(e[0])+Math.abs(e[2])+Math.abs(e[1])+Math.abs(e[3])+1)*222045e-19;let i=0,r=0;t.reset();for(let e=0;t.nextPath();e++){const s=t.getCurrentRingArea();s>r&&(r=s,i=e)}if(t.seekPath(i),0===t.pathSize)return null;t.seekPathStart();const u=(0,a.B$)(t);if(Math.abs(r)<=2*s*s)return[(u[0]+u[2])/2,(u[1]+u[3])/2];t.seekPathStart();const l=(0,o.w2)(t,(0,n.vt)());if(null===l)return null;if(t.totalPoints<4)return l;const h=[[NaN,NaN],[NaN,NaN],[NaN,NaN],[NaN,NaN]],f=[NaN,NaN,NaN,NaN],m=[NaN,NaN,NaN,NaN];let y=!1,x=d(l,t,!0);0===x.distance&&(y=!0,h[0][0]=l[0],h[0][1]=l[1],x=d(l,t,!1)),f[0]=x.distance,m[0]=0;const F=[NaN,NaN];let S=!1,P=.25,v=-1,I=NaN;do{if(I=NaN,h[1]=p(t,_(u[0],u[2],P),0,e),isNaN(h[1][0])||isNaN(h[1][1])||(x=d(h[1],t,!1),I=x.distance),!isNaN(I)&&I>s&&c(h[1],t))S=!0,f[1]=I,m[1]=g(h[1],l);else if(!isNaN(I)&&I>v&&(v=I,F[0]=h[1][0],F[1]=h[1][1]),P-=.01,P<.1){if(!(v>=0))break;S=!0,f[1]=v,h[1][0]=F[0],h[1][1]=F[1],m[1]=g(h[1],l)}}while(!S);S=!1,P=.5,v=-1;let z=.01,b=1;do{if(I=NaN,h[2]=p(t,_(u[0],u[2],P),0,e),isNaN(h[2][0])||isNaN(h[2][1])||(x=d(h[2],t,!1),I=x.distance),!isNaN(I)&&I>s&&c(h[2],t))S=!0,f[2]=I,m[2]=g(h[2],l);else if(!isNaN(I)&&I>v)v=I,F[0]=h[2][0],F[1]=h[2][1];else if(I>v&&(v=I,F[0]=h[2][0],F[1]=h[2][1]),P=.5+z*b,z+=.01,b*=-1,P<.3||P>.7){if(!(v>=0))break;S=!0,f[2]=v,h[2][0]=F[0],h[2][1]=F[1],m[2]=g(h[2],l)}}while(!S);S=!1,P=.75,v=-1;do{if(I=NaN,h[3]=p(t,_(u[0],u[2],P),0,e),isNaN(h[3][0])||isNaN(h[3][1])||(x=d(h[3],t,!1),I=x.distance),!isNaN(I)&&I>s&&c(h[3],t))S=!0,f[3]=I,m[3]=g(h[3],l);else if(I>v&&(v=I,F[0]=h[3][0],F[1]=h[3][1]),P+=.01,P>.9){if(!(v>=0))break;S=!0,f[3]=v,h[3][0]=F[0],h[3][1]=F[1],m[3]=g(h[3],l)}}while(!S);const R=[0,1,2,3],C=y?0:1;let N;for(let t=C;t<4;t++)for(let t=C;t<3;t++){const e=m[t],s=m[t+1];w(e,s)>0&&(N=R[t],R[t]=R[t+1],R[t+1]=N,m[t]=s,m[t+1]=e)}let q=C,M=0,O=0;for(let t=C;t<4;t++){switch(t){case 0:O=2*f[R[t]];break;case 1:O=1.66666666*f[R[t]];break;case 2:O=1.33333333*f[R[t]];break;case 3:O=f[R[t]]}O>M&&(M=O,q=R[t])}return h[q]}function c(t,e){let s,i,r,n,a=0;for(e.reset();e.nextPath()&&e.nextPoint();)for(s=e.x,i=e.y;e.nextPoint();s=r,i=n)r=e.x,n=e.y,i>t[1]!=n>t[1]&&((r-s)*(t[1]-i)-(n-i)*(t[0]-s)>0?a++:a--);return 0!==a}function d(t,e,s){if(s&&c(t,e))return{coord:t,distance:0};let i=1/0,r=0,n=0,a=[0,0],o=[0,0];const l=[0,0];for(e.reset();e.nextPath()&&e.nextPoint();)if(!(e.pathSize<2))for(a[0]=e.x,a[1]=e.y;e.nextPoint();a=o){o=[e.x,e.y],(0,u.gR)(l,t,a,o);const s=g(t,l);s<i&&(i=s,r=l[0],n=l[1])}return{coord:[r,n],distance:Math.sqrt(i)}}function p(t,e,s,i){const r=[e,0];let a=1/0,o=1/0,u=!1,h=!1;const c=[[e,i[1]-1],[e,i[3]+1]],d=[0,0],p=[0,0],y=[0,0],_=[[0,0],[0,0]],g=(0,n.vt)();for(t.reset();t.nextPath()&&t.nextPoint();)if(!(t.pathSize<2))for(_[0][0]=t.x,_[0][1]=t.y;t.nextPoint();_[0][0]=_[1][0],_[0][1]=_[1][1]){if(_[1][0]=t.x,_[1][1]=t.y,null===f(g,_))continue;if(p[0]=c[0][0],p[1]=c[0][1],y[0]=c[1][0],y[1]=c[1][1],0===m(g,p,y))continue;if(!(0,l.Ql)(c[0],c[1],_[0],_[1],d))continue;const e=d[1];a>o?e<a&&(a=e,u=!0):e<o&&(o=e,h=!0)}return u&&h?r[1]=(a+o)/2:r[0]=r[1]=NaN,r}function f(t,e){if(e.length<2)return null;t||(t=(0,n.vt)());const[s,i]=e[0],[r,a]=e[1];return t[0]=Math.min(s,r),t[1]=Math.min(i,a),t[2]=Math.max(s,r),t[3]=Math.max(i,a),t}function m(t,e,s){let i=y(e,t),r=y(s,t);const n=t[0],a=t[1],o=t[2],u=t[3];if(i&r)return 0;if(!(i|r))return 4;const l=(i?1:0)|(r?2:0);do{const l=s[0]-e[0],h=s[1]-e[1];if(l>h)3&i?(1&i?(e[1]+=h*(n-e[0])/l,e[0]=n):(e[1]+=h*(o-e[0])/l,e[0]=o),i=y(e,t)):3&r?(1&r?(s[1]+=h*(n-s[0])/l,s[0]=n):(s[1]+=h*(o-s[0])/l,s[0]=o),r=y(s,t)):i?(4&i?(e[0]+=l*(a-e[1])/h,e[1]=a):(e[0]+=l*(u-e[1])/h,e[1]=u),i=y(e,t)):(4&r?(s[0]+=l*(a-s[1])/h,s[1]=a):(s[0]+=l*(u-s[1])/h,s[1]=u),r=y(s,t));else if(12&i?(4&i?(e[0]+=l*(a-e[1])/h,e[1]=a):(e[0]+=l*(u-e[1])/h,e[1]=u),i=y(e,t)):12&r?(4&r?(s[0]+=l*(a-s[1])/h,s[1]=a):(s[0]+=l*(u-s[1])/h,s[1]=u),r=y(s,t)):i?(1&i?(e[1]+=h*(n-e[0])/l,e[0]=n):(e[1]+=h*(o-e[0])/l,e[0]=o),i=y(e,t)):(1&r?(s[1]+=h*(n-s[0])/l,s[0]=n):(s[1]+=h*(o-s[0])/l,s[0]=o),r=y(s,t)),i&r)return 0}while(i|r);return l}function y(t,e){return(t[0]<e[0]?1:0)|(t[0]>e[2]?1:0)<<1|(t[1]<e[1]?1:0)<<2|(t[1]>e[3]?1:0)<<3}function _(t,e,s){return t+(e-t)*s}function g(t,e){return(t[0]-e[0])*(t[0]-e[0])+(t[1]-e[1])*(t[1]-e[1])}function w(t,e){if(t<e)return-1;if(t>e)return 1;if(t===e)return 0;const s=isNaN(t),i=isNaN(e);return s<i?-1:s>i?1:0}class x{constructor(t,e,s,i){this.x=t,this.y=e,this.cellSize=s,this.distancefromCellCenter=(0,u.Xf)(t,e,i),this.maxDistanceToPolygon=this.distancefromCellCenter+this.cellSize*Math.SQRT2}}function F(t){if(!t.nextPath()||!t.pathSize)return null;const e=(0,a.B$)(t),s=e[2]-e[0],r=e[3]-e[1];if(0===s||0===r)return[e[0]+s/2,e[1]+r/2];const n=Math.max(Math.min(s,r)/100,1),u=new i((t,e)=>e.maxDistanceToPolygon-t.maxDistanceToPolygon),l=Math.min(s,r);let h=l/2,c=0,d=0;for(c=e[0];c<e[2];c+=l)for(d=e[1];d<e[3];d+=l)u.enqueue(new x(c+h,d+h,h,t));t.reset(),t.nextPath();const p=(0,o.IK)(t);if(null===p)return null;let f,m=new x(p[0],p[1],0,t);for(;u.size>0;)f=u.dequeue(),f.distancefromCellCenter>m.distancefromCellCenter&&(m=f),f.maxDistanceToPolygon-m.distancefromCellCenter<=n||(h=f.cellSize/2,u.enqueue(new x(f.x-h,f.y-h,h,t)),u.enqueue(new x(f.x+h,f.y-h,h,t)),u.enqueue(new x(f.x-h,f.y+h,h,t)),u.enqueue(new x(f.x+h,f.y+h,h,t)));return[m.x,m.y]}},62815(t,e,s){s.d(e,{N:()=>o,d:()=>u});var i=s(86211),r=s(73941),n=s(21325),a=s(52006);function o(t,e,s){const i=u(e,s);if(1!==i)switch(t){case"point":case"esriGeometryPoint":return t=>function(t,e){null!=t?.z&&(t.z*=e)}(t,i);case"polyline":case"esriGeometryPolyline":return t=>function(t,e){if(t){if(t.curvePaths)for(const s of t.curvePaths)for(const t of s){const s=(0,a.yP)(t);s.length>2&&(s[2]*=e)}if(t.paths)for(const s of t.paths)for(const t of s)t.length>2&&(t[2]*=e)}}(t,i);case"polygon":case"esriGeometryPolygon":return t=>function(t,e){if(t){if(t.curveRings)for(const s of t.curveRings)for(const t of s){const s=(0,a.yP)(t);s.length>2&&(s[2]*=e)}if(t.rings)for(const s of t.rings)for(const t of s)t.length>2&&(t[2]*=e)}}(t,i);case"multipoint":case"esriGeometryMultipoint":return t=>function(t,e){if(t)for(const s of t.points)s.length>2&&(s[2]*=e)}(t,i);case"extent":case"esriGeometryEnvelope":return t=>function(t,e){t&&null!=t.zmin&&null!=t.zmax&&(t.zmin*=e,t.zmax*=e)}(t,i);default:return}}function u(t,e){return null==t||null==e||(0,n.aI)(t,e)||(0,r.xP)(t)||(0,r.xP)(e)?1:(0,i.G9)(t)/(0,i.G9)(e)}},24460(t,e,s){function i(t){const{minValue:e,maxValue:s,numValues:i,nullCount:r,distinctCount:n}=t;return null!=i&&r===i?{type:"null-only",nullCount:r,distinctCount:n}:"number"==typeof e&&Number.isFinite(e)&&"number"==typeof s&&Number.isFinite(s)&&e<=s?{type:"bounds",minValue:e,maxValue:s,nullCount:r,distinctCount:n}:null!=e||null!=s||null!=n||null!=r?{type:"unknown",nullCount:r,distinctCount:n}:null}function r(t){const e=new Map;for(const s of t.files){const t=n(s);e.set(s.name,t)}return e}function n(t){const e=new Map;for(const s of t.statistics??[]){const t=s.column.at(-1);if(null==t)continue;const r=i({minValue:s.minValue,maxValue:s.maxValue,numValues:null,nullCount:s.nullCount??0,distinctCount:s.distinctCount??null});null!=r&&e.set(t,r)}return new o(0,0,e)}function a(t){const e=t.minValue(),s=t.maxValue(),r=t.numValues(),n=t.distinctCount()??null;return i({minValue:e,maxValue:s,numValues:r,nullCount:t.nullCount()??null,distinctCount:n})}s.d(e,{Hk:()=>a,MB:()=>o,t8:()=>r});class o{static fromFile(t){const e=t.numRows(),s=t.byteLength(),i=new Map;for(const e of t.getColumnDescriptors()){const t=a(e);null!=t&&i.set(e.name(),t),e.free()}return new o(e,s,i)}constructor(t,e,s){this.rowCount=t,this.byteSize=e,this.statistics=s}}},95031(t,e,s){s.d(e,{M:()=>P});var i=s(56507),r=s(32198),n=s(49186),a=s(65529),o=s(44208),u=s(563),l=s(84952),h=s(53929),c=s(24460);class d{static async create(t,e,s,i,r){if(!r){const r=await(0,h.DV)(s,{geometryInfo:t,provider:e}),n=c.MB.fromFile(r);return new d(t,e,s,i,n,Promise.resolve(r))}return new d(t,e,s,i,r,null)}constructor(t,e,s,i,r,n){this._geometryInfo=t,this._provider=e,this.url=s,this.id=i,this.statistics=r,this._file=n}destroy(){null!=this._file&&this._file.then(t=>t.free())}get file(){return null==this._file&&(this._file=(0,h.DV)(this.url,{geometryInfo:this._geometryInfo,provider:this._provider})),this._file}async getDiagnosticsSnapshot(){return{...(await this.file).diagnosticsSnapshot(),fileId:this.id,fileName:this.url}}async getColumnIndex(t,e){return(await this.file).columnIndex(t,e)}async getOffsetIndex(t,e){return(await this.file).offsetIndex(t,e)}}const p="_spatial.json",f=new u.QueueProcessor({concurrency:12,process:async t=>{const{data:e}=await(0,i.A)(t.url,t.options);return e}});let m=1;class y{constructor(t,e=()=>{}){this._geometryInfo=t,this._getCustomParameters=e,this.events=new a.bk}async destroy(){await this.clear()}async clear(){if(this._infos){const t=await this._infos;for(const e of t.values())e.destroy();t.clear(),this._infos=null}}async getMetadata(){const t={stack:[],error:void 0,hasError:!1};try{const e=(await this._getParquetFileNames()).at(0);if(!e)return null;const s=(0,r.mS)(t,await(0,h.DV)(e,{provider:this}),!1);return(0,h._6)(s)}catch(e){t.error=e,t.hasError=!0}finally{(0,r.hk)(t)}}getGeometryInfo(){return this._geometryInfo}async getFiles(){const t=await this._getInfoMap();return Array.from(t.values())}async updateGeometryInfo(t){if(this._geometryInfo)throw new Error("GeometryInfo already set");await this.clear(),this._geometryInfo=t}async fetchLength(t){const{byteLength:e,cacheTag:s}=await this._fetchLengthAndTag(t);if(!(0,o.A)("parquetlayer-cache-enabled"))return e;try{await this._createOrResetCache(t,s)}catch(t){}return e}async fetchRange(t,e,s,i){const r={fileId:t,requestId:m++,range:{start:e,end:s+1}};this.events.emit("rangeRead",{...r,phase:"start"});try{const n=await this._fetchRangeWithCache(t,e,s,i);return this.events.emit("rangeRead",{...r,phase:"complete"}),n}catch(t){throw this.events.emit("rangeRead",{...r,phase:"error"}),t}}_getCacheFileName(t){return t}async _requestStatistics(t){const{data:e}=await(0,i.A)(t,{responseType:"json",query:this._getCustomParameters()});return e}async _fetchRange(t,e,s,i){const r={url:t,options:{responseType:"array-buffer",query:this._getCustomParameters()??{},cacheMode:"no-store",useQueue:!0,headers:{range:`bytes=${e}-${s}`}}},a=await f.push(r),o=s-e+1;if(a.byteLength!==o)throw new n.A("InvalidRangeRequest",`request returned ${a.byteLength} bytes for range ${e}-${s}, expected ${o}.`);return a}async _fetchLengthAndTag(t){if((0,l.w8)(t)){const{data:e}=await(0,i.A)(t,{responseType:"blob"});return{byteLength:e.size,cacheTag:null}}const e=await this._requestHead(t),s=e.headers.get("Content-Length");if(null==s)throw new Error("Unable to parse content length");const r=e.headers.get("etag")??e.headers.get("Last-Modified");return{byteLength:parseInt(s,10),cacheTag:r}}async _getInfoMap(){return this._infos||(this._infos=this._fetchParquetFiles()),this._infos}async _updateParquetFileInfos(t){const e=await this._getInfoMap(),s=new Set(t);for(const t of s)if(!e.get(t)){const s=e.size,i=await d.create(this.getGeometryInfo(),this,t,s,null);e.set(t,i)}for(const t of e.keys())if(!s.has(t))throw new Error("Deletion not supported")}async _getFileStatistics(t){this._statistics||(this._statistics=this._fetchStatistics());const e=await this._statistics,s=function(t){return t.split(/[?#]/)[0].split("/").at(-1)??t}(t);return e.get(s)}async _fetchParquetFiles(){const t=(await this._getParquetFileNames()).map(async(t,e)=>{const s=e,i=await this._getFileStatistics(t);return d.create(this.getGeometryInfo(),this,t,s,i)}),e=await Promise.all(t),s=new Map;for(const t of e)s.set(t.url,t);return s}async _fetchStatistics(){const t=await this._getStatisticsFileName();if(null==t)return new Map;const e=await this._resolveFileUrl(t),s=await this._requestStatistics(e);return(0,c.t8)(s)}async _requestHead(t){const{data:e}=await(0,i.A)(t,{responseType:"native",method:"head",query:this._getCustomParameters()});return e}async _openCache(t){return caches.open(this._getCacheName(t))}async _fetchRangeWithCache(t,e,s,i){if(!(0,o.A)("parquetlayer-cache-enabled"))return this._fetchRange(t,e,s,i);const r=new URL(this._getCacheFileName(t));r.searchParams.append("range",`${e}-${s}`);try{const n=await this._openCache(t),a=await n.match(r);if(a)return await a.arrayBuffer();const o=await this._fetchRange(t,e,s,i);return await n.put(r,new Response(o,{headers:{"Content-Type":"application/octet-stream","Content-Length":o.byteLength.toString()}})),o}catch(r){return this._fetchRange(t,e,s,i)}}_getCacheName(t){return`parquet.v1:${this._getCacheFileName(t)}`}async _createOrResetCache(t,e){const s=this._getCacheName(t),i=new URL(this._getCacheFileName(t));if(i.searchParams.append("metadata","true"),null==e)return void await caches.delete(s);let r=await caches.open(s);const n=await r.match(i),a=await(n?.json());a?.tag!==e&&(await caches.delete(s),r=await caches.open(s));const o=JSON.stringify({tag:e});await r.put(i,new Response(o,{headers:{"Content-Type":"application/json","Content-Length":o.length.toString()}}))}}function _(t){const e=t.split(/[?#]/)[0];return e===p||e.endsWith(p)}var g=s(39131);class w extends y{constructor(t,e,s){super(e,s),this._schema=t,this._isAgol=!!(0,g.py)(this._schema.itemUrl)}async update(t){throw new Error("Unsupported")}async _getParquetFileNames(){return[`${this._baseUrl}/data`]}async _getStatisticsFileName(){return null}_getCacheFileName(t){return`${this._baseUrl}/data`}async _resolveFileUrl(t){return this._resolvedUrl||(this._resolvedUrl=this._fetchResolvedUrl()),this._resolvedUrl}async _fetchLengthAndTag(t){const e=await super._fetchLengthAndTag(t);return e.cacheTag=this._schema.modified.getTime().toString(),e}async _fetchRange(t,e,s,i){try{const r=await this._resolveFileUrl(t);return await super._fetchRange(r,e,s,i)}catch{this._resolvedUrl=null}const r=await this._resolveFileUrl(t);return super._fetchRange(r,e,s,i)}get _baseUrl(){return this._schema.itemCdnUrl??this._schema.itemUrl}async _fetchResolvedUrl(){return this._isAgol?(await(0,i.A)(`${this._baseUrl}/data`,{query:{signedurl:!0,expiration:9,f:"json"}})).data.signedUrl:`${this._baseUrl}/data`}}var x=s(47828);class F extends y{constructor(t,e,s){super(e,s),this._schema=t,this._directoryChanged=!1}get _baseUrl(){return this._schema.itemCdnUrl??this._schema.itemUrl}async update(t){throw new Error("Unsupported")}async _getParquetFileNames(){const t=await this._getResources();return Array.from(t.keys()).filter(t=>t.endsWith(".parquet"))}async _getStatisticsFileName(){const t=await this._getResources();return Array.from(t.keys()).find(_)??null}_getCacheFileName(t){return`${this._baseUrl}/resources/${t}`}async _resolveFileUrl(t){const e=await this._getResource(t);return e.signedUrl?e.signedUrl:`${this._baseUrl}/resources/${t}`}async _fetchLengthAndTag(t){const e=await this._getResource(t),s=this._schema.itemMetadata.modified.getTime().toString();return{byteLength:e.size,cacheTag:s}}async _fetchRange(t,e,s,i){if(this._directoryChanged)throw(0,x.O)();try{const r=await this._resolveFileUrl(t);return await super._fetchRange(r,e,s,i)}catch{if("directory-changed"===await this._refetchResources())throw(0,x.O)()}const r=await this._resolveFileUrl(t);return super._fetchRange(r,e,s,i)}_refetchResources(){return this._directoryChanged?Promise.resolve("directory-changed"):(this._updateResourcesPromise||(this._updateResourcesPromise=this._executeRefetchResources().finally(()=>{this._updateResourcesPromise=null})),this._updateResourcesPromise)}async _executeRefetchResources(){return await this._refetchPortalItemMetadata()?(this.events.emit("sourceChanged"),this._directoryChanged=!0,"directory-changed"):(this._resources=this._fetchResources(),"ok")}async _refetchPortalItemMetadata(){const t=this._schema.itemMetadata.url,e=await(0,i.A)(this._schema.itemUrl,{responseType:"json",query:{f:"json"}}),{modified:s,url:r}=e.data;if(null==r)throw new Error("Portal item metadata must have a url defined.");if(null==s)throw new Error("Portal item metadata must have a modified timestamp defined.");return this._schema.itemMetadata={modified:new Date(s),url:r},t!==r}async _getResources(){return this._resources||(this._resources=this._fetchResources()),await this._resources}async _getResource(t){const e=(await this._getResources()).get(t);if(!e)throw new Error(`Resource ${t} not found.`);return e}async _fetchResources(){const t=new Map;let e=1;const s=function(t){const e=t.split("/").filter(Boolean),s=e.indexOf("resources");if(-1===s||s===e.length-1)throw new Error(`URL does not contain a resources directory name: ${t}`);return`${e.slice(s+1).map(t=>decodeURIComponent(t)).join("/")}/`}(this._schema.itemMetadata.url);for(;-1!==e;){const r=await(0,i.A)(`${this._baseUrl}/resources`,{query:{f:"json",start:e,num:100}});for(const e of r.data.resources)e.resource.startsWith(s)&&t.set(e.resource,e);e=r.data.nextStart}return t}}class S extends y{constructor(t,e=null,s=()=>{}){super(e,s),this._schema=t}async update(t){await this._updateParquetFileInfos(await this._getParquetFileNames()),this._schema=t}async _resolveFileUrl(t){return t}async _getParquetFileNames(){return this._schema.urls.filter(t=>!t.endsWith(".json"))}async _getStatisticsFileName(){return this._schema.urls.find(_)??null}}function P(t,e,s){switch(t.type){case"urls":return new S(t,e,s);case"portal-parquet-file":return new w(t,e,s);case"portal-parquet-layer":return new F(t,e,s)}}},6557(t,e,s){s.r(e),s.d(e,{default:()=>V});var i=s(32198),r=s(21818),n=s(49186),a=s(71511),o=s(44208),u=s(53966),l=s(17676),h=s(563),c=s(39516),d=s(86211),p=s(16930),f=s(70328),m=s(19419),y=s(21325),_=s(53929),g=s(90708),w=s(29441),x=s(75752),F=s(99352),S=s(8384),P=s(58727),v=s(95031),I=s(24460),z=s(64714),b=s(17754),R=s(20437),C=s(95466),N=s(30524),q=s(50639),M=s(42760),O=s(76248),A=s(30661),T=s(28923),E=s(44320),G=s(35258),k=s(16630);const U=new A.Z,Z="__OBJECTID",D=8e3;class B{constructor(t,e){this._files=t,this._createFileStream=e,this._fileIndex=0,this._streamIndex=0,this._streams=[],this._pending=new Set,this._resolvedCount=0}async next(t){for(await this._fill(t);this._pending.size>0;){(0,l.Te)(t),await this._fill(t);const e=await L(this._pending);if(this._pending.delete(e.read),this._resolvedCount++,null!=e.chunk)return e.chunk}return null}async _fill(t){for(this._removeDone();this._pending.size<8;){const e=this._getOrCreateNextStream(t);if(null==e)return;this._pending.add(e.read(t))}}_getOrCreateNextStream(t){const e=this._resolvedCount>=8?8:2;if(this._fileIndex<this._files.length&&this._streams.length<e){const e=this._files[this._fileIndex++],s=new Q(e.id,this._createFileStream(e,t));return this._streams.push(s),s}return this._getNextStream()}_getNextStream(){const t=this._streams.length;for(let e=0;e<t;e++){const s=(this._streamIndex+e)%t,i=this._streams[s];if(i.canRead)return this._streamIndex=(s+1)%t,i}return null}_removeDone(){let t=this._streamIndex;for(let e=this._streams.length-1;e>=0;e--)this._streams[e].done&&(this._streams.splice(e,1),e<t&&t--);this._streamIndex=this._streams.length>0?t%this._streams.length:0}}function L(t){return Promise.race(Array.from(t,async t=>({read:t,chunk:await t})))}class Q{constructor(t,e){this._fileId=t,this._stream=e,this._readCount=0,this._reachedEnd=!1}get canRead(){return!this._reachedEnd}get done(){return this._reachedEnd&&0===this._readCount}async read(t){this._readCount++;try{const e=await this._stream,s=await e.next(t);return null==s?(this._reachedEnd=!0,null):{fileId:this._fileId,chunk:s}}finally{this._readCount--}}}class V{constructor(){this._hasZ=!1,this._hasM=!1,this._queue=new h.QueueProcessor({concurrency:4,process:(t,e)=>this._executeQuery(t,e)}),this._streams=new Map,this._streamIdCounter=0,this._indexMap={},this._handles=new a.A}async load(t){const e=t.spatialReference?p.A.fromJSON(t.spatialReference):void 0;if(e&&!e.isWGS84&&!e.isWebMercator)throw new n.A("parquet:unsupported-projection","Only WGS84 and Web Mercator are supported");this._customParameters=t.customParameters,this._loadParameters=t,await this._updateProvider((0,v.M)(t.provider,null,()=>this._customParameters));const s=await this._provider.getMetadata(),i=await(0,M.nc)(s,{fields:t.fields?.map(t=>R.A.fromJSON(t)),geometryEncoding:t.geometryEncoding?(0,q.G)(t.geometryEncoding):null,geometryType:t.geometryType?(0,M.hG)(t.geometryType):null,displayOptimization:t.displayOptimization,spatialReference:e});if(this._hasZ=!!s?.hasZ,this._hasM=!!s?.hasM,!i.fields)throw new n.A("parquet:unsupported","Fields must be defined");let r;if(i.spatialReference&&i.geometryType){if(!i.spatialReference)throw new n.A("parquet:unsupported","SpatialReference must be defined");if(!i.spatialReference.isGeographic&&!i.spatialReference.isWebMercator)throw new n.A("parquet:unsupported-projection","Only WGS84 and Web Mercator are supported");i.spatialReference.isGeographic&&!i.spatialReference.isWGS84&&(u.A.getLogger("parquet:unsupported-projection").warn("Found a geographic projection that is not WGS84. Handling as WGS84.",{spatialReference:i.spatialReference}),i.spatialReference=p.A.WGS84),r={geometry:i.geometryEncoding?{geometryType:(0,M.sA)(i.geometryType),spatialReference:i.spatialReference.toJSON(),encoding:i.geometryEncoding.toJSON()}:null,displayOptimization:i.displayOptimization}}this.setCustomParameters(t.customParameters),this._displayOptimization=i.displayOptimization,await this._provider.updateGeometryInfo(r),this._capabilities=it(await this._getFileStatistics(),this._hasZ,this._hasM);const a=await this._provider.getFiles();if(!a.length)return{layerDefinition:{},capabilities:it(null,this._hasZ,this._hasM)};const o=await a[0].file;i.file=o;const{fields:l}=i;if(null==l)throw new n.A("parquet-layer:missing-metadata","Unable to create parquet source: cannot infer fields",l);l.push(new R.A({name:Z,type:"oid",alias:Z}));for(const t of l){const e=o.getColumnId(t.name);null!=e&&(this._indexMap[t.name]=e)}const h=new C.A(l.map(t=>t.toJSON()));this._fieldsIndex=h;const c=(0,M.sA)(i.geometryType??"point");return this._metadata=G.i.createFeature({fieldsIndex:h.toJSON(),geometryType:c,hasZ:this._hasZ,hasM:this._hasM,featureIdInfo:{type:"object-id",fieldName:Z},subtypes:null,subtypeField:null,types:null,typeIdField:null,globalIdField:null,spatialReference:i.spatialReference,outSpatialReference:null,attributeSpatialReference:null,timeInfo:null,timeReferenceUnknownClient:null,dateFieldsTimeZone:null}),this._queryEngineParams={fieldsIndex:this._metadata.fieldsIndex,geometryType:c,featureIdInfo:{type:"object-id",fieldName:Z},hasM:this._hasM,hasZ:this._hasZ,spatialReference:i.spatialReference?.toJSON()??{wkid:4326},aggregateAdapter:null,timeInfo:null,definitionExpression:null},this._fullExtent=s?.extent?s.extent:await this._tryDeriveParquetFullExtent(i),{capabilities:this._capabilities,layerDefinition:{fields:i.fields?.map(t=>t.toJSON()),drawingInfo:(0,z.F0)(c),extent:this._fullExtent??void 0,geometryType:c,geometryEncoding:i.geometryEncoding?.toJSON(),displayOptimization:i.displayOptimization}}}destroy(){this._provider.destroy(),this._queue.destroy();for(const{handle:t}of this._streams.values())t.remove();this._streams.clear(),this._indexMap={},this._handles.removeAll()}async reload(t){this.destroy(),await this.load(t)}set remoteClient(t){this._source=t.createInvokeProxy("")}setCustomParameters(t){this._customParameters=t}getIndexMap(){return this._indexMap}async updateFileProvider(t){this._loadParameters={...this._loadParameters,provider:t};const e=(0,v.M)(t,this._provider.getGeometryInfo(),()=>this._customParameters);await this._updateProvider(e)}async getDiagnosticsSnapshot(){const t=await this._provider.getFiles();return{files:await Promise.all(t.map(t=>t.getDiagnosticsSnapshot()))}}async getColumnIndex(t){return(await this._getFileInfoById(t.fileId)).getColumnIndex(t.rowGroupIndex,t.columnIndex)}async getOffsetIndex(t){return(await this._getFileInfoById(t.fileId)).getOffsetIndex(t.rowGroupIndex,t.columnIndex)}async queryFeatures(t,e){const s=await(0,P.T2)(t,null,this._queryEngineParams.spatialReference);return this._validateQuery(s),function(t){return!!(t.objectIds?.length||t.outStatistics||t.orderByFields?.length||t.returnDistinctValues)}(s)||(s.resultRecordCount=s.resultRecordCount?Math.min(s.resultRecordCount,D):D,s.resultOffset=s.resultOffset??0),s.outStatistics?this._queryStatistics(s,e):(s.returnDistinctValues&&(s.returnGeometry=void 0),(await this._enqueueQuery(s,e)).createQueryResponse())}async queryFeatureCount(t,e){const s=await(0,P.T2)(t,null,this._queryEngineParams.spatialReference);return this._validateQuery(s),J(s)?(s.outFields=void 0,s.returnGeometry=void 0,(await this._enqueueQuery(s,e)).createQueryResponseForCount()):this._getFeatureCount()}async queryObjectIds(t,e){const s=await(0,P.T2)(t,null,this._queryEngineParams.spatialReference);return this._validateQuery(s),J(s)?(s.resultRecordCount=s.resultRecordCount?Math.min(s.resultRecordCount,8e3):8e3,s.resultOffset=s.resultOffset??0,s.returnGeometry=void 0,s.outFields=void 0,(await this._enqueueQuery(s,e)).items.map(t=>t.getObjectId())):Array.from({length:await this._getFeatureCount()},(t,e)=>e)}async queryAttributeBins(t,e={}){throw new n.A("parquet:unsupported","queryAttributeBins not supported.")}async queryExtent(t,e){const s=await(0,P.T2)(t,null,this._queryEngineParams.spatialReference);if(this._validateQuery(s),this._fullExtent&&!J(s))return{count:await this._getFeatureCount(),extent:this._fullExtent};const i=(0,r.z)(this._metadata.spatialReference);s.returnGeometry=!0,s.outFields=void 0;const n=(0,f.hZ)((0,f.vt)(),f.qv),a=(0,f.vt)(),o=await this._enqueueQuery(s,e);let u=0;for(const t of o.items)t.getBounds(a)&&((0,f.RF)(n,a),u+=1);return{count:u,extent:(0,x.Wc)(n,i,s.outSR?(0,r.z)(s.outSR):i.toJSON(),i,!1)}}async queryStream(t,e){if(!e.signal)throw new Error("InternalError: AbortSignal must be passed");const s=await this._getCandidateFiles(t),i=new B(s,async(e,s)=>{const i=await e.file,r=await this._createParquetDisplayQuery(i,e.id,t);return i.executeQuery(r,D,s)}),r=this._streamIdCounter++,n=(0,l.NY)(e.signal,t=>{const e=this._streams.get(r);null!=e&&(e.handle.remove(),this._streams.delete(r))});return this._streams.set(r,{stream:i,handle:n}),r}async getStreamNext(t,e){if(!e.signal)throw new Error("InternalError: AbortSignal must be passed");const s=this._streams.get(t);if(!s)return{result:null};const i=await s.stream.next(e.signal);if(null==i)return s.handle.remove(),this._streams.delete(t),{result:null};const r=i.chunk.serialize().buffer,n={fileId:i.fileId,buffer:r};return r instanceof ArrayBuffer?{result:n,transferList:[r]}:{result:n}}async getStreamNextFeatures(t,e){const{result:s}=await this.getStreamNext(t,e);if(null==s)return null;const i=(await(0,O.N)()).ParquetChunk.deserialize(new Uint8Array(s.buffer)),r=new k.s(this._metadata,this._indexMap,i,s.fileId),n=[];for(;r.next();){const t=(0,g.zv)(r.readGeometryWorldSpace(),r.geometryType,r.hasZ,r.hasM),e=r.readAttributes();n.push({attributes:e,geometry:t})}return{features:n}}async createPatch(t,e,s,i,r){if(!r.signal)throw new Error("InternalError: AbortSignal must be passed");const n=await this._getFileInfoById(t),a=await n.file;return(await a.createChunkPatch(e,s,i,r.signal)).serialize().buffer}async _updateProvider(t){const e=this._provider;this._handles.removeAll(),this._provider=t,this._handles.add([t.events.on("rangeRead",t=>{this._source.onRangeRead(t)}),t.events.on("sourceChanged",async()=>{await this.reload(this._loadParameters),await this._source.onSourceChange()})]),await(e?.destroy())}async _getCandidateFiles(t){const e=await this._provider.getFiles(),s=await this._getSpatialFilePruning(t);if(null==s)return e;const i=e.filter(t=>this._mayIncludeFileForSpatialPruning(t,s));return"xz"===s.type?function(t,e){return t.slice().sort((t,s)=>{const i=st(t,e),r=st(s,e);return i===r?0:i<r?-1:1})}(i,s):i}async _queryStatistics(t,e){const s=await(0,P.T2)({...t},null,this._queryEngineParams.spatialReference);if(s.returnGeometry=void 0,function(t,e){return!!t.outStatistics?.length&&!J(t)&&!t.groupByFieldsForStatistics?.length&&!t.orderByFields?.length&&!t.returnDistinctValues&&!t.returnAggIds&&t.outStatistics.every(t=>function(t,e){switch(t.statisticType){case"count":return"1"===t.onStatisticField||null!=e.get(t.onStatisticField);case"min":case"max":{const s=e.get(t.onStatisticField);return null!=s&&(0,N.WA)(s)}default:return!1}}(t,e))}(s,this._fieldsIndex)){const t=await this._getStatisticsFromFiles(s);if(t)return t}return(await this._enqueueQuery(s,e)).createQueryResponse()}async _getStatisticsFromFiles(t){const e=await this._provider.getFiles(),s={},i=[];for(const r of t.outStatistics??[]){const t=X(r,e);if(!t.available)return null;s[r.outStatisticFieldName]=t.value,i.push(H(r,this._fieldsIndex))}return{fields:i,features:[{attributes:s}]}}async _getSpatialFilePruning(t){if("tile"!==t.type&&("arcade"!==t.type||null==t.extent))return null;const e=this._displayOptimization,s=e?.index;if(null==s)return null;const i=t.outSpatialReference.wkid;if(null==s.wkid||null==i)return null;const r=s.wkid,n=await(0,O.N)();switch(s.type){case"xz":return{type:"xz",fieldName:(0,_.FG)(s.code),intersects:(e,a)=>n.queryIntersectsXZStatistics(s.fullExtent,t.extent,i,r,s.maxLevel,e,a)};case"z":return{type:"xy",xFieldName:(0,_.FG)(s.xColumn),yFieldName:(0,_.FG)(s.yColumn),intersects:(e,s,a,o)=>n.queryIntersectsXYStatistics(t.extent,i,r,e,s,a,o)}}}_mayIncludeFileForSpatialPruning(t,e){switch(e.type){case"xz":{const s=et(t,e);return"null-only"!==s?.type&&("bounds"!==s?.type||e.intersects(s.minValue,s.maxValue))}case"xy":{const s=t.statistics.statistics.get(e.xFieldName),i=t.statistics.statistics.get(e.yFieldName);return"null-only"!==s?.type&&"null-only"!==i?.type&&("bounds"!==s?.type||"bounds"!==i?.type||e.intersects(s.minValue,s.maxValue,i.minValue,i.maxValue))}}}async _tryDeriveParquetFullExtent(t){if(!t.spatialReference)return null;if(null==this._fullExtent&&"location"===t.geometryEncoding?.type){const e=await this._provider.getFiles(),{xField:s,yField:r}=t.geometryEncoding,n=(0,f.hZ)((0,f.vt)(),f.qv);let a=!1;for(const t of e){const e=await t.file;for(const t of e.rowGroups()){const e={stack:[],error:void 0,hasError:!1};try{const o=(0,i.mS)(e,t.columnDescriptorForAttribute(s),!1),u=(0,i.mS)(e,t.columnDescriptorForAttribute(r),!1),l=(0,I.Hk)(o),h=(0,I.Hk)(u);if("bounds"===l?.type&&"bounds"===h?.type){const t=[l.minValue,h.minValue,l.maxValue,h.maxValue];(0,f.DC)(n,t),a=!0}t.free()}catch(t){e.error=t,e.hasError=!0}finally{(0,i.hk)(e)}}}return a?{xmin:n[0],ymin:n[1],xmax:n[3],ymax:n[4],spatialReference:t.spatialReference?.toJSON()}:null}return null}async _getFileInfoById(t){const e=await this._provider.getFiles();for(const s of e)if(s.id===t)return s;throw new Error(`InternalError: File ${t} does not exist`)}async _getFileStatistics(){return{featureCount:await this._getFeatureCount(),byteLength:await this._getByteLength()}}async _getFile(t){return(await this._getFileInfoById(t)).file}async _createParquetQuery(t,e,s,i,r){const n=(await(0,O.N)()).Query.new();null!=s&&n.setPreFilterStart(s),null!=i&&n.setPreFilterCount(i),null!=r&&n.setPostFilterCount(r);const a=await this._getRequiredFields(t);n.setOutFields(a),(t.geometry||t.returnGeometry)&&n.setReturnGeometry(!0),n.setReturnZ(!!t.returnZ),n.setReturnM(!!t.returnM);const o=this._tryGetGeneralizedGeometryResolution(t);null!=o&&n.setSourceResolution(o);const u=t.geometry?.spatialReference??this._queryEngineParams.spatialReference,l=u.wkid;if(t.geometry&&((0,y.K8)(u)||(0,y.oT)(u))){const e=(0,m.C)((0,m.vt)(),m.qv);for(const s of(0,x.qo)(t.geometry))(0,m.DC)(e,s);n.setOutSpatialReference(l),n.setExtent({xmin:e[0],ymin:e[1],xmax:e[2],ymax:e[3]})}if(t.where){const{id:s,file:i}=e;await this._setWhereClause(n,await i,s,t.where)}return n}async _createParquetDisplayQuery(t,e,s){const i=(await(0,O.N)()).Query.new();if("tile"===s.type){i.setExtent(s.extent),i.setQuantizationTransform(s.transform);const t=this._sourceResolution(s.resolution,s.outSpatialReference);null!=t&&i.setSourceResolution(t)}else"arcade"===s.type&&null!=s.extent&&i.setExtent(s.extent);return i.setOutFields(s.outFields.filter(t=>null!=this._indexMap[t])),i.setOutSpatialReference(s.outSpatialReference.wkid),i.setReturnGeometry(s.returnGeometry),i.setReturnZ(s.returnZ),i.setReturnM(s.returnM),s.where&&await this._setWhereClause(i,t,e,s.where),i}async _getFeatureCount(){return(await this._provider.getFiles()).map(t=>t.statistics.rowCount).reduce((t,e)=>t+e,0)}async _getByteLength(){return(await this._provider.getFiles()).map(t=>t.statistics.byteSize).reduce((t,e)=>t+e,0)}_validateQuery(t){if(!this._capabilities.query.supportsStatistics&&t.outStatistics)throw new n.A("parquet:unsupported","Statistics queries are not supported",{query:t});if(!this._capabilities.query.supportsOrderBy&&t.orderByFields?.length)throw new n.A("parquet:unsupported","Queries using orderBy are not supported",{query:t});if(!this._capabilities.query.supportsDistinct&&t.returnDistinctValues)throw new n.A("parquet:unsupported","Queries using returnDistinctValues are not supported",{query:t})}async _setWhereClause(t,e,s,i){const r=this._indexMap,a=this._fieldsIndex,o={getAttribute(t,i){const n=r[i];if(null==n){const e=a.get(i);if("__OBJECTID"===e?.name){const e=t.row+t.rowGroupStart;return(0,b.xb)(s,e)}return null}const o=a.get(i);return(0,_.LC)(e,t.rowGroup,t.row,n,o.type)}},u=await(0,c.GP)(i,this._fieldsIndex);if(!u.isStandardized)throw new n.A("sql-parse-error","expression is not standardized");const l=u.fieldNames.map(t=>a.get(t)).filter(t=>t&&null!=this._indexMap[t?.name]);t.setWhere(i),t.setWhereEvaluator((t,e,s)=>u.testFeatureCompiled({rowGroup:t,row:e,rowGroupStart:s},o,null)),t.setWhereFields(l.map(t=>t.name))}async*_streamFeatures(t,e,s,i,r){const n=await this._provider.getFiles();let a=0;for(const o of n){const n=a,u=a+o.statistics.rowCount;if(a+=o.statistics.rowCount,null!=e&&e>=u)continue;const l=null!=e?Math.max(e-n,0):null;let h=s;if(null!=s){const t=e??0,i=t+s,r=Math.max(t,n),a=Math.min(i,u);h=Math.max(a-r,0)}if(0===h)continue;const c=await this._createParquetQuery(t,o,l,h,i),d=await o.file,p=await d.executeQuery(c,D),f=async()=>{const t=await p.next(r);if(!t)return null;const e=new k.s(this._metadata,this._indexMap,t,o.id);return tt([new T.j(e,null,0,!1)],this._queryEngineParams)};let m=await f();for(;null!=m;)yield m,m=await f()}}async _queryFeaturesWithQueryEnginePagination(t,e){const s=[],i=this._streamFeatures(t,null,null,null,e);let r=await i.next();for(;!r.done;){const n=await r.value.executeQueryForOpaqueFeatures({...t,where:void 0},e);for(const t of n)s.push(t);r=await i.next()}return s}async _queryFeaturesWithUpfrontPagination(t,e){let s,i,r,n=t.resultOffset??0,a=t.resultRecordCount??D;!function(t){for(const e in t){const s=e;if($(s)&&null!==t[s])return!0}return!1}(t)?(n&&(s=n,n=0),i=t.resultRecordCount):function(t){for(const e in t){const s=e;if(j(s)&&null!==t[s])return!0}return!1}(t)||(r=n+a);const o=[],u=this._streamFeatures(t,s,i,r,e);let l=await u.next();for(;!l.done&&a>0;){const s=await l.value.executeQueryForOpaqueFeatures({...t,where:void 0},e);for(const t of s)if(n>0)n--;else if(o.push(t),--a<=0)return o;l=await u.next()}return o}_enqueueQuery(t,e){return this._queue.push(t,e)}async _executeQuery(t,e){if(t.objectIds?.length){const s=new Map;for(const e of t.objectIds){const t=(0,b.wY)(e),i=(0,b.gE)(e);let r=s.get(t);r||(r=[],s.set(t,r)),r.push(i)}const i=[];for(const[r,n]of s.entries()){const s=await this._executeFileIdQuery(t,r,n,e);for(const t of s)i.push(t)}return new S.G(i,t,{fieldsIndex:this._fieldsIndex,geometryType:this._metadata.geometryType,spatialReference:this._queryEngineParams.spatialReference,hasM:this._hasM,hasZ:this._hasZ,featureAdapter:U,featureIdInfo:this._queryEngineParams.featureIdInfo})}if("1=1"===t.where&&(t.where=null),t.resultOffset??=0,t.resultRecordCount??=await this._getFeatureCount(),t.resultRecordCount>2e7&&(!this._displayOptimization||!t.geometry))throw new n.A("parquet:cannot-execute-query","Unable to execute query, dataset is too large.");const s=!!t.orderByFields?.length||!!t.outStatistics?.length||!!t.returnDistinctValues,i=s?await this._queryFeaturesWithQueryEnginePagination(t,e):await this._queryFeaturesWithUpfrontPagination(t,e);return s||(t.resultOffset=0),new S.G(i,t,{fieldsIndex:this._fieldsIndex,geometryType:this._metadata.geometryType,spatialReference:this._queryEngineParams.spatialReference,hasM:this._hasM,hasZ:this._hasZ,featureAdapter:U,featureIdInfo:this._queryEngineParams.featureIdInfo})}async _executeFileIdQuery(t,e,s,i){const r=await this._getRequiredFields(t),n=(await(0,O.N)()).Query.new();n.setOutFields(r),n.setReturnGeometry(!!t.returnGeometry),n.setReturnZ(!!t.returnZ),n.setReturnM(!!t.returnM),n.setIds(new Uint32Array(s));const a=await this._getFile(e),o=await a.executeQuery(n,D,i);let u=await o.next(i),l=0;const h=[];for(;null!=u;){const t=new k.s(this._metadata,this._indexMap,u,e),s=new T.j(t,null,l++,!1);h.push(s),u=await o.next(i)}return tt(h,this._queryEngineParams).executeQueryForOpaqueFeatures(t,i)}async _getRequiredFields(t){const e=new Set;if(t.outStatistics)for(const s of(0,w.g9)(this._fieldsIndex,t.outStatistics,t.groupByFieldsForStatistics))e.add(s);else if(t.outFields)for(const s of t.outFields)e.add(s);return(e.has("*")?this._fieldsIndex.fields.map(t=>t.name):Array.from(e)).filter(t=>null!=this._indexMap[t])}_tryGetGeneralizedGeometryResolution(t){if(!this._displayOptimization)return null;const e=t.outSR??this._queryEngineParams.spatialReference;if(!(0,y.K8)(e)&&!(0,y.oT)(e))return null;const s=t.quantizationParameters?.tolerance??t.maxAllowableOffset;return s?this._sourceResolution(s,e):null}_sourceResolution(t,e){const s=this._queryEngineParams.spatialReference,i=t*((0,d.GA)(e)/(0,d.GA)(s));return!Number.isFinite(i)||i<=0?null:i}}function W(t){switch(t){case"fullText":case"having":case"timeExtent":case"historicMoment":case"aggregateIds":case"uniqueIds":case"gdbVersion":case"objectIds":case"where":case"geometry":case"resultOffset":case"resultRecordCount":return!0;default:return!1}}function $(t){switch(t){case"fullText":case"having":case"timeExtent":case"historicMoment":case"aggregateIds":case"uniqueIds":case"gdbVersion":case"objectIds":case"where":case"geometry":return!0;default:return!1}}function j(t){switch(t){case"fullText":case"having":case"timeExtent":return!0;case"historicMoment":case"aggregateIds":case"uniqueIds":case"gdbVersion":case"objectIds":case"where":case"resultOffset":case"geometry":case"resultRecordCount":return!1}return!1}function J(t){for(const e in t){const s=e;if(W(s)&&null!==t[s])return!0}return!1}function H(t,e){const s="exceedslimit"!==t.statisticType?e.get(t.onStatisticField):null,i="min"!==t.statisticType&&"max"!==t.statisticType||"esriFieldTypeDate"!==s?.type?"esriFieldTypeDouble":s.type;return{name:t.outStatisticFieldName,alias:t.outStatisticFieldName,type:i}}function X(t,e){switch(t.statisticType){case"count":return function(t,e){if("count"!==t.statisticType)return{available:!1,value:null};if("1"===t.onStatisticField)return{available:!0,value:e.reduce((t,e)=>t+e.statistics.rowCount,0)};let s=0;for(const i of e){const e=i.statistics.statistics.get(t.onStatisticField);if(null==e||null==e.nullCount)return{available:!1,value:null};s+=i.statistics.rowCount-e.nullCount}return{available:!0,value:s}}(t,e);case"min":return Y(t,e,Math.min);case"max":return Y(t,e,Math.max);default:return{available:!1,value:null}}}function Y(t,e,s){if("min"!==t.statisticType&&"max"!==t.statisticType)return{available:!1,value:null};let i=null;const r="min"===t.statisticType?"minValue":"maxValue";for(const n of e){const e=n.statistics.statistics.get(t.onStatisticField);if(null==e)return{available:!1,value:null};switch(e.type){case"null-only":continue;case"unknown":return{available:!1,value:null};case"bounds":{const t=K(e[r]);if(null==t)return{available:!1,value:null};i=null==i?t:s(i,t);break}}}return{available:!0,value:i}}function K(t){return"number"==typeof t&&Number.isFinite(t)?t:null}function tt(t,e){const s=new E.I;for(const e of t)s.insert(e);return new x.do({...e,featureStore:s})}function et(t,e){return t.statistics.statistics.get(e.fieldName)??null}function st(t,e){const s=et(t,e);return"bounds"!==s?.type?Number.POSITIVE_INFINITY:s.maxValue-s.minValue}function it(t,e,s){const i=t?.featureCount;let r=!1;return null!=i&&i<(0,o.A)("parquetlayer-full-query-feature-count")&&(r=!0),{analytics:{supportsCacheHint:!1},attachment:null,data:{isVersioned:!1,isBranchVersioned:!1,supportedCurveTypes:[],supportsAttachment:!1,supportsM:s,supportsTrueCurve:!1,supportsZ:e},metadata:{supportsAdvancedFieldProperties:!1},operations:{supportsCalculate:!1,supportsTruncate:!1,supportsValidateSql:!1,supportsAdd:!1,supportsDelete:!1,supportsEditing:!1,supportsChangeTracking:!1,supportsQuery:!0,supportsQueryBins:!1,supportsQueryPivot:!1,supportsQueryAnalytics:!1,supportsQueryAttachments:!1,supportsQueryTopFeatures:!1,supportsResizeAttachments:!1,supportsSync:!1,supportsUpdate:!1,supportsExceedsLimitStatistics:!1,supportsAsyncConvert3D:!1},query:{...F.F,maxRecordCount:D,supportsOrderBy:r,supportsDistinct:!0,supportsStatistics:!0,supportsSpatialAggregationStatistics:!1,supportedSpatialAggregationStatistics:{envelope:!1,centroid:!1,convexHull:!1}},queryAttributeBins:{supportsDate:!1,supportsFixedInterval:!1,supportsAutoInterval:!1,supportsFixedBoundaries:!1,supportsStackBy:!1,supportsSplitBy:!1,supportsSnapToData:!1,supportsReturnFullIntervalBin:!1,supportsFirstDayOfWeek:!1,supportsNormalization:!1},queryRelated:{supportsCount:!1,supportsOrderBy:!1,supportsPagination:!1,supportsCacheHint:!1},queryTopFeatures:{supportsCacheHint:!1},editing:{supportsDeleteByAnonymous:!1,supportsDeleteByOthers:!1,supportsGeometryUpdate:!1,supportsGlobalId:!1,supportsTrueCurveUpdate:!1,supportsTrueCurveUpdateByTrueCurveClientsOnly:!0,supportsReturnServiceEditsInSourceSpatialReference:!1,supportsRollbackOnFailure:!1,supportsUpdateByAnonymous:!1,supportsUpdateByOthers:!1,supportsUploadWithItemId:!1,supportsUpdateWithoutM:!1,supportsAsyncApplyEdits:!1,zDefault:void 0}}}},95466(t,e,s){s.d(e,{A:()=>l});var i=s(49186),r=s(53966),n=s(12195),a=s(30524),o=s(98623),u=s(56400);class l{static fromJSON(t){return new l(t.fields,t.timeZoneByFieldName)}static fromLayer(t){return new l(t.fields??[],c(t))}static fromLayerJSON(t){return new l(t.fields??[],c(t))}constructor(t=[],e){this._fieldsMap=new Map,this._normalizedFieldsMap=new Map,this._dateFieldsSet=new Set,this._numericFieldsSet=new Set,this._requiredFields=null,this.dateFields=[],this.numericFields=[],this.fields=t||[],this._timeZoneByFieldName=e?new Map(e):null;const s=[];for(const t of this.fields){const e=t?.name,i=(0,a.GZ)(e);if(e&&i){const r=(0,a.NF)(e);this._fieldsMap.set(e,t),this._fieldsMap.set(r,t),this._normalizedFieldsMap.set(i,t),s.push(`${r}:${t.type}:${this._timeZoneByFieldName?.get(e)}`),(0,a.vE)(t)?(this.dateFields.push(t),this._dateFieldsSet.add(t)):(0,a.WA)(t)&&(this._numericFieldsSet.add(t),this.numericFields.push(t)),(0,a.te)(t)||(0,a.Xz)(t)||(t.editable=null==t.editable||!!t.editable,t.nullable=null==t.nullable||!!t.nullable)}}s.sort(),this.uid=s.join()}get requiredFields(){if(!this._requiredFields){this._requiredFields=[];for(const t of this.fields)(0,a.te)(t)||(0,a.Xz)(t)||t.nullable||void 0!==(0,a.lD)(t)||this._requiredFields.push(t)}return this._requiredFields}equals(t){return this.uid===t?.uid}has(t){return null!=this.get(t)}get(t){return(0,a.Vb)({fieldName:t,fieldsMap:this._fieldsMap,normalizedFieldsMap:this._normalizedFieldsMap})}getTimeZone(t){const e=this.get(t&&"string"!=typeof t?t.name:t);return e?this._timeZoneByFieldName?this._timeZoneByFieldName.get(e.name):"date"===e.type||"esriFieldTypeDate"===e.type?(r.A.getLogger("esri.layers.support.FieldsIndex").errorOnce(new i.A("getTimeZone:no-timezone-information",`no time zone information for field '${e.name}'`)),"UTC"):h.has(e.type)?o.L:null:null}isDateField(t){return this._dateFieldsSet.has(this.get(t))}isTimeOnlyField(t){return(0,a.OH)(this.get(t))}isNumericField(t){return this._numericFieldsSet.has(this.get(t))}normalizeFieldName(t){return this.get(t)?.name??void 0}toJSON(){return{fields:this.fields.map(t=>(0,n.W)(t)?t.toJSON():t),timeZoneByFieldName:this._timeZoneByFieldName?Array.from(this._timeZoneByFieldName.entries()):null}}}const h=new Set(["time-only","date-only","timestamp-offset","esriFieldTypeDateOnly","esriFieldTypeTimeOnly","esriFieldTypeTimestampOffset"]);function c(t){const e=new Map;if(!t.fields)return e;const s=!0===t.datesInUnknownTimezone,{timeInfo:i,editFieldsInfo:r}=t,n=(i?"startField"in i?i.startField:i.startTimeField:"")??"",l=(i?"endField"in i?i.endField:i.endTimeField:"")??"",c=function(t){return"dateFieldsTimeZone"in t}(t)?t.dateFieldsTimeZone??null:t.dateFieldsTimeReference?(0,u.ZS)(t.dateFieldsTimeReference):null,d=r?function(t){return"timeZone"in t}(r)?r.timeZone??c:r.dateFieldsTimeReference?(0,u.ZS)(r.dateFieldsTimeReference):c??"UTC":null,p=i?function(t){return"timeZone"in t}(i)?i.timeZone??c:i.timeReference?(0,u.ZS)(i.timeReference):c:null,f=new Map([[(0,a.NF)(r?.creationDateField??""),d],[(0,a.NF)(r?.editDateField??""),d],[(0,a.NF)(n),p],[(0,a.NF)(l),p]]);for(const{name:i,type:r}of t.fields)if(h.has(r))e.set(i,o.L);else if("date"!==r&&"esriFieldTypeDate"!==r)e.set(i,null);else if(s)e.set(i,o.L);else{const t=f.get((0,a.NF)(i??""))??c;e.set(i,t)}return e}},34582(t,e,s){s.d(e,{A:()=>o});var i=s(32198),r=s(69540),n=s(25482),a=s(91429);let o=class extends((0,r.OU)(n.o)){constructor(t){super(t),this.type="wkb",this.field=null}};(0,i.Cg)([(0,a.MZ)({type:["wkb"],nonNullable:!0,readOnly:!0,json:{read:!1,write:{isRequired:!0}}})],o.prototype,"type",void 0),(0,i.Cg)([(0,a.MZ)({type:["counter-clockwise"],json:{write:!0}})],o.prototype,"orientation",void 0),(0,i.Cg)([(0,a.MZ)({type:String,json:{write:{isRequired:!0}}})],o.prototype,"field",void 0),o=(0,i.Cg)([(0,a.$K)("esri.layers.support.GeometryEncodingWkb")],o)},56370(t,e,s){s.d(e,{A:()=>d});var i=s(32198),r=s(69540),n=s(7762),a=s(49186),o=s(25482),u=s(91429),l=s(64108),h=s(97159),c=s(43937);let d=class extends((0,o.T)(r.Pw)){constructor(t){super(t),this.type="files",this.urls=new n.A}writeUrls(t,e,s,i){const r=t.toArray().map(t=>(0,h.t)(t,i)).filter(t=>!!t);r.length?e.urls=r:i.messages?.push(new a.A("parquet-layer:missing-urls","Missing or empty 'urls'",{data:this}))}};(0,i.Cg)([(0,u.MZ)({type:["files"],nonNullable:!0,readOnly:!0,json:{read:!1,write:{isRequired:!0}}})],d.prototype,"type",void 0),(0,i.Cg)([(0,u.MZ)({type:n.A.ofType(String),json:{write:{isRequired:!0}}})],d.prototype,"urls",void 0),(0,i.Cg)([(0,c.K)("urls")],d.prototype,"writeUrls",null),d=(0,i.Cg)([(0,l.$)("esri.layers.support.ParquetFilesData")],d)},50639(t,e,s){s.d(e,{G:()=>n});var i=s(9075),r=s(34582);function n(t){switch(t.type){case"wkb":return r.A.fromJSON(t);case"location":return i.A.fromJSON(t)}}},42760(t,e,s){s.d(e,{Dt:()=>f,hG:()=>d,nc:()=>p,sA:()=>c}),s(7762);var i=s(49186),r=s(44208),n=s(66552),a=s(16930),o=(s(95031),s(20437)),u=s(30524),l=s(50639);s(56370);const h=new n.J({esriGeometryPoint:"point",esriGeometryPolygon:"polygon",esriGeometryPolyline:"polyline",esriGeometryMultipoint:"multipoint"});function c(t){return h.toJSON(t)}function d(t){return h.fromJSON(t)}async function p(t,e){if(e.geometryType&&e.spatialReference&&e.geometryEncoding&&e.fields&&e.displayOptimization)return e;if(!t)throw new i.A("parquet:bad-input","No metadata found");const s={...e},n=t.fields.map(t=>o.A.fromJSON(t));if(null==s.fields)s.fields=n;else{const t=new Set(s.fields.map(t=>t.name));if(!(0,r.A)("parquetlayer-legacy-field-overrides-enabled"))for(const e of n)t.has(e.name)||s.fields.push(e)}if(null!=s.geometryEncoding){const t=s.geometryEncoding;switch(t.type){case"wkb":{const e=n.find(e=>e.name===t.field);if(!e)throw new i.A("parquet:unsupported",`Geometry encoding references field ${t.field} which does not exist`);if("blob"!==e.type)throw new i.A("parquet:unsupported",`Invalid field type for geometry encoding. Found ${e.type} but expected 'blob'`);break}case"location":for(const e of[t.xField,t.yField])if(null!=e){const t=n.find(t=>t.name===e);if(!t)throw new i.A("parquet:unsupported",`Geometry encoding references field ${e} which does not exist`);if(!(0,u.WA)(t))throw new i.A("parquet:unsupported",`Invalid field type for location geometry encoding. Found ${t.type} but expected a numeric`)}}}return null==s.geometryEncoding&&(s.geometryEncoding=t.geometryEncoding?(0,l.G)(t.geometryEncoding):null),s.fields=function(t,e){const s=e.geoMetadata;if(null==s)return t;const i=new Set(Object.keys(s.columns));return t.filter(t=>!i.has(t.name))}(s.fields,t),!s.displayOptimization&&t.displayOptimization&&(s.displayOptimization=t.displayOptimization),!s.geometryType&&t.geometryType&&(s.geometryType=d(t.geometryType)),!s.spatialReference&&t.spatialReference&&(s.spatialReference=a.A.fromJSON(t.spatialReference)),s}async function f(t,e){switch(t.type){case"files":return{type:"urls",urls:t.urls.toArray()};case"portal-item":{const s=await t.portalItem.load(e);switch(s.type){case"Apache Parquet":return{type:"portal-parquet-file",itemUrl:s.itemUrl,itemCdnUrl:s.itemCdnUrl,modified:s.modified,size:s.size};case"Parquet layer":case"Parquet Layer":case"Parquet feature layer":case"Parquet Feature Layer":if(!s.url)throw new i.A("parquet:bad-item",`Item of type ${s.type} must have a url defined`,s);return{type:"portal-parquet-layer",itemUrl:s.itemUrl,itemCdnUrl:s.itemCdnUrl,itemMetadata:{modified:s.modified,url:s.url}};default:throw new i.A("parquet:bad-item",`Item of type ${s.type} is not supported`,s)}}}}s.d(e,["ye",0,h])}}]);