@arcgis/core 4.28.0-next.20230713 → 4.28.0-next.20230715

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 (273) hide show
  1. package/Basemap.js +1 -1
  2. package/assets/esri/core/workers/RemoteClient.js +1 -1
  3. package/assets/esri/core/workers/chunks/{0b28b5eec6dc67be8ce9.js → 0121bfc81b794745e024.js} +1 -1
  4. package/assets/esri/core/workers/chunks/067d3d45caeaaba18d81.js +1 -0
  5. package/assets/esri/core/workers/chunks/080a13dc08a8db498ffa.js +1 -0
  6. package/assets/esri/core/workers/chunks/0dccbc6c2559fdc0c2ad.js +1 -0
  7. package/assets/esri/core/workers/chunks/{c912466351e37db68b6c.js → 14ab33573bb02d6c6b1a.js} +1 -1
  8. package/assets/esri/core/workers/chunks/{c4b066760e9aa85b7607.js → 1b948f8429d8f9b1bbfb.js} +1 -1
  9. package/assets/esri/core/workers/chunks/204ed2ebd2d3da659791.js +1 -0
  10. package/assets/esri/core/workers/chunks/{5d5d4a4fdf5ca8d7837f.js → 239d4176ff2d5142b7f1.js} +1 -1
  11. package/assets/esri/core/workers/chunks/23bb98aaa20b180ee680.js +1 -0
  12. package/assets/esri/core/workers/chunks/27cf3ef9566d5226b0df.js +1 -0
  13. package/assets/esri/core/workers/chunks/{1c86f80d73dee1a4d9b7.js → 2f1695e4807a534e1743.js} +1 -1
  14. package/assets/esri/core/workers/chunks/{60b422009f58d7bbb8c4.js → 3164b862a6b3f654fade.js} +1 -1
  15. package/assets/esri/core/workers/chunks/35f60625ada14eb801fd.js +1 -0
  16. package/assets/esri/core/workers/chunks/{4e4e62462deec25e82ce.js → 3a04bf1cdce263fe2191.js} +1 -1
  17. package/assets/esri/core/workers/chunks/41011207b6cc5eb6232f.js +1 -0
  18. package/assets/esri/core/workers/chunks/{8d50449c029c73136204.js → 432e3558db53574d21b4.js} +1 -1
  19. package/assets/esri/core/workers/chunks/4767f69b81d36dde9550.js +1 -0
  20. package/assets/esri/core/workers/chunks/{08ee2bd914867fd2cbd5.js → 490629c6f9fee501c9cd.js} +1 -1
  21. package/assets/esri/core/workers/chunks/{044b15794b6403792f04.js → 4f079d0e69189c1d8bd9.js} +1 -1
  22. package/assets/esri/core/workers/chunks/4f1f4cc82fea0d1f79ec.js +1 -0
  23. package/assets/esri/core/workers/chunks/503a393327df755d8843.js +1 -0
  24. package/assets/esri/core/workers/chunks/50e05f479c7d414fc06b.js +1 -0
  25. package/assets/esri/core/workers/chunks/{3835a76c017431f19422.js → 51da3c5c50b153ce6bc7.js} +1 -1
  26. package/assets/esri/core/workers/chunks/54b97ca5f2164b941f5b.js +1 -0
  27. package/assets/esri/core/workers/chunks/5a3fb63dab89cf3418f7.js +1 -0
  28. package/assets/esri/core/workers/chunks/5ceaf1f05b219034a10c.js +1 -0
  29. package/assets/esri/core/workers/chunks/70aabffaaa0a1da8e609.js +1 -0
  30. package/assets/esri/core/workers/chunks/78cb95d1594a0cb0dd7a.js +1 -0
  31. package/assets/esri/core/workers/chunks/7f391ae5e0ea7812baca.js +1 -0
  32. package/assets/esri/core/workers/chunks/{1d2b8b937bbda91a6549.js → 82dfbc175b52c7a10475.js} +1 -1
  33. package/assets/esri/core/workers/chunks/{036cd65514eab1749363.js → 8467d05626a3a72462c9.js} +1 -1
  34. package/assets/esri/core/workers/chunks/9038b1317f1252e31f09.js +1 -0
  35. package/assets/esri/core/workers/chunks/929ddc4d9975ed893767.js +1 -0
  36. package/assets/esri/core/workers/chunks/{e86dcc239c6a57000afc.js → 94633cc9cfb089ef010e.js} +1 -1
  37. package/assets/esri/core/workers/chunks/{2f5f398374ff77fb17f0.js → 975eef6d20c17a0ed07b.js} +1 -1
  38. package/assets/esri/core/workers/chunks/{8913bddc76b82cb24664.js → 98cf4e744e8f2c3fc536.js} +1 -1
  39. package/assets/esri/core/workers/chunks/a00414550fa21c5662f3.js +1 -0
  40. package/assets/esri/core/workers/chunks/a3a1d4f32e518e97d071.js +1 -0
  41. package/assets/esri/core/workers/chunks/{4e2029c8cc8a5afe5759.js → a5348f117dacdcae99ee.js} +1 -1
  42. package/assets/esri/core/workers/chunks/b0f0a3178d88fa600a11.js +1 -0
  43. package/assets/esri/core/workers/chunks/b4446ce010bc4a5aa917.js +1 -0
  44. package/assets/esri/core/workers/chunks/b8a45b28a915a423d09d.js +1 -0
  45. package/assets/esri/core/workers/chunks/{fb97d39b25b0b009d2f0.js → bd9e6f38c9ec4195322a.js} +1 -1
  46. package/assets/esri/core/workers/chunks/{30deb5a8e9a82186991d.js → c15c4bd52d4472ed50bc.js} +1 -1
  47. package/assets/esri/core/workers/chunks/{55109f141c9f120833f6.js → c3d773c93efb41088c54.js} +1 -1
  48. package/assets/esri/core/workers/chunks/c518410b1214ffc58017.js +1 -0
  49. package/assets/esri/core/workers/chunks/d55faafe2ac914a3ebd1.js +1 -0
  50. package/assets/esri/core/workers/chunks/d5fd4780d57173f3e303.js +1 -0
  51. package/assets/esri/core/workers/chunks/da01e520a1ae0048e73e.js +1 -0
  52. package/assets/esri/core/workers/chunks/dd7603c9e5fd178c88f7.js +1 -0
  53. package/assets/esri/core/workers/chunks/ddcf58937924ab5a3d76.js +1 -0
  54. package/assets/esri/core/workers/chunks/e03a0f52d438f53a3057.js +1 -0
  55. package/assets/esri/core/workers/chunks/e433440fecd0114cb23d.js +1 -0
  56. package/assets/esri/core/workers/chunks/ea1560129e426980a4e2.js +1 -0
  57. package/assets/esri/core/workers/chunks/f73e2143f8d053aef092.js +1 -0
  58. package/assets/esri/core/workers/chunks/{0a0af540f4fe64c3d292.js → fa14238f1c308a74f843.js} +1 -1
  59. package/assets/esri/themes/base/widgets/_ElevationProfile.scss +3 -0
  60. package/assets/esri/themes/dark/main.css +1 -1
  61. package/assets/esri/themes/light/main.css +1 -1
  62. package/assets/esri/themes/light/view.css +1 -1
  63. package/chunks/RibbonLine.glsl.js +57 -72
  64. package/chunks/ar.js +1 -1
  65. package/chunks/ar2.js +1 -1
  66. package/chunks/bg_BG.js +1 -1
  67. package/chunks/bg_BG2.js +1 -1
  68. package/chunks/bs_BA.js +1 -1
  69. package/chunks/bs_BA2.js +1 -1
  70. package/chunks/ca_ES.js +1 -1
  71. package/chunks/ca_ES2.js +1 -1
  72. package/chunks/chartUtilsAm5.js +1 -1
  73. package/chunks/cs_CZ.js +1 -1
  74. package/chunks/cs_CZ2.js +1 -1
  75. package/chunks/da_DK.js +1 -1
  76. package/chunks/da_DK2.js +1 -1
  77. package/chunks/de_CH.js +1 -1
  78. package/chunks/de_CH2.js +1 -1
  79. package/chunks/de_DE.js +1 -1
  80. package/chunks/de_DE2.js +1 -1
  81. package/chunks/el_GR.js +1 -1
  82. package/chunks/el_GR2.js +1 -1
  83. package/chunks/en_CA.js +1 -1
  84. package/chunks/en_CA2.js +1 -1
  85. package/chunks/en_US.js +1 -1
  86. package/chunks/en_US2.js +1 -1
  87. package/chunks/es_ES.js +1 -1
  88. package/chunks/es_ES2.js +1 -1
  89. package/chunks/et_EE.js +1 -1
  90. package/chunks/et_EE2.js +1 -1
  91. package/chunks/fi_FI.js +1 -1
  92. package/chunks/fi_FI2.js +1 -1
  93. package/chunks/fr_FR.js +1 -1
  94. package/chunks/fr_FR2.js +1 -1
  95. package/chunks/he_IL.js +1 -1
  96. package/chunks/he_IL2.js +1 -1
  97. package/chunks/hr_HR.js +1 -1
  98. package/chunks/hr_HR2.js +1 -1
  99. package/chunks/hu_HU.js +1 -1
  100. package/chunks/hu_HU2.js +1 -1
  101. package/chunks/id_ID.js +1 -1
  102. package/chunks/id_ID2.js +1 -1
  103. package/chunks/it_IT.js +1 -1
  104. package/chunks/it_IT2.js +1 -1
  105. package/chunks/ja_JP.js +1 -1
  106. package/chunks/ja_JP2.js +1 -1
  107. package/chunks/ko_KR.js +1 -1
  108. package/chunks/ko_KR2.js +1 -1
  109. package/chunks/lt_LT.js +1 -1
  110. package/chunks/lt_LT2.js +1 -1
  111. package/chunks/lv_LV.js +1 -1
  112. package/chunks/lv_LV2.js +1 -1
  113. package/chunks/nb_NO.js +1 -1
  114. package/chunks/nb_NO2.js +1 -1
  115. package/chunks/nl_NL.js +1 -1
  116. package/chunks/nl_NL2.js +1 -1
  117. package/chunks/pl_PL.js +1 -1
  118. package/chunks/pl_PL2.js +1 -1
  119. package/chunks/pt_BR.js +1 -1
  120. package/chunks/pt_BR2.js +1 -1
  121. package/chunks/pt_PT.js +1 -1
  122. package/chunks/pt_PT2.js +1 -1
  123. package/chunks/ro_RO.js +1 -1
  124. package/chunks/ro_RO2.js +1 -1
  125. package/chunks/ru_RU.js +1 -1
  126. package/chunks/ru_RU2.js +1 -1
  127. package/chunks/sk_SK.js +1 -1
  128. package/chunks/sk_SK2.js +1 -1
  129. package/chunks/sl_SL.js +1 -1
  130. package/chunks/sl_SL2.js +1 -1
  131. package/chunks/sr_RS.js +1 -1
  132. package/chunks/sr_RS2.js +1 -1
  133. package/chunks/sv_SE.js +1 -1
  134. package/chunks/sv_SE2.js +1 -1
  135. package/chunks/th_TH.js +1 -1
  136. package/chunks/th_TH2.js +1 -1
  137. package/chunks/tr_TR.js +1 -1
  138. package/chunks/tr_TR2.js +1 -1
  139. package/chunks/uk_UA.js +1 -1
  140. package/chunks/uk_UA2.js +1 -1
  141. package/chunks/vi_VN.js +1 -1
  142. package/chunks/vi_VN2.js +1 -1
  143. package/chunks/zh_Hans.js +1 -1
  144. package/chunks/zh_Hans2.js +1 -1
  145. package/chunks/zh_Hant.js +1 -1
  146. package/chunks/zh_Hant2.js +1 -1
  147. package/config.js +1 -1
  148. package/core/colorUtils.js +1 -1
  149. package/core/image/apng.js +1 -1
  150. package/core/image/gif.js +1 -1
  151. package/core/urlUtils.js +1 -1
  152. package/core/workers/WorkerOwner.js +1 -1
  153. package/core/workers/staticWorkerMessages.js +5 -0
  154. package/geometry/projection.js +1 -1
  155. package/interfaces.d.ts +42 -2
  156. package/kernel.js +1 -1
  157. package/layers/support/ImageElement.js +1 -1
  158. package/layers/video/VideoController.js +1 -1
  159. package/package.json +1 -1
  160. package/portal/Portal.js +1 -1
  161. package/support/BasemapStyle.js +5 -0
  162. package/support/basemapUtils.js +1 -1
  163. package/support/revision.js +1 -1
  164. package/symbols/support/previewSymbol2D.js +1 -1
  165. package/views/2d/GoToManager.js +5 -0
  166. package/views/2d/engine/Stage.js +1 -1
  167. package/views/2d/engine/webgl/Overlay.js +1 -1
  168. package/views/2d/engine/webgl/animatedFormats/utils.js +1 -1
  169. package/views/2d/interactive/editingTools/ControlPointsTransformTool.js +1 -1
  170. package/views/2d/interactive/editingTools/TransformTool.js +1 -1
  171. package/views/2d/layers/BaseLayerViewGL2D.js +1 -1
  172. package/views/2d/layers/MediaLayerView2D.js +1 -1
  173. package/views/2d/layers/TileLayerView2D.js +1 -1
  174. package/views/2d/support/engineHelpers.js +1 -1
  175. package/views/2d/support/screenshotUtils.js +5 -0
  176. package/views/3d/analysis/AreaMeasurement/support/AreaMeasurementVisualization.js +1 -1
  177. package/views/3d/analysis/Dimension/DimensionTool.js +1 -1
  178. package/views/3d/analysis/Dimension/DimensionVisualization.js +1 -1
  179. package/views/3d/analysis/Dimension/LengthDimensionSubTool.js +1 -1
  180. package/views/3d/analysis/Dimension/LengthDimensionVisualization.js +1 -1
  181. package/views/3d/analysis/Dimension/lengthDimensionConstraintUtils.js +1 -1
  182. package/views/3d/analysis/Dimension/lengthDimensionManipulatorUtils.js +1 -1
  183. package/views/3d/analysis/Dimension/settings.js +1 -1
  184. package/views/3d/analysis/DirectLineMeasurement/DirectLineMeasurementVisualization.js +1 -1
  185. package/views/3d/analysis/LineOfSight/LineOfSightTool.js +1 -1
  186. package/views/3d/analysis/LineOfSight/LineOfSightToolConfiguration.js +1 -1
  187. package/views/3d/analysis/Slice/SliceTool.js +1 -1
  188. package/views/3d/analysis/Slice/SliceVisualization.js +1 -1
  189. package/views/3d/analysis/Slice/settings.js +1 -1
  190. package/views/3d/analysis/Slice/sliceToolUtils.js +1 -1
  191. package/views/3d/interactive/SnappingVisualizer3D.js +1 -1
  192. package/views/3d/interactive/editingTools/draw/DrawGraphicTool3D.js +1 -1
  193. package/views/3d/interactive/editingTools/lineGraphicVisualElementUtils.js +1 -1
  194. package/views/3d/interactive/editingTools/manipulations/MoveXYAxisManipulation.js +1 -1
  195. package/views/3d/interactive/editingTools/manipulations/MoveXYDiscManipulation.js +1 -1
  196. package/views/3d/interactive/editingTools/manipulations/MoveZManipulation.js +1 -1
  197. package/views/3d/interactive/editingTools/originGraphicVisualElementUtils.js +1 -1
  198. package/views/3d/interactive/editingTools/reshapeGraphic/ReshapeOperation.js +1 -1
  199. package/views/3d/interactive/editingTools/settings.js +1 -1
  200. package/views/3d/interactive/editingTools/transformGraphic/ExtentTransformTool.js +1 -1
  201. package/views/3d/interactive/editingTools/transformGraphic/GraphicScaleRotateTransform.js +1 -1
  202. package/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DView.js +1 -1
  203. package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DView.js +1 -1
  204. package/views/3d/interactive/visualElements/MeasurementArrowVisualElement.js +1 -1
  205. package/views/3d/layers/graphics/Graphics3DLineSymbolLayer.js +1 -1
  206. package/views/3d/layers/graphics/Graphics3DPolygonFillSymbolLayer.js +1 -1
  207. package/views/3d/terrain/TerrainRenderer.js +1 -1
  208. package/views/3d/terrain/TerrainSurface.js +1 -1
  209. package/views/3d/terrain/Tile.js +1 -1
  210. package/views/3d/terrain/TileRenderer.js +1 -1
  211. package/views/3d/terrain/TileTexture.js +1 -1
  212. package/views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js +12 -13
  213. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  214. package/views/3d/webgl-engine/lib/TextureBackedBuffer/TextureBackedBuffer.js +1 -1
  215. package/views/3d/webgl-engine/lib/edgeRendering/strokes.js +1 -1
  216. package/views/3d/webgl-engine/lib/glUtil3D.js +1 -1
  217. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  218. package/views/3d/webgl-engine/materials/internal/WaterTextureRepository.js +1 -1
  219. package/views/3d/webgl-engine/shaders/HUDMaterialTechnique.js +1 -1
  220. package/views/3d/webgl-engine/shaders/RibbonLineTechniqueConfiguration.js +1 -1
  221. package/views/3d/webgl-engine/statistics/RendererPerformanceInfo.js +1 -1
  222. package/views/MapView.js +1 -1
  223. package/views/Theme.js +5 -0
  224. package/views/View.js +1 -1
  225. package/views/interactive/SegmentLabels.js +1 -1
  226. package/views/support/colorUtils.js +1 -1
  227. package/views/webgl/Texture.js +1 -1
  228. package/widgets/AreaMeasurement2D/AreaMeasurement2DTool.js +1 -1
  229. package/widgets/Attachments.js +1 -1
  230. package/widgets/DistanceMeasurement2D/DistanceMeasurement2DTool.js +1 -1
  231. package/widgets/ElevationProfile/support/InputRepresentation3D.js +1 -1
  232. package/widgets/ElevationProfile/support/chartUtils.js +1 -1
  233. package/widgets/Feature/FeatureMedia/chartCommon.js +1 -1
  234. package/widgets/Feature/FeatureMedia.js +1 -1
  235. package/widgets/support/chartUtils.js +1 -1
  236. package/widgets/support/chartUtilsAm5.js +1 -1
  237. package/assets/esri/core/workers/chunks/05f3374114bce72d3560.js +0 -1
  238. package/assets/esri/core/workers/chunks/10028df973ef7f9531c8.js +0 -1
  239. package/assets/esri/core/workers/chunks/1cbb03eec9dc23ef043b.js +0 -1
  240. package/assets/esri/core/workers/chunks/289061552a2a64bebd76.js +0 -1
  241. package/assets/esri/core/workers/chunks/308eeeaec591b4eea1de.js +0 -1
  242. package/assets/esri/core/workers/chunks/3155c750fc5a4e04a785.js +0 -1
  243. package/assets/esri/core/workers/chunks/346f67995b327bca8ee0.js +0 -1
  244. package/assets/esri/core/workers/chunks/3736e17dd6461f74cfaf.js +0 -1
  245. package/assets/esri/core/workers/chunks/37e60f9ca86f9d4bf4ea.js +0 -1
  246. package/assets/esri/core/workers/chunks/3a0b45ecc48e23a3a5d5.js +0 -1
  247. package/assets/esri/core/workers/chunks/417377c8e76944f428a7.js +0 -1
  248. package/assets/esri/core/workers/chunks/498dca81073e1fb477b9.js +0 -1
  249. package/assets/esri/core/workers/chunks/536962375ce4f1394481.js +0 -1
  250. package/assets/esri/core/workers/chunks/64bb4093c019a02d5309.js +0 -1
  251. package/assets/esri/core/workers/chunks/69de4733173ee2dee6e1.js +0 -1
  252. package/assets/esri/core/workers/chunks/6dcffe6683a798a42c78.js +0 -1
  253. package/assets/esri/core/workers/chunks/7a898d167029ee11a680.js +0 -1
  254. package/assets/esri/core/workers/chunks/7a973d70e6bc42d804ee.js +0 -1
  255. package/assets/esri/core/workers/chunks/7d9d2629af373c84624f.js +0 -1
  256. package/assets/esri/core/workers/chunks/885cb0da78e6853b23a4.js +0 -1
  257. package/assets/esri/core/workers/chunks/8e28862296972e9e6f82.js +0 -1
  258. package/assets/esri/core/workers/chunks/928431e1c449c6054547.js +0 -1
  259. package/assets/esri/core/workers/chunks/afdf30439d71a7cc19ae.js +0 -1
  260. package/assets/esri/core/workers/chunks/b1fa1571fd98d3b8dffe.js +0 -1
  261. package/assets/esri/core/workers/chunks/b20167d9163d0ee74b65.js +0 -1
  262. package/assets/esri/core/workers/chunks/b2a0e3e1dfccda7ed12e.js +0 -1
  263. package/assets/esri/core/workers/chunks/c09db831248054600e16.js +0 -1
  264. package/assets/esri/core/workers/chunks/dcccc9760998271254b5.js +0 -1
  265. package/assets/esri/core/workers/chunks/ddea45acae89759e57fa.js +0 -1
  266. package/assets/esri/core/workers/chunks/e039108eb3a592f6d8e3.js +0 -1
  267. package/assets/esri/core/workers/chunks/e70314ac10cc1f8f9f86.js +0 -1
  268. package/assets/esri/core/workers/chunks/f2d399b394a1a9156214.js +0 -1
  269. package/assets/esri/core/workers/chunks/f74d4e1eecec06f84ee2.js +0 -1
  270. package/assets/esri/core/workers/chunks/fb7eff7f76386f81d57b.js +0 -1
  271. package/assets/esri/core/workers/chunks/fe277d33b5b8a11c76df.js +0 -1
  272. package/core/analysisThemeUtils.js +0 -5
  273. package/views/support/createScreenshotPlan.js +0 -5
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[284,3172,9880],{99880:(e,t,s)=>{s.d(t,{V:()=>l});var r=s(68773),n=(s(3172),s(20102)),i=s(92604),a=s(17452);const o=i.Z.getLogger("esri.assets");function l(e){if(!r.default.assetsPath)throw o.errorOnce("The API assets location needs to be set using config.assetsPath. More information: https://arcg.is/1OzLe50"),new n.Z("assets:path-not-set","config.assetsPath is not set");return(0,a.v_)(r.default.assetsPath,e)}},46851:(e,t,s)=>{s.d(t,{R:()=>i,a:()=>c,g:()=>n,t:()=>l});let r=1e-6;function n(){return r}const i=Math.random,a=Math.PI/180,o=180/Math.PI;function l(e){return e*a}function c(e){return e*o}Object.freeze(Object.defineProperty({__proto__:null,RANDOM:i,equals:function(e,t){return Math.abs(e-t)<=r*Math.max(1,Math.abs(e),Math.abs(t))},getEpsilon:n,setEpsilon:function(e){r=e},toDegree:c,toRadian:l},Symbol.toStringTag,{value:"Module"}))},17896:(e,t,s)=>{s.d(t,{A:()=>A,B:()=>O,C:()=>h,E:()=>u,a:()=>l,b:()=>c,c:()=>a,d:()=>_,e:()=>w,f:()=>M,g:()=>y,h:()=>T,i:()=>m,j:()=>C,k:()=>D,l:()=>i,m:()=>k,n:()=>b,p:()=>I,q:()=>x,r:()=>d,s:()=>o,t:()=>P,u:()=>f,v:()=>p,w:()=>g,x:()=>B,y:()=>L});var r=s(65617),n=s(46851);function i(e){const t=e[0],s=e[1],r=e[2];return Math.sqrt(t*t+s*s+r*r)}function a(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}function o(e,t,s,r){return e[0]=t,e[1]=s,e[2]=r,e}function l(e,t,s){return e[0]=t[0]+s[0],e[1]=t[1]+s[1],e[2]=t[2]+s[2],e}function c(e,t,s){return e[0]=t[0]-s[0],e[1]=t[1]-s[1],e[2]=t[2]-s[2],e}function h(e,t,s){return e[0]=t[0]*s[0],e[1]=t[1]*s[1],e[2]=t[2]*s[2],e}function u(e,t,s){return e[0]=t[0]/s[0],e[1]=t[1]/s[1],e[2]=t[2]/s[2],e}function f(e,t){return e[0]=Math.abs(t[0]),e[1]=Math.abs(t[1]),e[2]=Math.abs(t[2]),e}function d(e,t){return e[0]=Math.sign(t[0]),e[1]=Math.sign(t[1]),e[2]=Math.sign(t[2]),e}function p(e,t,s){return e[0]=Math.min(t[0],s[0]),e[1]=Math.min(t[1],s[1]),e[2]=Math.min(t[2],s[2]),e}function g(e,t,s){return e[0]=Math.max(t[0],s[0]),e[1]=Math.max(t[1],s[1]),e[2]=Math.max(t[2],s[2]),e}function y(e,t,s){return e[0]=t[0]*s,e[1]=t[1]*s,e[2]=t[2]*s,e}function x(e,t,s,r){return e[0]=t[0]+s[0]*r,e[1]=t[1]+s[1]*r,e[2]=t[2]+s[2]*r,e}function m(e,t){const s=t[0]-e[0],r=t[1]-e[1],n=t[2]-e[2];return Math.sqrt(s*s+r*r+n*n)}function _(e,t){const s=t[0]-e[0],r=t[1]-e[1],n=t[2]-e[2];return s*s+r*r+n*n}function I(e){const t=e[0],s=e[1],r=e[2];return t*t+s*s+r*r}function b(e,t){const s=t[0],r=t[1],n=t[2];let i=s*s+r*r+n*n;return i>0&&(i=1/Math.sqrt(i),e[0]=t[0]*i,e[1]=t[1]*i,e[2]=t[2]*i),e}function w(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function M(e,t,s){const r=t[0],n=t[1],i=t[2],a=s[0],o=s[1],l=s[2];return e[0]=n*l-i*o,e[1]=i*a-r*l,e[2]=r*o-n*a,e}function T(e,t,s,r){const n=t[0],i=t[1],a=t[2];return e[0]=n+r*(s[0]-n),e[1]=i+r*(s[1]-i),e[2]=a+r*(s[2]-a),e}function k(e,t,s){const r=t[0],n=t[1],i=t[2];return e[0]=s[0]*r+s[4]*n+s[8]*i+s[12],e[1]=s[1]*r+s[5]*n+s[9]*i+s[13],e[2]=s[2]*r+s[6]*n+s[10]*i+s[14],e}function P(e,t,s){const r=t[0],n=t[1],i=t[2];return e[0]=r*s[0]+n*s[3]+i*s[6],e[1]=r*s[1]+n*s[4]+i*s[7],e[2]=r*s[2]+n*s[5]+i*s[8],e}function L(e,t,s){const r=s[0],n=s[1],i=s[2],a=s[3],o=t[0],l=t[1],c=t[2];let h=n*c-i*l,u=i*o-r*c,f=r*l-n*o,d=n*f-i*u,p=i*h-r*f,g=r*u-n*h;const y=2*a;return h*=y,u*=y,f*=y,d*=2,p*=2,g*=2,e[0]=o+h+d,e[1]=l+u+p,e[2]=c+f+g,e}const v=(0,r.c)(),E=(0,r.c)();function D(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]}function B(e,t,s){const r=s[0]-t[0],n=s[1]-t[1],i=s[2]-t[2];let a=r*r+n*n+i*i;return a>0?(a=1/Math.sqrt(a),e[0]=r*a,e[1]=n*a,e[2]=i*a,e):(e[0]=0,e[1]=0,e[2]=0,e)}const A=c,V=h,S=u,C=m,R=_,O=i,F=I;Object.freeze(Object.defineProperty({__proto__:null,abs:f,add:l,angle:function(e,t){a(v,e),a(E,t),b(v,v),b(E,E);const s=w(v,E);return s>1?0:s<-1?Math.PI:Math.acos(s)},bezier:function(e,t,s,r,n,i){const a=1-i,o=a*a,l=i*i,c=o*a,h=3*i*o,u=3*l*a,f=l*i;return e[0]=t[0]*c+s[0]*h+r[0]*u+n[0]*f,e[1]=t[1]*c+s[1]*h+r[1]*u+n[1]*f,e[2]=t[2]*c+s[2]*h+r[2]*u+n[2]*f,e},ceil:function(e,t){return e[0]=Math.ceil(t[0]),e[1]=Math.ceil(t[1]),e[2]=Math.ceil(t[2]),e},copy:a,cross:M,direction:B,dist:C,distance:m,div:S,divide:u,dot:w,equals:function(e,t){if(e===t)return!0;const s=e[0],r=e[1],i=e[2],a=t[0],o=t[1],l=t[2],c=(0,n.g)();return Math.abs(s-a)<=c*Math.max(1,Math.abs(s),Math.abs(a))&&Math.abs(r-o)<=c*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(i-l)<=c*Math.max(1,Math.abs(i),Math.abs(l))},exactEquals:D,floor:function(e,t){return e[0]=Math.floor(t[0]),e[1]=Math.floor(t[1]),e[2]=Math.floor(t[2]),e},hermite:function(e,t,s,r,n,i){const a=i*i,o=a*(2*i-3)+1,l=a*(i-2)+i,c=a*(i-1),h=a*(3-2*i);return e[0]=t[0]*o+s[0]*l+r[0]*c+n[0]*h,e[1]=t[1]*o+s[1]*l+r[1]*c+n[1]*h,e[2]=t[2]*o+s[2]*l+r[2]*c+n[2]*h,e},inverse:function(e,t){return e[0]=1/t[0],e[1]=1/t[1],e[2]=1/t[2],e},len:O,length:i,lerp:T,max:g,min:p,mul:V,multiply:h,negate:function(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e},normalize:b,random:function(e,t){t=t||1;const s=n.R,r=2*s()*Math.PI,i=2*s()-1,a=Math.sqrt(1-i*i)*t;return e[0]=Math.cos(r)*a,e[1]=Math.sin(r)*a,e[2]=i*t,e},rotateX:function(e,t,s,r){const n=[],i=[];return n[0]=t[0]-s[0],n[1]=t[1]-s[1],n[2]=t[2]-s[2],i[0]=n[0],i[1]=n[1]*Math.cos(r)-n[2]*Math.sin(r),i[2]=n[1]*Math.sin(r)+n[2]*Math.cos(r),e[0]=i[0]+s[0],e[1]=i[1]+s[1],e[2]=i[2]+s[2],e},rotateY:function(e,t,s,r){const n=[],i=[];return n[0]=t[0]-s[0],n[1]=t[1]-s[1],n[2]=t[2]-s[2],i[0]=n[2]*Math.sin(r)+n[0]*Math.cos(r),i[1]=n[1],i[2]=n[2]*Math.cos(r)-n[0]*Math.sin(r),e[0]=i[0]+s[0],e[1]=i[1]+s[1],e[2]=i[2]+s[2],e},rotateZ:function(e,t,s,r){const n=[],i=[];return n[0]=t[0]-s[0],n[1]=t[1]-s[1],n[2]=t[2]-s[2],i[0]=n[0]*Math.cos(r)-n[1]*Math.sin(r),i[1]=n[0]*Math.sin(r)+n[1]*Math.cos(r),i[2]=n[2],e[0]=i[0]+s[0],e[1]=i[1]+s[1],e[2]=i[2]+s[2],e},round:function(e,t){return e[0]=Math.round(t[0]),e[1]=Math.round(t[1]),e[2]=Math.round(t[2]),e},scale:y,scaleAndAdd:x,set:o,sign:d,sqrDist:R,sqrLen:F,squaredDistance:_,squaredLength:I,str:function(e){return"vec3("+e[0]+", "+e[1]+", "+e[2]+")"},sub:A,subtract:c,transformMat3:P,transformMat4:k,transformQuat:L},Symbol.toStringTag,{value:"Module"}))},65617:(e,t,s)=>{function r(){return[0,0,0]}function n(e){return[e[0],e[1],e[2]]}function i(e,t,s){return[e,t,s]}function a(e,t=[0,0,0]){const s=Math.min(3,e.length);for(let r=0;r<s;++r)t[r]=e[r];return t}function o(e,t){return new Float64Array(e,t,3)}function l(){return i(1,1,1)}function c(){return i(1,0,0)}function h(){return i(0,1,0)}function u(){return i(0,0,1)}s.d(t,{O:()=>d,U:()=>y,Z:()=>f,a:()=>n,b:()=>o,c:()=>r,d:()=>p,e:()=>g,f:()=>i,g:()=>a});const f=[0,0,0],d=l(),p=c(),g=h(),y=u();Object.freeze(Object.defineProperty({__proto__:null,ONES:d,UNIT_X:p,UNIT_Y:g,UNIT_Z:y,ZEROS:f,clone:n,create:r,createView:o,fromArray:a,fromValues:i,ones:l,unitX:c,unitY:h,unitZ:u,zeros:function(){return[0,0,0]}},Symbol.toStringTag,{value:"Module"}))},98766:(e,t,s)=>{s.d(t,{a:()=>a,b:()=>h,c:()=>n,d:()=>y,e:()=>d,f:()=>p,g:()=>m,h:()=>_,l:()=>x,n:()=>g,s:()=>i});var r=s(46851);function n(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}function i(e,t,s,r,n){return e[0]=t,e[1]=s,e[2]=r,e[3]=n,e}function a(e,t,s){return e[0]=t[0]+s[0],e[1]=t[1]+s[1],e[2]=t[2]+s[2],e[3]=t[3]+s[3],e}function o(e,t,s){return e[0]=t[0]-s[0],e[1]=t[1]-s[1],e[2]=t[2]-s[2],e[3]=t[3]-s[3],e}function l(e,t,s){return e[0]=t[0]*s[0],e[1]=t[1]*s[1],e[2]=t[2]*s[2],e[3]=t[3]*s[3],e}function c(e,t,s){return e[0]=t[0]/s[0],e[1]=t[1]/s[1],e[2]=t[2]/s[2],e[3]=t[3]/s[3],e}function h(e,t,s){return e[0]=t[0]*s,e[1]=t[1]*s,e[2]=t[2]*s,e[3]=t[3]*s,e}function u(e,t){const s=t[0]-e[0],r=t[1]-e[1],n=t[2]-e[2],i=t[3]-e[3];return Math.sqrt(s*s+r*r+n*n+i*i)}function f(e,t){const s=t[0]-e[0],r=t[1]-e[1],n=t[2]-e[2],i=t[3]-e[3];return s*s+r*r+n*n+i*i}function d(e){const t=e[0],s=e[1],r=e[2],n=e[3];return Math.sqrt(t*t+s*s+r*r+n*n)}function p(e){const t=e[0],s=e[1],r=e[2],n=e[3];return t*t+s*s+r*r+n*n}function g(e,t){const s=t[0],r=t[1],n=t[2],i=t[3];let a=s*s+r*r+n*n+i*i;return a>0&&(a=1/Math.sqrt(a),e[0]=s*a,e[1]=r*a,e[2]=n*a,e[3]=i*a),e}function y(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]}function x(e,t,s,r){const n=t[0],i=t[1],a=t[2],o=t[3];return e[0]=n+r*(s[0]-n),e[1]=i+r*(s[1]-i),e[2]=a+r*(s[2]-a),e[3]=o+r*(s[3]-o),e}function m(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]}function _(e,t){const s=e[0],n=e[1],i=e[2],a=e[3],o=t[0],l=t[1],c=t[2],h=t[3],u=(0,r.g)();return Math.abs(s-o)<=u*Math.max(1,Math.abs(s),Math.abs(o))&&Math.abs(n-l)<=u*Math.max(1,Math.abs(n),Math.abs(l))&&Math.abs(i-c)<=u*Math.max(1,Math.abs(i),Math.abs(c))&&Math.abs(a-h)<=u*Math.max(1,Math.abs(a),Math.abs(h))}const I=o,b=l,w=c,M=u,T=f,k=d,P=p;Object.freeze(Object.defineProperty({__proto__:null,add:a,ceil:function(e,t){return e[0]=Math.ceil(t[0]),e[1]=Math.ceil(t[1]),e[2]=Math.ceil(t[2]),e[3]=Math.ceil(t[3]),e},copy:n,dist:M,distance:u,div:w,divide:c,dot:y,equals:_,exactEquals:m,floor:function(e,t){return e[0]=Math.floor(t[0]),e[1]=Math.floor(t[1]),e[2]=Math.floor(t[2]),e[3]=Math.floor(t[3]),e},inverse:function(e,t){return e[0]=1/t[0],e[1]=1/t[1],e[2]=1/t[2],e[3]=1/t[3],e},len:k,length:d,lerp:x,max:function(e,t,s){return e[0]=Math.max(t[0],s[0]),e[1]=Math.max(t[1],s[1]),e[2]=Math.max(t[2],s[2]),e[3]=Math.max(t[3],s[3]),e},min:function(e,t,s){return e[0]=Math.min(t[0],s[0]),e[1]=Math.min(t[1],s[1]),e[2]=Math.min(t[2],s[2]),e[3]=Math.min(t[3],s[3]),e},mul:b,multiply:l,negate:function(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=-t[3],e},normalize:g,random:function(e,t){const s=r.R;let n,i,a,o,l,c;t=t||1;do{n=2*s()-1,i=2*s()-1,l=n*n+i*i}while(l>=1);do{a=2*s()-1,o=2*s()-1,c=a*a+o*o}while(c>=1);const h=Math.sqrt((1-l)/c);return e[0]=t*n,e[1]=t*i,e[2]=t*a*h,e[3]=t*o*h,e},round:function(e,t){return e[0]=Math.round(t[0]),e[1]=Math.round(t[1]),e[2]=Math.round(t[2]),e[3]=Math.round(t[3]),e},scale:h,scaleAndAdd:function(e,t,s,r){return e[0]=t[0]+s[0]*r,e[1]=t[1]+s[1]*r,e[2]=t[2]+s[2]*r,e[3]=t[3]+s[3]*r,e},set:i,sqrDist:T,sqrLen:P,squaredDistance:f,squaredLength:p,str:function(e){return"vec4("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+")"},sub:I,subtract:o,transformMat4:function(e,t,s){const r=t[0],n=t[1],i=t[2],a=t[3];return e[0]=s[0]*r+s[4]*n+s[8]*i+s[12]*a,e[1]=s[1]*r+s[5]*n+s[9]*i+s[13]*a,e[2]=s[2]*r+s[6]*n+s[10]*i+s[14]*a,e[3]=s[3]*r+s[7]*n+s[11]*i+s[15]*a,e},transformQuat:function(e,t,s){const r=t[0],n=t[1],i=t[2],a=s[0],o=s[1],l=s[2],c=s[3],h=c*r+o*i-l*n,u=c*n+l*r-a*i,f=c*i+a*n-o*r,d=-a*r-o*n-l*i;return e[0]=h*c+d*-a+u*-l-f*-o,e[1]=u*c+d*-o+f*-a-h*-l,e[2]=f*c+d*-l+h*-o-u*-a,e[3]=t[3],e}},Symbol.toStringTag,{value:"Module"}))},22021:(e,t,s)=>{s.d(t,{BV:()=>h,Kt:()=>f,Sf:()=>i,Vl:()=>c,ZF:()=>u,_3:()=>I,jE:()=>m,oK:()=>y,oc:()=>_,t7:()=>l,uZ:()=>a,wt:()=>o});var r=s(17896);s(98766);const n=new Float32Array(1);function i(e){--e;for(let t=1;t<32;t<<=1)e|=e>>t;return e+1}function a(e,t,s){return Math.min(Math.max(e,t),s)}function o(e){return 0==(e&e-1)}function l(e,t,s){return e+(t-e)*s}function c(e){return e*Math.PI/180}function h(e){return 180*e/Math.PI}function u(e){return Math.acos(a(e,-1,1))}function f(e){return Math.asin(a(e,-1,1))}function d(e,t,s=1e-6){return e===t||!(!Number.isFinite(e)||!Number.isFinite(t))&&(e>t?e-t:t-e)<=s}const p=new DataView(new ArrayBuffer(Float64Array.BYTES_PER_ELEMENT));const g=BigInt("1000000");function y(e){return x(Math.max(-I,Math.min(e,I)))}function x(e){return n[0]=e,n[0]}function m(e,t){const s=(0,r.l)(e),n=f(e[2]/s),i=Math.atan2(e[1]/s,e[0]/s);return(0,r.s)(t,s,n,i),t}function _(e){const t=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],s=e[3]*e[3]+e[4]*e[4]+e[5]*e[5],r=e[6]*e[6]+e[7]*e[7]+e[8]*e[8];return!(d(t,1)&&d(s,1)&&d(r,1))}!function(e){const t=function(e){return p.setFloat64(0,e),p.getBigInt64(0)}(e=Math.abs(e)),s=function(e){return p.setBigInt64(0,e),p.getFloat64(0)}(t<=g?g:t-g);Math.abs(e-s)}(1);const I=x(34028234663852886e22)},45091:(e,t,s)=>{s.d(t,{Z:()=>h});var r,n,i=s(80442),a=s(71143);(n=r||(r={}))[n.varint=0]="varint",n[n.fixed64=1]="fixed64",n[n.delimited=2]="delimited",n[n.fixed32=5]="fixed32",n[n.unknown=99]="unknown";const o=4294967296,l=new TextDecoder("utf-8"),c=(0,i.Z)("safari")||(0,i.Z)("ios")?6:(0,i.Z)("ff")?12:32;class h{constructor(e,t,s=0,n=(e?e.byteLength:0)){this._tag=0,this._dataType=r.unknown,this._init(e,t,s,n)}_init(e,t,s,r){this._data=e,this._dataView=t,this._pos=s,this._end=r}asUnsafe(){return this}clone(){return new h(this._data,this._dataView,this._pos,this._end)}pos(){return this._pos}move(e){this._pos=e}nextTag(e){for(;;){if(this._pos===this._end)return!1;const t=this._decodeVarint();if(this._tag=t>>3,this._dataType=7&t,!e||e===this._tag)break;this.skip()}return!0}next(){if(this._pos===this._end)return!1;const e=this._decodeVarint();return this._tag=e>>3,this._dataType=7&e,!0}empty(){return this._pos>=this._end}tag(){return this._tag}getInt32(){return this._decodeVarint()}getInt64(){return this._decodeVarint()}getUInt32(){let e=4294967295;return e=(127&this._data[this._pos])>>>0,this._data[this._pos++]<128?e:(e=(e|(127&this._data[this._pos])<<7)>>>0,this._data[this._pos++]<128?e:(e=(e|(127&this._data[this._pos])<<14)>>>0,this._data[this._pos++]<128?e:(e=(e|(127&this._data[this._pos])<<21)>>>0,this._data[this._pos++]<128?e:(e=(e|(15&this._data[this._pos])<<28)>>>0,this._data[this._pos++]<128?e:void 0))))}getUInt64(){return this._decodeVarint()}getSInt32(){const e=this.getUInt32();if(void 0!==e)return e>>>1^-(1&e)|0}getSInt64(){return this._decodeSVarint()}getBool(){const e=0!==this._data[this._pos];return this._skip(1),e}getEnum(){return this._decodeVarint()}getFixed64(){const e=this._dataView,t=this._pos,s=e.getUint32(t,!0)+e.getUint32(t+4,!0)*o;return this._skip(8),s}getSFixed64(){const e=this._dataView,t=this._pos,s=e.getUint32(t,!0)+e.getInt32(t+4,!0)*o;return this._skip(8),s}getDouble(){const e=this._dataView.getFloat64(this._pos,!0);return this._skip(8),e}getFixed32(){const e=this._dataView.getUint32(this._pos,!0);return this._skip(4),e}getSFixed32(){const e=this._dataView.getInt32(this._pos,!0);return this._skip(4),e}getFloat(){const e=this._dataView.getFloat32(this._pos,!0);return this._skip(4),e}getString(){const e=this._getLength(),t=this._pos,s=this._toString(this._data,t,t+e);return this._skip(e),s}getBytes(){const e=this._getLength(),t=this._pos,s=this._toBytes(this._data,t,t+e);return this._skip(e),s}getLength(){return this._getLengthUnsafe()}processMessageWithArgs(e,t,s,r){const n=this.getMessage(),i=e(n,t,s,r);return n.release(),i}processMessage(e){const t=this.getMessage(),s=e(t);return t.release(),s}getMessage(){const e=this._getLength(),t=h.pool.acquire();return t._init(this._data,this._dataView,this._pos,this._pos+e),this._skip(e),t}release(){h.pool.release(this)}dataType(){return this._dataType}skip(){switch(this._dataType){case r.varint:this._decodeVarint();break;case r.fixed64:this._skip(8);break;case r.delimited:this._skip(this._getLength());break;case r.fixed32:this._skip(4);break;default:throw new Error("Invalid data type!")}}skipLen(e){this._skip(e)}_skip(e){if(this._pos+e>this._end)throw new Error("Attempt to skip past the end of buffer!");this._pos+=e}_decodeVarint(){const e=this._data;let t=this._pos,s=0,r=0;if(this._end-t>=10)do{if(r=e[t++],s|=127&r,0==(128&r))break;if(r=e[t++],s|=(127&r)<<7,0==(128&r))break;if(r=e[t++],s|=(127&r)<<14,0==(128&r))break;if(r=e[t++],s|=(127&r)<<21,0==(128&r))break;if(r=e[t++],s+=268435456*(127&r),0==(128&r))break;if(r=e[t++],s+=34359738368*(127&r),0==(128&r))break;if(r=e[t++],s+=4398046511104*(127&r),0==(128&r))break;if(r=e[t++],s+=562949953421312*(127&r),0==(128&r))break;if(r=e[t++],s+=72057594037927940*(127&r),0==(128&r))break;if(r=e[t++],s+=0x8000000000000000*(127&r),0==(128&r))break;throw new Error("Varint too long!")}while(0);else{let n=1;for(;t!==this._end&&(r=e[t],0!=(128&r));)++t,s+=(127&r)*n,n*=128;if(t===this._end)throw new Error("Varint overrun!");++t,s+=r*n}return this._pos=t,s}_decodeSVarint(){const e=this._data;let t=this._pos,s=0,r=0;const n=1&e[t];if(this._end-t>=10)do{if(r=e[t++],s|=127&r,0==(128&r))break;if(r=e[t++],s|=(127&r)<<7,0==(128&r))break;if(r=e[t++],s|=(127&r)<<14,0==(128&r))break;if(r=e[t++],s|=(127&r)<<21,0==(128&r))break;if(r=e[t++],s+=268435456*(127&r),0==(128&r))break;if(r=e[t++],s+=34359738368*(127&r),0==(128&r))break;if(r=e[t++],s+=4398046511104*(127&r),0==(128&r))break;if(r=e[t++],s+=562949953421312*(127&r),0==(128&r))break;if(r=e[t++],s+=72057594037927940*(127&r),0==(128&r))break;if(r=e[t++],s+=0x8000000000000000*(127&r),0==(128&r))break;throw new Error("Varint too long!")}while(0);else{let n=1;for(;t!==this._end&&(r=e[t],0!=(128&r));)++t,s+=(127&r)*n,n*=128;if(t===this._end)throw new Error("Varint overrun!");++t,s+=r*n}return this._pos=t,n?-(s+1)/2:s/2}_getLength(){if(this._dataType!==r.delimited)throw new Error("Not a delimited data type!");return this._decodeVarint()}_getLengthUnsafe(){return this.getUInt32()}_toString(e,t,s){if((s=Math.min(this._end,s))-t>c){const r=e.subarray(t,s);return l.decode(r)}let r="",n="";for(let i=t;i<s;++i){const t=e[i];128&t?n+="%"+t.toString(16):(r+=decodeURIComponent(n)+String.fromCharCode(t),n="")}return n.length&&(r+=decodeURIComponent(n)),r}_toBytes(e,t,s){return s=Math.min(this._end,s),new Uint8Array(e.buffer,t,s-t)}}h.pool=new a.Z(h,void 0,(e=>{e._data=null,e._dataView=null}))},3172:(e,t,s)=>{s.r(t),s.d(t,{default:()=>d});var r=s(68773),n=s(40330),i=s(20102),a=s(80442),o=s(22974),l=s(95330),c=s(17452),h=s(19745),u=s(71058),f=s(85958);async function d(e,t){e instanceof URL&&(e=e.toString()),t?.query instanceof URLSearchParams&&(t.query=(0,c.u0)(t.query.toString().replaceAll("+"," ")));const o=(0,c.HK)(e),h=(0,c.jc)(e);h||o||(e=(0,c.Fv)(e));const x={url:e,requestOptions:{...t}};let m=(0,c.oh)(e);if(m){const e=await async function(e,t){if(null!=e.responseData)return e.responseData;if(e.headers&&(t.requestOptions.headers={...t.requestOptions.headers,...e.headers}),e.query&&(t.requestOptions.query={...t.requestOptions.query,...e.query}),e.before){let s,r;try{r=await e.before(t)}catch(e){s=M("request:interceptor",e,t)}if((r instanceof Error||r instanceof i.Z)&&(s=M("request:interceptor",r,t)),s)throw e.error&&e.error(s),s;return r}}(m,x);if(null!=e)return{data:e,getHeader:I,httpStatus:200,requestOptions:x.requestOptions,url:x.url};m.after||m.error||(m=null)}if(e=x.url,"image"===(t=x.requestOptions).responseType&&((0,a.Z)("host-webworker")||(0,a.Z)("host-node")))throw M("request:invalid-parameters",new Error("responseType 'image' is not supported in Web Workers or Node environment"),x);if("head"===t.method){if(t.body)throw M("request:invalid-parameters",new Error("body parameter cannot be set when method is 'head'"),x);if(o||h)throw M("request:invalid-parameters",new Error("data and blob URLs are not supported for method 'head'"),x)}if(await async function(){(0,a.Z)("host-webworker")?p||(p=await s.e(9884).then(s.bind(s,29884))):d._abortableFetch||(d._abortableFetch=globalThis.fetch.bind(globalThis))}(),p)return p.execute(e,t);const _=new AbortController;(0,l.fu)(t,(()=>_.abort()));const b={controller:_,credential:void 0,credentialToken:void 0,fetchOptions:void 0,hasToken:!1,interceptor:m,params:x,redoRequest:!1,useIdentity:g.useIdentity,useProxy:!1,useSSL:!1,withCredentials:!1},w=await async function(e){let t,s;await async function(e){const t=e.params.url,s=e.params.requestOptions,i=e.controller.signal,a=s.body;let o=null,c=null;if(y&&"HTMLFormElement"in globalThis&&(a instanceof FormData?o=a:a instanceof HTMLFormElement&&(o=new FormData(a))),"string"==typeof a&&(c=a),e.fetchOptions={cache:s.cacheBust&&!("polyfill"in d._abortableFetch)?"no-cache":"default",credentials:"same-origin",headers:s.headers||{},method:"head"===s.method?"HEAD":"GET",mode:"cors",priority:g.priority,redirect:"follow",signal:i},(o||c)&&(e.fetchOptions.body=o||c),"anonymous"===s.authMode&&(e.useIdentity=!1),e.hasToken=!!(/token=/i.test(t)||s.query?.token||o?.get("token")),!e.hasToken&&r.default.apiKey&&(0,u.r)(t)&&(s.query||(s.query={}),s.query.token=r.default.apiKey,e.hasToken=!0),e.useIdentity&&!e.hasToken&&!e.credentialToken&&!k(t)&&!(0,l.Hc)(i)){let r;"immediate"===s.authMode?(await T(),r=await n.id.getCredential(t,{signal:i}),e.credential=r):"no-prompt"===s.authMode?(await T(),r=await n.id.getCredential(t,{prompt:!1,signal:i}).catch((()=>{})),e.credential=r):n.id&&(r=n.id.findCredential(t)),r&&(e.credentialToken=r.token,e.useSSL=!!r.ssl)}}(e);try{do{[t,s]=await P(e)}while(!await v(e,t,s))}catch(s){const r=M("request:server",s,e.params,t);throw r.details.ssl=e.useSSL,e.interceptor?.error&&e.interceptor.error(r),r}const i=e.params.url;if(s&&/\/sharing\/rest\/(accounts|portals)\/self/i.test(i)){if(!e.hasToken&&!e.credentialToken&&s.user?.username&&!(0,c.kl)(i)){const e=(0,c.P$)(i,!0);e&&g.trustedServers.push(e)}Array.isArray(s.authorizedCrossOriginNoCorsDomains)&&(0,f.Hu)(s.authorizedCrossOriginNoCorsDomains)}const a=e.credential;if(a&&n.id){const e=n.id.findServerInfo(a.server);let t=e?.owningSystemUrl;if(t){t=t.replace(/\/?$/,"/sharing");const e=n.id.findCredential(t,a.userId);e&&-1===n.id._getIdenticalSvcIdx(t,e)&&e.resources.unshift(t)}}return{data:s,getHeader:t?e=>t?.headers.get(e):I,httpStatus:t?.status??200,requestOptions:e.params.requestOptions,ssl:e.useSSL,url:e.params.url}}(b);return m?.after?.(w),w}let p;const g=r.default.request,y="FormData"in globalThis,x=[499,498,403,401],m=["COM_0056","COM_0057","SB_0008"],_=[/\/arcgis\/tokens/i,/\/sharing(\/rest)?\/generatetoken/i,/\/rest\/info/i],I=()=>null,b=Symbol();function w(e){const t=(0,c.P$)(e);return!t||t.endsWith(".arcgis.com")||d._corsServers.includes(t)||(0,c.kl)(t)}function M(e,t,s,r){let n="Error";const a={url:s.url,requestOptions:s.requestOptions,getHeader:I,ssl:!1};if(t instanceof i.Z)return t.details?(t.details=(0,o.d9)(t.details),t.details.url=s.url,t.details.requestOptions=s.requestOptions):t.details=a,t;if(t){const e=r&&(e=>r.headers.get(e)),s=r?.status,i=t.message;i&&(n=i),e&&(a.getHeader=e),a.httpStatus=(null!=t.httpCode?t.httpCode:t.code)||s||0,a.subCode=t.subcode,a.messageCode=t.messageCode,"string"==typeof t.details?a.messages=[t.details]:a.messages=t.details,a.raw=b in t?t[b]:t}return(0,l.D_)(t)?(0,l.zE)():new i.Z(e,n,a)}async function T(){n.id||await Promise.all([s.e(7126),s.e(6261),s.e(450)]).then(s.bind(s,73660))}function k(e){return _.some((t=>t.test(e)))}async function P(e){let t=e.params.url;const s=e.params.requestOptions,r=e.fetchOptions??{},i=(0,c.jc)(t)||(0,c.HK)(t),o=s.responseType||"json",u=i?0:null!=s.timeout?s.timeout:g.timeout;let p=!1;if(!i){e.useSSL&&(t=(0,c.hO)(t)),s.cacheBust&&"default"===r.cache&&(t=(0,c.ZN)(t,"request.preventCache",Date.now()));let i={...s.query};e.credentialToken&&(i.token=e.credentialToken);let o=(0,c.B7)(i);(0,a.Z)("esri-url-encodes-apostrophe")&&(o=o.replaceAll("'","%27"));const l=t.length+1+o.length;let u;p="delete"===s.method||"post"===s.method||"put"===s.method||!!s.body||l>g.maxUrlLength;const d=s.useProxy||!!(0,c.ed)(t);if(d){const e=(0,c.b7)(t);u=e.path,!p&&u.length+1+l>g.maxUrlLength&&(p=!0),e.query&&(i={...e.query,...i})}if("HEAD"===r.method&&(p||d)){if(p){if(l>g.maxUrlLength)throw M("request:invalid-parameters",new Error("URL exceeds maximum length"),e.params);throw M("request:invalid-parameters",new Error("cannot use POST request when method is 'head'"),e.params)}if(d)throw M("request:invalid-parameters",new Error("cannot use proxy when method is 'head'"),e.params)}if(p?(r.method="delete"===s.method?"DELETE":"put"===s.method?"PUT":"POST",s.body?t=(0,c.fl)(t,i):(r.body=(0,c.B7)(i),r.headers||(r.headers={}),r.headers["Content-Type"]="application/x-www-form-urlencoded")):t=(0,c.fl)(t,i),d&&(e.useProxy=!0,t=`${u}?${t}`),i.token&&y&&r.body instanceof FormData&&!(0,h.P)(t)&&r.body.set("token",i.token),s.hasOwnProperty("withCredentials"))e.withCredentials=s.withCredentials;else if(!(0,c.D6)(t,(0,c.TI)()))if((0,c.kl)(t))e.withCredentials=!0;else if(n.id){const s=n.id.findServerInfo(t);s?.webTierAuth&&(e.withCredentials=!0)}e.withCredentials&&(r.credentials="include",(0,f.jH)(t)&&await(0,f.jz)(p?(0,c.fl)(t,i):t))}let x,m,_=0,I=!1;u>0&&(_=setTimeout((()=>{I=!0,e.controller.abort()}),u));try{if("native-request-init"===s.responseType)m=r,m.url=t;else if("image"!==s.responseType||"default"!==r.cache||"GET"!==r.method||p||function(e){if(e)for(const t of Object.getOwnPropertyNames(e))if(e[t])return!0;return!1}(s.headers)||!i&&!e.useProxy&&g.proxyUrl&&!w(t)){if(x=await d._abortableFetch(t,r),e.useProxy||function(e){const t=(0,c.P$)(e);t&&!d._corsServers.includes(t)&&d._corsServers.push(t)}(t),"native"===s.responseType)m=x;else if("HEAD"!==r.method)if(x.ok){switch(o){case"array-buffer":m=await x.arrayBuffer();break;case"blob":case"image":m=await x.blob();break;default:m=await x.text()}if(_&&(clearTimeout(_),_=0),"json"===o||"xml"===o||"document"===o)if(m)switch(o){case"json":m=JSON.parse(m);break;case"xml":m=L(m,"application/xml");break;case"document":m=L(m,"text/html")}else m=null;if(m){if("array-buffer"===o||"blob"===o){const e=x.headers.get("Content-Type");if(e&&/application\/json|text\/plain/i.test(e)&&m["blob"===o?"size":"byteLength"]<=750)try{const e=await new Response(m).json();e.error&&(m=e)}catch{}}"image"===o&&m instanceof Blob&&(m=await E(URL.createObjectURL(m),e,!0))}}else{m=await x.text();try{m=JSON.parse(m)}catch{}}}else m=await E(t,e)}catch(r){if("AbortError"===r.name){if(I)throw(0,f.Tf)();throw(0,l.zE)("Request canceled")}if(!(!x&&r instanceof TypeError&&g.proxyUrl)||s.body||"delete"===s.method||"head"===s.method||"post"===s.method||"put"===s.method||e.useProxy||w(t))throw r;e.redoRequest=!0,(0,c.tD)({proxyUrl:g.proxyUrl,urlPrefix:(0,c.P$)(t)??""})}finally{_&&clearTimeout(_)}return[x,m]}function L(e,t){let s;try{s=(new DOMParser).parseFromString(e,t)}catch{}if(!s||s.getElementsByTagName("parsererror").length)throw new SyntaxError("XML Parse error");return s}async function v(e,t,s){if(e.redoRequest)return e.redoRequest=!1,!1;const r=e.params.requestOptions;if(!t||"native"===r.responseType||"native-request-init"===r.responseType)return!0;let i,a;if(s&&(s.error?i=s.error:"error"===s.status&&Array.isArray(s.messages)&&(i={...s},i[b]=s,i.details=s.messages)),!i&&!t.ok)throw i=new Error(`Unable to load ${t.url} status: ${t.status}`),i[b]=s,i;let o,l=null;i&&(a=Number(i.code),l=i.hasOwnProperty("subcode")?Number(i.subcode):null,o=i.messageCode,o=o?.toUpperCase());const c=r.authMode;if(403===a&&(4===l||i.message?.toLowerCase().includes("ssl")&&!i.message.toLowerCase().includes("permission"))){if(!e.useSSL)return e.useSSL=!0,!1}else if(!e.hasToken&&e.useIdentity&&("no-prompt"!==c||498===a)&&void 0!==a&&x.includes(a)&&!k(e.params.url)&&(403!==a||o&&!m.includes(o)&&(null==l||2===l&&e.credentialToken))){await T();try{const t=await n.id.getCredential(e.params.url,{error:M("request:server",i,e.params),prompt:"no-prompt"!==c,signal:e.controller.signal,token:e.credentialToken});return e.credential=t,e.credentialToken=t.token,e.useSSL=e.useSSL||t.ssl,!1}catch(t){if("no-prompt"===c)return e.credential=void 0,e.credentialToken=void 0,!1;i=t}}if(i)throw i;return!0}function E(e,t,s=!1){const r=t.controller.signal,n=new Image;return t.withCredentials?n.crossOrigin="use-credentials":n.crossOrigin="anonymous",n.alt="",n.fetchPriority=g.priority,n.src=e,(0,f.fY)(n,e,s,r)}d._abortableFetch=null,d._corsServers=["https://server.arcgisonline.com","https://services.arcgisonline.com"]},71058:(e,t,s)=>{s.d(t,{r:()=>i});var r=s(17452);const n=["elevation3d.arcgis.com","js.arcgis.com","jsdev.arcgis.com","jsqa.arcgis.com","static.arcgis.com"];function i(e){const t=(0,r.P$)(e,!0);return!!t&&t.endsWith(".arcgis.com")&&!n.includes(t)&&!e.endsWith("/sharing/rest/generateToken")}},85958:(e,t,s)=>{s.d(t,{Hu:()=>u,Tf:()=>h,fY:()=>o,jH:()=>f,jz:()=>d});var r=s(68773),n=s(80442),i=s(95330),a=s(17452);function o(e,t,s=!1,r){return new Promise(((a,o)=>{if((0,i.Hc)(r))return void o(l());let c=()=>{f(),o(new Error(`Unable to load ${t}`))},h=()=>{const t=e;f(),a(t)},u=()=>{if(!e)return;const t=e;f(),t.src="",o(l())};const f=()=>{(0,n.Z)("esri-image-decode")||(e.removeEventListener("error",c),e.removeEventListener("load",h)),c=null,h=null,e=null,null!=r&&r.removeEventListener("abort",u),u=null,s&&URL.revokeObjectURL(t)};null!=r&&r.addEventListener("abort",u),(0,n.Z)("esri-image-decode")?e.decode().then(h,c):(e.addEventListener("error",c),e.addEventListener("load",h))}))}function l(){try{return new DOMException("Aborted","AbortError")}catch{const e=new Error;return e.name="AbortError",e}}const c="Timeout exceeded";function h(){return new Error(c)}function u(e){r.default.request.crossOriginNoCorsDomains||(r.default.request.crossOriginNoCorsDomains={});const t=r.default.request.crossOriginNoCorsDomains;for(let s of e)s=s.toLowerCase(),/^https?:\/\//.test(s)?t[(0,a.P$)(s)??""]=0:(t[(0,a.P$)("http://"+s)??""]=0,t[(0,a.P$)("https://"+s)??""]=0)}function f(e){const t=r.default.request.crossOriginNoCorsDomains;if(t){let s=(0,a.P$)(e);if(s)return s=s.toLowerCase(),!(0,a.D6)(s,(0,a.TI)())&&t[s]<Date.now()-36e5}return!1}async function d(e){const t=r.default.request.crossOriginNoCorsDomains,s=(0,a.P$)(e);t&&s&&(t[s.toLowerCase()]=Date.now());const n=(0,a.mN)(e);e=n.path,"json"===n.query?.f&&(e+="?f=json");try{await fetch(e,{mode:"no-cors",credentials:"include"})}catch{}}},56456:(e,t,s)=>{s.r(t),s.d(t,{default:()=>Q});var r=s(95330),n=s(4215),i=s(59255),a=s(31363);function o(e){return 746===e||747===e||!(e<4352)&&(e>=12704&&e<=12735||e>=12544&&e<=12591||e>=65072&&e<=65103&&!(e>=65097&&e<=65103)||e>=63744&&e<=64255||e>=13056&&e<=13311||e>=11904&&e<=12031||e>=12736&&e<=12783||e>=12288&&e<=12351&&!(e>=12296&&e<=12305||e>=12308&&e<=12319||12336===e)||e>=13312&&e<=19903||e>=19968&&e<=40959||e>=12800&&e<=13055||e>=12592&&e<=12687||e>=43360&&e<=43391||e>=55216&&e<=55295||e>=4352&&e<=4607||e>=44032&&e<=55215||e>=12352&&e<=12447||e>=12272&&e<=12287||e>=12688&&e<=12703||e>=12032&&e<=12255||e>=12784&&e<=12799||e>=12448&&e<=12543&&12540!==e||e>=65280&&e<=65519&&!(65288===e||65289===e||65293===e||e>=65306&&e<=65310||65339===e||65341===e||65343===e||e>=65371&&e<=65503||65507===e||e>=65512&&e<=65519)||e>=65104&&e<=65135&&!(e>=65112&&e<=65118||e>=65123&&e<=65126)||e>=5120&&e<=5759||e>=6320&&e<=6399||e>=65040&&e<=65055||e>=19904&&e<=19967||e>=40960&&e<=42127||e>=42128&&e<=42191)}function l(e){return!(e<11904)&&(e>=12704&&e<=12735||e>=12544&&e<=12591||e>=65072&&e<=65103||e>=63744&&e<=64255||e>=13056&&e<=13311||e>=11904&&e<=12031||e>=12736&&e<=12783||e>=12288&&e<=12351||e>=13312&&e<=19903||e>=19968&&e<=40959||e>=12800&&e<=13055||e>=65280&&e<=65519||e>=12352&&e<=12447||e>=12272&&e<=12287||e>=12032&&e<=12255||e>=12784&&e<=12799||e>=12448&&e<=12543||e>=65040&&e<=65055||e>=42128&&e<=42191||e>=40960&&e<=42127)}function c(e){switch(e){case 10:case 32:case 38:case 40:case 41:case 43:case 45:case 47:case 173:case 183:case 8203:case 8208:case 8211:case 8231:return!0}return!1}function h(e){switch(e){case 9:case 10:case 11:case 12:case 13:case 32:return!0}return!1}var u=s(87893);const f=24;class d{constructor(e,t,s,r,n,i,a){this._glyphItems=e,this._maxWidth=t,this._lineHeight=s,this._letterSpacing=r,this._hAnchor=n,this._vAnchor=i,this._justify=a}getShaping(e,t,s){const r=this._letterSpacing,n=this._lineHeight,i=this._justify,a=this._maxWidth,u=[];let f=0,d=0;for(const t of e){const e=t.codePointAt(0);if(null==e)continue;const n=s&&o(e);let i;for(const t of this._glyphItems)if(i=t[e],i)break;u.push({codePoint:e,x:f,y:d,vertical:n,glyphMosaicItem:i}),i&&(f+=i.metrics.advance+r)}let p=f;a>0&&(p=f/Math.max(1,Math.ceil(f/a)));const g=e.includes("​"),y=[],x=u.length;for(let e=0;e<x-1;e++){const t=u[e].codePoint,s=l(t);if(c(t)||s){let r=0;if(10===t)r-=1e4;else if(s&&g)r+=150;else{40!==t&&65288!==t||(r+=50);const s=u[e+1].codePoint;41!==s&&65289!==s||(r+=50)}y.push(this._buildBreak(e+1,u[e].x,p,y,r,!1))}}const m=this._optimalBreaks(this._buildBreak(x,f,p,y,0,!0));let _=0;const I=t?-n:n;let b=0;for(let e=0;e<m.length;e++){const t=m[e];let s=b;for(;s<t&&h(u[s].codePoint);)u[s].glyphMosaicItem=null,++s;let r=t-1;for(;r>s&&h(u[r].codePoint);)u[r].glyphMosaicItem=null,--r;if(s<=r){const e=u[s].x;for(let t=s;t<=r;t++)u[t].x-=e,u[t].y=d;let t=u[r].x;u[r].glyphMosaicItem&&(t+=u[r].glyphMosaicItem.metrics.advance),_=Math.max(t,_),i&&this._applyJustification(u,s,r)}b=t,d+=I}if(u.length>0){const e=m.length-1,s=(i-this._hAnchor)*_;let r=(-this._vAnchor*(e+1)+.5)*n;t&&e&&(r+=e*n);for(const e of u)e.x+=s,e.y+=r}return u.filter((e=>e.glyphMosaicItem))}static getTextBox(e,t){if(!e.length)return null;let s=1/0,r=1/0,n=0,i=0;for(const a of e){const e=a.glyphMosaicItem.metrics.advance,o=a.x,l=a.y-17,c=o+e,h=l+t;s=Math.min(s,o),n=Math.max(n,c),r=Math.min(r,l),i=Math.max(i,h)}return{x:s,y:r,width:n-s,height:i-r}}static getBox(e){if(!e.length)return null;let t=1/0,s=1/0,r=0,n=0;for(const i of e){const{height:e,left:a,top:o,width:l}=i.glyphMosaicItem.metrics,c=i.x,h=i.y-(e-Math.abs(o)),u=c+l+a,f=h+e;t=Math.min(t,c),r=Math.max(r,u),s=Math.min(s,h),n=Math.max(n,f)}return{x:t,y:s,width:r-t,height:n-s}}static addDecoration(e,t){const s=e.length;if(0===s)return;let r=e[0].x+e[0].glyphMosaicItem.metrics.left,n=e[0].y;for(let i=1;i<s;i++){const s=e[i];if(s.y!==n){const a=e[i-1].x+e[i-1].glyphMosaicItem.metrics.left+e[i-1].glyphMosaicItem.metrics.width;e.push({codePoint:0,x:r,y:n+t-3,vertical:!1,glyphMosaicItem:{sdf:!0,rect:new u.Z(4,0,4,8),metrics:{width:a-r,height:8,left:0,top:0,advance:0},page:0,code:0}}),n=s.y,r=s.x+s.glyphMosaicItem.metrics.left}}const i=e[s-1].x+e[s-1].glyphMosaicItem.metrics.left+e[s-1].glyphMosaicItem.metrics.width;e.push({codePoint:0,x:r,y:n+t-3,vertical:!1,glyphMosaicItem:{sdf:!0,rect:new u.Z(4,0,4,8),metrics:{width:i-r,height:8,left:0,top:0,advance:0},page:0,code:0}})}_breakScore(e,t,s,r){const n=(e-t)*(e-t);return r?e<t?n/2:2*n:n+Math.abs(s)*s}_buildBreak(e,t,s,r,n,i){let a=null,o=this._breakScore(t,s,n,i);for(const e of r){const r=t-e.x,l=this._breakScore(r,s,n,i)+e.score;l<=o&&(a=e,o=l)}return{index:e,x:t,score:o,previousBreak:a}}_optimalBreaks(e){return e?this._optimalBreaks(e.previousBreak).concat(e.index):[]}_applyJustification(e,t,s){const r=e[s],n=r.vertical?f:r.glyphMosaicItem?r.glyphMosaicItem.metrics.advance:0,i=(r.x+n)*this._justify;for(let r=t;r<=s;r++)e[r].x-=i}}var p=s(21315);const g=.5;class y{constructor(e,t,s=0,r=-1,n=g){this.x=e,this.y=t,this.angle=s,this.segment=r,this.minzoom=n}}class x{constructor(e,t,s,r,n,i=g,o=a.B1){this.anchor=e,this.labelAngle=t,this.glyphAngle=s,this.page=r,this.alternateVerticalGlyph=n,this.minzoom=i,this.maxzoom=o}}class m{constructor(e,t,s,r,n,i,a,o,l,c,h,u){this.tl=e,this.tr=t,this.bl=s,this.br=r,this.mosaicRect=n,this.labelAngle=i,this.minAngle=a,this.maxAngle=o,this.anchor=l,this.minzoom=c,this.maxzoom=h,this.page=u}}class _{constructor(e){this.shapes=e}}class I{getIconPlacement(e,t,s){const r=new i.E9(e.x,e.y),n=s.rotationAlignment===p.aF.MAP,o=s.keepUpright;let l=s.rotate*a.DT;n&&(l+=e.angle);const c=new _([]);return s.allowOverlap&&s.ignorePlacement||(c.iconColliders=[]),this._addIconPlacement(c,r,t,s,l),n&&o&&this._addIconPlacement(c,r,t,s,l+a.JJ),c}_addIconPlacement(e,t,s,r,n){const o=s.pixelRatio,l=s.width/o,c=s.height/o,h=r.offset;let u=h[0],f=h[1];switch(r.anchor){case p.nR.CENTER:u-=l/2,f-=c/2;break;case p.nR.LEFT:f-=c/2;break;case p.nR.RIGHT:u-=l,f-=c/2;break;case p.nR.TOP:u-=l/2;break;case p.nR.BOTTOM:u-=l/2,f-=c;break;case p.nR.TOP_LEFT:break;case p.nR.BOTTOM_LEFT:f-=c;break;case p.nR.TOP_RIGHT:u-=l;break;case p.nR.BOTTOM_RIGHT:u-=l,f-=c}const d=s.rect,y=2/o,x=u-y,_=f-y,I=x+d.width/o,b=_+d.height/o,w=new i.E9(x,_),M=new i.E9(I,b),T=new i.E9(x,b),k=new i.E9(I,_);if(0!==n){const e=Math.cos(n),t=Math.sin(n);w.rotate(e,t),M.rotate(e,t),T.rotate(e,t),k.rotate(e,t)}const P=new m(w,k,T,M,d,n,0,256,t,g,a.B1,0);if(e.shapes.push(P),!r.allowOverlap||!r.ignorePlacement){const s=r.size,i=r.padding,o={xTile:t.x,yTile:t.y,dxPixels:u*s-i,dyPixels:f*s-i,hard:!r.optional,partIndex:0,width:l*s+2*i,height:c*s+2*i,angle:n,minLod:g,maxLod:a.B1};e.iconColliders.push(o)}}getTextPlacement(e,t,s,r){const n=new i.E9(e.x,e.y),o=r.rotate*a.DT,l=r.rotationAlignment===p.aF.MAP,c=r.keepUpright,h=r.padding;let u=g;const y=l?e.angle:0,I=e.segment>=0&&l,b=r.allowOverlap&&r.ignorePlacement?null:[],w=[],M=!I;let T=Number.POSITIVE_INFINITY,k=Number.NEGATIVE_INFINITY,P=T,L=k;const v=(I||l)&&c,E=r.size/f;let D=!1;for(const e of t)if(e.vertical){D=!0;break}let B,A=0,V=0;if(!I&&D){const e=d.getTextBox(t,r.lineHeight*f);switch(r.anchor){case p.nR.LEFT:A=e.height/2,V=-e.width/2;break;case p.nR.RIGHT:A=-e.height/2,V=e.width/2;break;case p.nR.TOP:A=e.height/2,V=e.width/2;break;case p.nR.BOTTOM:A=-e.height/2,V=-e.width/2;break;case p.nR.TOP_LEFT:A=e.height;break;case p.nR.BOTTOM_LEFT:V=-e.width;break;case p.nR.TOP_RIGHT:V=e.width;break;case p.nR.BOTTOM_RIGHT:A=-e.height}}A+=r.offset[0]*f,V+=r.offset[1]*f;for(const f of t){const t=f.glyphMosaicItem;if(!t||t.rect.isEmpty)continue;const d=t.rect,p=t.metrics,_=t.page;if(b&&M){if(void 0!==B&&B!==f.y){let t,s,n,i;D?(t=-L+A,s=T+V,n=L-P,i=k-T):(t=T+A,s=P+V,n=k-T,i=L-P);const l={xTile:e.x,yTile:e.y,dxPixels:t*E-h,dyPixels:s*E-h,hard:!r.optional,partIndex:1,width:n*E+2*h,height:i*E+2*h,angle:o,minLod:g,maxLod:a.B1};b.push(l),T=Number.POSITIVE_INFINITY,k=Number.NEGATIVE_INFINITY,P=T,L=k}B=f.y}const S=[];if(I){const r=.5*t.metrics.width,n=(f.x+p.left-4+r)*E*8;if(u=this._placeGlyph(e,u,n,s,e.segment,1,f.vertical,_,S),c&&(u=this._placeGlyph(e,u,n,s,e.segment,-1,f.vertical,_,S)),u>=2)break}else S.push(new x(n,y,y,_,!1)),l&&c&&S.push(new x(n,y+a.JJ,y+a.JJ,_,!1));const C=f.x+p.left,R=f.y-17-p.top,O=C+p.width,F=R+p.height;let U,q,N,z,Z,G,H,j;if(!I&&D)if(f.vertical){const e=(C+O)/2-p.height/2,t=(R+F)/2+p.width/2;U=new i.E9(-t-4+A,e-4+V),q=new i.E9(U.x+d.width,U.y+d.height),N=new i.E9(U.x,q.y),z=new i.E9(q.x,U.y)}else U=new i.E9(4-R+A,C-4+V),q=new i.E9(U.x-d.height,U.y+d.width),N=new i.E9(q.x,U.y),z=new i.E9(U.x,q.y);else U=new i.E9(C-4+A,R-4+V),q=new i.E9(U.x+d.width,U.y+d.height),N=new i.E9(U.x,q.y),z=new i.E9(q.x,U.y);for(const t of S){let s,n,a,l;if(t.alternateVerticalGlyph){if(!Z){const e=(R+F)/2+V;Z=new i.E9((C+O)/2+A-p.height/2-4,e+p.width/2+4),G=new i.E9(Z.x+d.height,Z.y-d.width),H=new i.E9(G.x,Z.y),j=new i.E9(Z.x,G.y)}s=Z,n=H,a=j,l=G}else s=U,n=N,a=z,l=q;const c=R,u=F,g=t.glyphAngle+o;if(0!==g){const e=Math.cos(g),t=Math.sin(g);s=s.clone(),n=n?.clone(),a=a?.clone(),l=l?.clone(),s.rotate(e,t),l?.rotate(e,t),n?.rotate(e,t),a?.rotate(e,t)}let y=0,x=256;if(I&&D?f.vertical?t.alternateVerticalGlyph?(y=32,x=96):(y=224,x=32):(y=224,x=96):(y=192,x=64),w.push(new m(s,a,n,l,d,t.labelAngle,y,x,t.anchor,t.minzoom,t.maxzoom,t.page)),b&&(!v||this._legible(t.labelAngle)))if(M)C<T&&(T=C),c<P&&(P=c),O>k&&(k=O),u>L&&(L=u);else if(t.minzoom<2){const s={xTile:e.x,yTile:e.y,dxPixels:(C+A)*E-h,dyPixels:(c+A)*E-h,hard:!r.optional,partIndex:1,width:(O-C)*E+2*h,height:(u-c)*E+2*h,angle:g,minLod:t.minzoom,maxLod:t.maxzoom};b.push(s)}}}if(u>=2)return null;if(b&&M){let t,s,n,i;D?(t=-L+A,s=T+V,n=L-P,i=k-T):(t=T+A,s=P+V,n=k-T,i=L-P);const l={xTile:e.x,yTile:e.y,dxPixels:t*E-h,dyPixels:s*E-h,hard:!r.optional,partIndex:1,width:n*E+2*h,height:i*E+2*h,angle:o,minLod:g,maxLod:a.B1};b.push(l)}const S=new _(w);return b&&b.length>0&&(S.textColliders=b),S}_legible(e){const t=(0,a.Or)(e);return t<65||t>=193}_placeGlyph(e,t,s,r,n,o,l,c,h){let u=o;const f=u<0?(0,a.DQ)(e.angle+a.JJ,a._U):e.angle;let d=0;s<0&&(u*=-1,s*=-1,d=a.JJ),u>0&&++n;let p=new i.E9(e.x,e.y),g=r[n],y=a.B1;if(r.length<=n)return y;for(;;){const e=g.x-p.x,i=g.y-p.y,o=Math.sqrt(e*e+i*i),m=Math.max(s/o,t),_=e/o,I=i/o,b=(0,a.DQ)(Math.atan2(I,_)+d,a._U);if(h.push(new x(p,f,b,c,!1,m,y)),l&&h.push(new x(p,f,b,c,!0,m,y)),m<=t)return m;p=g.clone();do{if(n+=u,r.length<=n||n<0)return m;g=r[n]}while(p.isEqual(g));let w=g.x-p.x,M=g.y-p.y;const T=Math.sqrt(w*w+M*M);w*=o/T,M*=o/T,p.x-=w,p.y-=M,y=m}}}var b,w,M=s(45091),T=s(65390);(w=b||(b={}))[w.moveTo=1]="moveTo",w[w.lineTo=2]="lineTo",w[w.close=7]="close";class k{constructor(e,t){this.values={},this._geometry=void 0,this._pbfGeometry=null;const s=t.keys,r=t.values,n=e.asUnsafe();for(;n.next();)switch(n.tag()){case 1:this.id=n.getUInt64();break;case 2:{const e=n.getMessage().asUnsafe(),t=this.values;for(;!e.empty();){const n=e.getUInt32(),i=e.getUInt32();t[s[n]]=r[i]}e.release();break}case 3:this.type=n.getUInt32();break;case 4:this._pbfGeometry=n.getMessage();break;default:n.skip()}}getGeometry(e){if(void 0!==this._geometry)return this._geometry;if(!this._pbfGeometry)return null;const t=this._pbfGeometry.asUnsafe();let s,r;this._pbfGeometry=null,e?e.reset(this.type):s=[];let n,a=b.moveTo,o=0,l=0,c=0;for(;!t.empty();){if(0===o){const e=t.getUInt32();a=7&e,o=e>>3}switch(o--,a){case b.moveTo:l+=t.getSInt32(),c+=t.getSInt32(),e?e.moveTo(l,c):s&&(r&&s.push(r),r=[],r.push(new i.E9(l,c)));break;case b.lineTo:l+=t.getSInt32(),c+=t.getSInt32(),e?e.lineTo(l,c):r&&r.push(new i.E9(l,c));break;case b.close:e?e.close():r&&!r[0].equals(l,c)&&r.push(r[0].clone());break;default:throw t.release(),new Error("Invalid path operation")}}return e?n=e.result():s&&(r&&s.push(r),n=s),t.release(),this._geometry=n,n}}var P=s(26084);class L extends P.Z{constructor(){super(12)}add(e,t,s){const r=this.array;r.push(e),r.push(t),r.push(s)}}class v{constructor(e){this.extent=4096,this.keys=[],this.values=[],this._pbfLayer=e.clone();const t=e.asUnsafe();for(;t.next();)switch(t.tag()){case 1:this.name=t.getString();break;case 3:this.keys.push(t.getString());break;case 4:this.values.push(t.processMessage(v._parseValue));break;case 5:this.extent=t.getUInt32();break;default:t.skip()}}getData(){return this._pbfLayer}static _parseValue(e){for(;e.next();)switch(e.tag()){case 1:return e.getString();case 2:return e.getFloat();case 3:return e.getDouble();case 4:return e.getInt64();case 5:return e.getUInt64();case 6:return e.getSInt64();case 7:return e.getBool();default:e.skip()}return null}}class E extends P.Z{constructor(e){super(e)}add(e,t,s,r,n,i,a,o,l,c,h,u){const f=this.array;let d=P.Z.i1616to32(e,t);f.push(d);const p=31;d=P.Z.i8888to32(Math.round(p*s),Math.round(p*r),Math.round(p*n),Math.round(p*i)),f.push(d),d=P.Z.i8888to32(Math.round(p*a),Math.round(p*o),Math.round(p*l),Math.round(p*c)),f.push(d),d=P.Z.i1616to32(h,0),f.push(d),u&&f.push(...u)}}class D extends P.Z{constructor(e){super(e)}add(e,t,s){const r=this.array;r.push(P.Z.i1616to32(e,t)),s&&r.push(...s)}}class B extends P.Z{constructor(e){super(e)}add(e,t,s,r,n,i,a){const o=this.array,l=this.index;let c=P.Z.i1616to32(e,t);return o.push(c),c=P.Z.i8888to32(Math.round(15*s),Math.round(15*r),n,i),o.push(c),a&&o.push(...a),l}}class A extends P.Z{constructor(e){super(e)}add(e,t,s,r,n,i,o,l,c,h,u,f){const d=this.array;let p=P.Z.i1616to32(e,t);d.push(p),p=P.Z.i1616to32(Math.round(8*s),Math.round(8*r)),d.push(p),p=P.Z.i8888to32(n/4,i/4,l,c),d.push(p),p=P.Z.i8888to32(0,(0,a.Or)(o),10*h,Math.min(10*u,255)),d.push(p),f&&d.push(...f)}}class V extends P.Z{constructor(e){super(e)}add(e,t,s,r,n){const i=this.array,a=P.Z.i1616to32(2*e+s,2*t+r);i.push(a),n&&i.push(...n)}}class S{constructor(e,t,s){this.layerExtent=4096,this._features=[],this.layer=e,this.zoom=t,this._spriteInfo=s,this._filter=e.getFeatureFilter()}pushFeature(e){this._filter&&!this._filter.filter(e,this.zoom)||this._features.push(e)}hasFeatures(){return this._features.length>0}getResources(e,t,s){}}class C extends S{constructor(e,t,s,r,i){super(e,t,s),this.type=n.al.CIRCLE,this._circleVertexBuffer=r,this._circleIndexBuffer=i}get circleIndexStart(){return this._circleIndexStart}get circleIndexCount(){return this._circleIndexCount}processFeatures(e){const t=this._circleVertexBuffer,s=this._circleIndexBuffer;this._circleIndexStart=3*s.index,this._circleIndexCount=0;const r=this.layer,n=this.zoom;e&&e.setExtent(this.layerExtent);for(const i of this._features){const a=i.getGeometry(e);if(!a)continue;const o=r.circleMaterial.encodeAttributes(i,n,r);for(const e of a)if(e)for(const r of e){const e=t.index;t.add(r.x,r.y,0,0,o),t.add(r.x,r.y,0,1,o),t.add(r.x,r.y,1,0,o),t.add(r.x,r.y,1,1,o),s.add(e,e+1,e+2),s.add(e+1,e+2,e+3),this._circleIndexCount+=6}}}serialize(){let e=6;e+=this.layerUIDs.length,e+=this._circleVertexBuffer.array.length,e+=this._circleIndexBuffer.array.length;const t=new Uint32Array(e),s=new Int32Array(t.buffer);let r=0;t[r++]=this.type,t[r++]=this.layerUIDs.length;for(let e=0;e<this.layerUIDs.length;e++)t[r++]=this.layerUIDs[e];t[r++]=this._circleIndexStart,t[r++]=this._circleIndexCount,t[r++]=this._circleVertexBuffer.array.length;for(let e=0;e<this._circleVertexBuffer.array.length;e++)s[r++]=this._circleVertexBuffer.array[e];t[r++]=this._circleIndexBuffer.array.length;for(let e=0;e<this._circleIndexBuffer.array.length;e++)t[r++]=this._circleIndexBuffer.array[e];return t.buffer}}var R=s(3894),O=s(95401);class F extends S{constructor(e,t,s,r,i,a,o){super(e,t,s),this.type=n.al.FILL,this._patternMap=new Map,this._fillVertexBuffer=r,this._fillIndexBuffer=i,this._outlineVertexBuffer=a,this._outlineIndexBuffer=o}get fillIndexStart(){return this._fillIndexStart}get fillIndexCount(){return this._fillIndexCount}get outlineIndexStart(){return this._outlineIndexStart}get outlineIndexCount(){return this._outlineIndexCount}getResources(e,t,s){const r=this.layer,n=this.zoom,i=r.getPaintProperty("fill-pattern");if(i)if(i.isDataDriven)for(const e of this._features)t(i.getValue(n,e),!0);else t(i.getValue(n),!0)}processFeatures(e){this._fillIndexStart=3*this._fillIndexBuffer.index,this._fillIndexCount=0,this._outlineIndexStart=3*this._outlineIndexBuffer.index,this._outlineIndexCount=0;const t=this.layer,s=this.zoom,{fillMaterial:r,outlineMaterial:n,hasDataDrivenFill:i,hasDataDrivenOutline:a}=t;e&&e.setExtent(this.layerExtent);const o=t.getPaintProperty("fill-pattern"),l=o?.isDataDriven;let c=!o&&t.getPaintValue("fill-antialias",s);if(t.outlineUsesFillColor){if(c&&!t.hasDataDrivenOpacity){const e=t.getPaintValue("fill-opacity",s),r=t.getPaintValue("fill-opacity",s+1);e<1&&r<1&&(c=!1)}if(c&&!t.hasDataDrivenColor){const e=t.getPaintValue("fill-color",s),r=t.getPaintValue("fill-color",s+1);e[3]<1&&r[3]<1&&(c=!1)}}const h=this._features,u=e?.validateTessellation;if(l){const i=[];for(const l of h){const h=o.getValue(s,l),f=this._spriteInfo[h];if(!f||!f.rect)continue;const d=r.encodeAttributes(l,s,t,f),p=c&&a?n.encodeAttributes(l,s,t):[],g=l.getGeometry(e);i.push({ddFillAttributes:d,ddOutlineAttributes:p,page:f.page,geometry:g}),i.sort(((e,t)=>e.page-t.page));for(const{ddFillAttributes:e,ddOutlineAttributes:s,page:r,geometry:n}of i)this._processFeature(n,c,t.outlineUsesFillColor,e,s,u,r)}}else for(const o of h){const l=i?r.encodeAttributes(o,s,t):null,h=c&&a?n.encodeAttributes(o,s,t):null,f=o.getGeometry(e);this._processFeature(f,c,t.outlineUsesFillColor,l,h,u)}}serialize(){let e=10;e+=this.layerUIDs.length,e+=this._fillVertexBuffer.array.length,e+=this._fillIndexBuffer.array.length,e+=this._outlineVertexBuffer.array.length,e+=this._outlineIndexBuffer.array.length,e+=3*this._patternMap.size+1;const t=new Uint32Array(e),s=new Int32Array(t.buffer);let r=0;t[r++]=this.type,t[r++]=this.layerUIDs.length;for(let e=0;e<this.layerUIDs.length;e++)t[r++]=this.layerUIDs[e];t[r++]=this._fillIndexStart,t[r++]=this._fillIndexCount,t[r++]=this._outlineIndexStart,t[r++]=this._outlineIndexCount;const n=this._patternMap,i=n.size;if(t[r++]=i,i>0)for(const[e,[s,i]]of n)t[r++]=e,t[r++]=s,t[r++]=i;t[r++]=this._fillVertexBuffer.array.length;for(let e=0;e<this._fillVertexBuffer.array.length;e++)s[r++]=this._fillVertexBuffer.array[e];t[r++]=this._fillIndexBuffer.array.length;for(let e=0;e<this._fillIndexBuffer.array.length;e++)t[r++]=this._fillIndexBuffer.array[e];t[r++]=this._outlineVertexBuffer.array.length;for(let e=0;e<this._outlineVertexBuffer.array.length;e++)s[r++]=this._outlineVertexBuffer.array[e];t[r++]=this._outlineIndexBuffer.array.length;for(let e=0;e<this._outlineIndexBuffer.array.length;e++)t[r++]=this._outlineIndexBuffer.array[e];return t.buffer}_processFeature(e,t,s,r,n,i,a){if(!e)return;const o=e.length,l=!n||0===n.length;if(t&&(!s||l))for(let t=0;t<o;t++)this._processOutline(e[t],n);let c;for(let t=0;t<o;t++){const s=F._area(e[t]);s>32?(void 0!==c&&this._processFill(e,c,r,i,a),c=[t]):s<-32&&void 0!==c&&c.push(t)}void 0!==c&&this._processFill(e,c,r,i,a)}_processOutline(e,t){const s=this._outlineVertexBuffer,r=this._outlineIndexBuffer,n=r.index;let a,o,l;const c=new i.E9(0,0),h=new i.E9(0,0),u=new i.E9(0,0);let f=-1,d=-1,p=-1,g=-1,y=-1,x=!1,m=e.length;if(m<2)return;const _=e[0];let I=e[m-1];for(;m&&I.isEqual(_);)--m,I=e[m-1];if(!(m-0<2)){for(let n=0;n<m;++n){0===n?(a=e[m-1],o=e[0],l=e[1],c.assignSub(o,a),c.normalize(),c.rightPerpendicular()):(a=o,o=l,l=n!==m-1?e[n+1]:e[0],c.assign(h));const i=this._isClipEdge(a,o);-1===g&&(x=i),h.assignSub(l,o),h.normalize(),h.rightPerpendicular();const _=c.x*h.y-c.y*h.x;u.assignAdd(c,h),u.normalize();const I=-u.x*-c.x+-u.y*-c.y;let b=Math.abs(0!==I?1/I:1);b>8&&(b=8),_>=0?(p=s.add(o.x,o.y,c.x,c.y,0,1,t),-1===g&&(g=p),f>=0&&d>=0&&p>=0&&!i&&r.add(f,d,p),d=s.add(o.x,o.y,b*-u.x,b*-u.y,0,-1,t),-1===y&&(y=d),f>=0&&d>=0&&p>=0&&!i&&r.add(f,d,p),f=d,d=p,p=s.add(o.x,o.y,u.x,u.y,0,1,t),f>=0&&d>=0&&p>=0&&!i&&r.add(f,d,p),d=s.add(o.x,o.y,h.x,h.y,0,1,t),f>=0&&d>=0&&p>=0&&!i&&r.add(f,d,p)):(p=s.add(o.x,o.y,b*u.x,b*u.y,0,1,t),-1===g&&(g=p),f>=0&&d>=0&&p>=0&&!i&&r.add(f,d,p),d=s.add(o.x,o.y,-c.x,-c.y,0,-1,t),-1===y&&(y=d),f>=0&&d>=0&&p>=0&&!i&&r.add(f,d,p),f=d,d=p,p=s.add(o.x,o.y,-u.x,-u.y,0,-1,t),f>=0&&d>=0&&p>=0&&!i&&r.add(f,d,p),f=s.add(o.x,o.y,-h.x,-h.y,0,-1,t),f>=0&&d>=0&&p>=0&&!i&&r.add(f,d,p))}f>=0&&d>=0&&g>=0&&!x&&r.add(f,d,g),f>=0&&g>=0&&y>=0&&!x&&r.add(f,y,g),this._outlineIndexCount+=3*(r.index-n)}}_processFill(e,t,s,r,n){let i;t.length>1&&(i=[]);let a=0;for(const s of t)0!==a&&i.push(a),a+=e[s].length;const o=2*a,l=R.Z.acquire();for(const s of t){const t=e[s],r=t.length;for(let e=0;e<r;++e)l.push(t[e].x,t[e].y)}const c=(0,O.e)(l,i,2);if(O.e.deviation(l,i,2,c)>0){const r=t.map((t=>e[t].length)),{buffer:i,vertexCount:a}=(0,T.b)(l,r);if(a>0){const e=this._fillVertexBuffer.index;for(let e=0;e<a;e++)this._fillVertexBuffer.add(i[2*e],i[2*e+1],s);for(let t=0;t<a;t+=3){const s=e+t;this._fillIndexBuffer.add(s,s+1,s+2)}if(void 0!==n){const e=this._patternMap,t=e.get(n);t?t[1]+=a:e.set(n,[this._fillIndexStart+this._fillIndexCount,a])}this._fillIndexCount+=a}}else{const e=c.length;if(e>0){const t=this._fillVertexBuffer.index;let r=0;for(;r<o;)this._fillVertexBuffer.add(l[r++],l[r++],s);let i=0;for(;i<e;)this._fillIndexBuffer.add(t+c[i++],t+c[i++],t+c[i++]);if(void 0!==n){const t=this._patternMap,s=t.get(n);s?s[1]+=e:t.set(n,[this._fillIndexStart+this._fillIndexCount,e])}this._fillIndexCount+=e}}R.Z.release(l)}_isClipEdge(e,t){return e.x===t.x?e.x<=-64||e.x>=4160:e.y===t.y&&(e.y<=-64||e.y>=4160)}static _area(e){let t=0;const s=e.length-1;for(let r=0;r<s;r++)t+=(e[r].x-e[r+1].x)*(e[r].y+e[r+1].y);return t+=(e[s].x-e[0].x)*(e[s].y+e[0].y),.5*t}}var U=s(67327);class q extends S{constructor(e,t,s,r,i){super(e,t,s),this.type=n.al.LINE,this._tessellationOptions={pixelCoordRatio:8,halfWidth:0,offset:0},this._patternMap=new Map,this.tessellationProperties={_lineVertexBuffer:null,_lineIndexBuffer:null,_ddValues:null},this.tessellationProperties._lineVertexBuffer=r,this.tessellationProperties._lineIndexBuffer=i,this._lineTessellator=new U.z(N(this.tessellationProperties),z(this.tessellationProperties),e.canUseThinTessellation)}get lineIndexStart(){return this._lineIndexStart}get lineIndexCount(){return this._lineIndexCount}getResources(e,t,s){const r=this.layer,n=this.zoom,i=r.getPaintProperty("line-pattern"),a=r.getPaintProperty("line-dasharray"),o=r.getLayoutProperty("line-cap");if(!i&&!a)return;const l=o?.getValue(n)||0,c=o?.isDataDriven,h=i?.isDataDriven,u=a?.isDataDriven;if(h||u)for(const e of this._features)t(h?i.getValue(n,e):this._getDashArrayKey(e,n,r,a,c,o,l));else if(i)t(i.getValue(n));else if(a){const e=a.getValue(n);t(r.getDashKey(e,l))}}processFeatures(e){this._lineIndexStart=3*this.tessellationProperties._lineIndexBuffer.index,this._lineIndexCount=0;const t=this.layer,s=this.zoom,r=this._features,n=this._tessellationOptions,{hasDataDrivenLine:i,lineMaterial:a}=t;e&&e.setExtent(this.layerExtent);const o=t.getPaintProperty("line-pattern"),l=t.getPaintProperty("line-dasharray"),c=o?.isDataDriven,h=l?.isDataDriven;let u;u=t.getLayoutProperty("line-cap");const f=u?.isDataDriven?u:null,d=f?null:t.getLayoutValue("line-cap",s),p=d||0,g=!!f;u=t.getLayoutProperty("line-join");const y=u?.isDataDriven?u:null,x=y?null:t.getLayoutValue("line-join",s);u=t.getLayoutProperty("line-miter-limit");const m=u?.isDataDriven?u:null,_=m?null:t.getLayoutValue("line-miter-limit",s);u=t.getLayoutProperty("line-round-limit");const I=u?.isDataDriven?u:null,b=I?null:t.getLayoutValue("line-round-limit",s);u=t.getPaintProperty("line-width");const w=u?.isDataDriven?u:null,M=w?null:t.getPaintValue("line-width",s);u=t.getPaintProperty("line-offset");const T=u?.isDataDriven?u:null,k=T?null:t.getPaintValue("line-offset",s);if(c||h){const i=[];for(const n of r){const r=c?o.getValue(s,n):this._getDashArrayKey(n,s,t,l,g,f,p),h=this._spriteInfo[r];if(!h||!h.rect)continue;const u=a.encodeAttributes(n,s,t,h),P=n.getGeometry(e);i.push({ddAttributes:u,page:h.page,cap:f?f.getValue(s,n):d,join:y?y.getValue(s,n):x,miterLimit:m?m.getValue(s,n):_,roundLimit:I?I.getValue(s,n):b,halfWidth:.5*(w?w.getValue(s,n):M),offset:T?T.getValue(s,n):k,geometry:P})}i.sort(((e,t)=>e.page-t.page)),n.textured=!0;for(const{ddAttributes:e,page:t,cap:s,join:r,miterLimit:a,roundLimit:o,halfWidth:l,offset:c,geometry:h}of i)n.capType=s,n.joinType=r,n.miterLimit=a,n.roundLimit=o,n.halfWidth=l,n.offset=c,this._processFeature(h,e,t)}else{if(o){const e=o.getValue(s),t=this._spriteInfo[e];if(!t||!t.rect)return}n.textured=!(!o&&!l),n.capType=d,n.joinType=x,n.miterLimit=_,n.roundLimit=b,n.halfWidth=.5*M,n.offset=k;for(const o of r){const r=i?a.encodeAttributes(o,s,t):null;f&&(n.capType=f.getValue(s,o)),y&&(n.joinType=y.getValue(s,o)),m&&(n.miterLimit=m.getValue(s,o)),I&&(n.roundLimit=I.getValue(s,o)),w&&(n.halfWidth=.5*w.getValue(s,o)),T&&(n.offset=T.getValue(s,o));const l=o.getGeometry(e);this._processFeature(l,r)}}}serialize(){let e=6;e+=this.layerUIDs.length,e+=this.tessellationProperties._lineVertexBuffer.array.length,e+=this.tessellationProperties._lineIndexBuffer.array.length,e+=3*this._patternMap.size+1;const t=new Uint32Array(e),s=new Int32Array(t.buffer);let r=0;t[r++]=this.type,t[r++]=this.layerUIDs.length;for(let e=0;e<this.layerUIDs.length;e++)t[r++]=this.layerUIDs[e];t[r++]=this._lineIndexStart,t[r++]=this._lineIndexCount;const n=this._patternMap,i=n.size;if(t[r++]=i,i>0)for(const[e,[s,i]]of n)t[r++]=e,t[r++]=s,t[r++]=i;t[r++]=this.tessellationProperties._lineVertexBuffer.array.length;for(let e=0;e<this.tessellationProperties._lineVertexBuffer.array.length;e++)s[r++]=this.tessellationProperties._lineVertexBuffer.array[e];t[r++]=this.tessellationProperties._lineIndexBuffer.array.length;for(let e=0;e<this.tessellationProperties._lineIndexBuffer.array.length;e++)t[r++]=this.tessellationProperties._lineIndexBuffer.array[e];return t.buffer}_processFeature(e,t,s){if(!e)return;const r=e.length;for(let n=0;n<r;n++)this._processGeometry(e[n],t,s)}_processGeometry(e,t,s){if(e.length<2)return;let r,n,i=e[0],a=1;for(;a<e.length;)r=e[a].x-i.x,n=e[a].y-i.y,r*r+n*n<1e-6?e.splice(a,1):(i=e[a],++a);if(e.length<2)return;const o=this.tessellationProperties._lineIndexBuffer,l=3*o.index;this._tessellationOptions.initialDistance=0,this._tessellationOptions.wrapDistance=65535,this.tessellationProperties._ddValues=t,this._lineTessellator.tessellate(e,this._tessellationOptions);const c=3*o.index-l;if(void 0!==s){const e=this._patternMap,t=e.get(s);t?t[1]+=c:e.set(s,[l+this._lineIndexCount,c])}this._lineIndexCount+=c}_getDashArrayKey(e,t,s,r,n,i,a){const o=n?i.getValue(t,e):a,l=r.getValue(t,e);return s.getDashKey(l,o)}}const N=e=>(t,s,r,n,i,a,o,l,c,h,u)=>(e._lineVertexBuffer.add(t,s,o,l,r,n,i,a,c,h,u,e._ddValues),e._lineVertexBuffer.index-1),z=e=>(t,s,r)=>{e._lineIndexBuffer.add(t,s,r)};var Z,G=s(79087),H=s(70586),j=s(19153),K=s(7333);function W(e,t){return e.iconMosaicItem&&t.iconMosaicItem?e.iconMosaicItem.page===t.iconMosaicItem.page?0:e.iconMosaicItem.page-t.iconMosaicItem.page:e.iconMosaicItem&&!t.iconMosaicItem?1:!e.iconMosaicItem&&t.iconMosaicItem?-1:0}class Y extends S{constructor(e,t,s,r,i,a,o,l){super(e,t,l.getSpriteItems()),this.type=n.al.SYMBOL,this._markerMap=new Map,this._glyphMap=new Map,this._glyphBufferDataStorage=new Map,this._isIconSDF=!1,this._iconVertexBuffer=s,this._iconIndexBuffer=r,this._textVertexBuffer=i,this._textIndexBuffer=a,this._placementEngine=o,this._workerTileHandler=l}get markerPageMap(){return this._markerMap}get glyphsPageMap(){return this._glyphMap}get symbolInstances(){return this._symbolInstances}getResources(e,t,s){const r=this.layer,n=this.zoom;e&&e.setExtent(this.layerExtent);const i=r.getLayoutProperty("icon-image"),a=r.getLayoutProperty("text-field");let o=r.getLayoutProperty("text-transform"),l=r.getLayoutProperty("text-font");const c=[];let h,u,f,d;i&&!i.isDataDriven&&(h=i.getValue(n)),a&&!a.isDataDriven&&(u=a.getValue(n)),o&&o.isDataDriven||(f=r.getLayoutValue("text-transform",n),o=null),l&&l.isDataDriven||(d=r.getLayoutValue("text-font",n),l=null);for(const g of this._features){const y=g.getGeometry(e);if(!y||0===y.length)continue;let x,m;i&&(x=i.isDataDriven?i.getValue(n,g):this._replaceKeys(h,g.values),x&&t(x));let _=!1;if(a&&(m=a.isDataDriven?a.getValue(n,g):this._replaceKeys(u,g.values),m)){switch(m=m.replaceAll("\\n","\n"),o&&(f=o.getValue(n,g)),f){case p._5.LOWERCASE:m=m.toLowerCase();break;case p._5.UPPERCASE:m=m.toUpperCase()}if(Y._bidiEngine.hasBidiChar(m)){let e;e="rtl"===Y._bidiEngine.checkContextual(m)?"IDNNN":"ICNNN",m=Y._bidiEngine.bidiTransform(m,e,"VLYSN"),_=!0}if(m.length>0){l&&(d=l.getValue(n,g));for(const e of d){let t=s[e];t||(t=s[e]=new Set);for(const e of m){const s=e.codePointAt(0);null!=s&&t.add(s)}}}}if(!x&&!m)continue;const I=r.getLayoutValue("symbol-sort-key",n,g),b={feature:g,sprite:x,label:m,rtl:_,geometry:y,hash:(m?(0,j.hP)(m):0)^(x?(0,j.hP)(x):0),priority:I,textFont:d};c.push(b)}this._symbolFeatures=c}processFeatures(e){e&&e.setExtent(this.layerExtent);const t=this.layer,s=this.zoom,r=t.getLayoutValue("symbol-placement",s),n=r!==p.R.POINT,o=8*t.getLayoutValue("symbol-spacing",s),l=t.getLayoutProperty("icon-image"),c=t.getLayoutProperty("text-field"),h=l?new K._L(t,s,n):null,u=c?new K.nj(t,s,n):null,g=this._workerTileHandler;let x;l&&(x=g.getSpriteItems()),this._iconIndexStart=3*this._iconIndexBuffer.index,this._textIndexStart=3*this._textIndexBuffer.index,this._iconIndexCount=0,this._textIndexCount=0,this._markerMap.clear(),this._glyphMap.clear();const m=[];let _=1;u&&u.size&&(_=u.size/f);const I=u?u.maxAngle*a.DT:0,b=u?8*u.size:0;for(const e of this._symbolFeatures){let t,a;h&&x&&e.sprite&&(t=x[e.sprite],t&&t.sdf&&(this._isIconSDF=!0)),t&&h.update(s,e.feature);let l=0;const c=e.label;if(c){(0,H.O3)(u),u.update(s,e.feature);const t=n&&u.rotationAlignment===p.aF.MAP?u.keepUpright:u.writingMode&&u.writingMode.includes(p.r1.VERTICAL);let r=.5;switch(u.anchor){case p.nR.TOP_LEFT:case p.nR.LEFT:case p.nR.BOTTOM_LEFT:r=0;break;case p.nR.TOP_RIGHT:case p.nR.RIGHT:case p.nR.BOTTOM_RIGHT:r=1}let i=.5;switch(u.anchor){case p.nR.TOP_LEFT:case p.nR.TOP:case p.nR.TOP_RIGHT:i=0;break;case p.nR.BOTTOM_LEFT:case p.nR.BOTTOM:case p.nR.BOTTOM_RIGHT:i=1}let o=.5;switch(u.justify){case p.vL.AUTO:o=r;break;case p.vL.LEFT:o=0;break;case p.vL.RIGHT:o=1}const h=u.letterSpacing*f,y=n?0:u.maxWidth*f,x=u.lineHeight*f,m=e.textFont.map((e=>g.getGlyphItems(e)));if(a=new d(m,y,x,h,r,i,o).getShaping(c,e.rtl,t),a&&a.length>0){let e=1e30,t=-1e30;for(const s of a)e=Math.min(e,s.x),t=Math.max(t,s.x);l=(t-e+48)*_*8}}for(let s of e.geometry){const c=[];if(r===p.R.LINE){if(a?.length&&u?.size){const e=8*u.size*(2+Math.min(2,4*Math.abs(u.offset[1])));s=Y._smoothVertices(s,e)}Y._pushAnchors(c,s,o,l)}else r===p.R.LINE_CENTER?Y._pushCenterAnchor(c,s):e.feature.type===i.Vl.Polygon?Y._pushCentroid(c,s):c.push(new y(s[0].x,s[0].y));for(const r of c){if(r.x<0||r.x>4096||r.y<0||r.y>4096)continue;if(n&&l>0&&u?.rotationAlignment===p.aF.MAP&&!Y._honorsTextMaxAngle(s,r,l,I,b))continue;const i={shaping:a,line:s,iconMosaicItem:t,anchor:r,symbolFeature:e,textColliders:[],iconColliders:[],textVertexRanges:[],iconVertexRanges:[]};m.push(i),this._processFeature(i,h,u)}}}m.sort(W),this._addPlacedGlyphs(),this._symbolInstances=m}serialize(){let e=11;e+=this.layerUIDs.length,e+=3*this.markerPageMap.size,e+=3*this.glyphsPageMap.size,e+=Y._symbolsSerializationLength(this._symbolInstances),e+=this._iconVertexBuffer.array.length,e+=this._iconIndexBuffer.array.length,e+=this._textVertexBuffer.array.length,e+=this._textIndexBuffer.array.length;const t=new Uint32Array(e),s=new Int32Array(t.buffer),r=new Float32Array(t.buffer);let n=0;t[n++]=this.type,t[n++]=this.layerUIDs.length;for(let e=0;e<this.layerUIDs.length;e++)t[n++]=this.layerUIDs[e];t[n++]=this._isIconSDF?1:0,t[n++]=this.markerPageMap.size;for(const[e,[s,r]]of this.markerPageMap)t[n++]=e,t[n++]=s,t[n++]=r;t[n++]=this.glyphsPageMap.size;for(const[e,[s,r]]of this.glyphsPageMap)t[n++]=e,t[n++]=s,t[n++]=r;t[n++]=this._iconVertexBuffer.index/4,t[n++]=this._textVertexBuffer.index/4,n=Y.serializeSymbols(t,s,r,n,this._symbolInstances),t[n++]=this._iconVertexBuffer.array.length;for(let e=0;e<this._iconVertexBuffer.array.length;e++)s[n++]=this._iconVertexBuffer.array[e];t[n++]=this._iconIndexBuffer.array.length;for(let e=0;e<this._iconIndexBuffer.array.length;e++)t[n++]=this._iconIndexBuffer.array[e];t[n++]=this._textVertexBuffer.array.length;for(let e=0;e<this._textVertexBuffer.array.length;e++)s[n++]=this._textVertexBuffer.array[e];t[n++]=this._textIndexBuffer.array.length;for(let e=0;e<this._textIndexBuffer.array.length;e++)t[n++]=this._textIndexBuffer.array[e];return t.buffer}static _symbolsSerializationLength(e){let t=0;t+=1;for(const s of e||[]){t+=4,t+=1;for(const e of s.textColliders)t+=10;for(const e of s.iconColliders)t+=10;t+=1,t+=2*s.textVertexRanges.length,t+=1,t+=2*s.iconVertexRanges.length}return t}static serializeSymbols(e,t,s,r,n){n=n||[],t[r++]=n.length;for(const e of n){t[r++]=e.anchor.x,t[r++]=e.anchor.y,t[r++]=e.symbolFeature.hash,t[r++]=e.symbolFeature.priority,t[r++]=e.textColliders.length+e.iconColliders.length;for(const n of e.textColliders)t[r++]=n.xTile,t[r++]=n.yTile,t[r++]=n.dxPixels,t[r++]=n.dyPixels,t[r++]=n.hard?1:0,t[r++]=n.partIndex,s[r++]=n.minLod,s[r++]=n.maxLod,t[r++]=n.width,t[r++]=n.height;for(const n of e.iconColliders)t[r++]=n.xTile,t[r++]=n.yTile,t[r++]=n.dxPixels,t[r++]=n.dyPixels,t[r++]=n.hard?1:0,t[r++]=n.partIndex,s[r++]=n.minLod,s[r++]=n.maxLod,t[r++]=n.width,t[r++]=n.height;t[r++]=e.textVertexRanges.length;for(const[s,n]of e.textVertexRanges)t[r++]=s,t[r++]=n;t[r++]=e.iconVertexRanges.length;for(const[s,n]of e.iconVertexRanges)t[r++]=s,t[r++]=n}return r}_replaceKeys(e,t){return e.replaceAll(/{([^{}]+)}/g,((e,s)=>s in t?t[s]:""))}_processFeature(e,t,s){const{line:r,iconMosaicItem:n,shaping:i,anchor:o}=e,l=this.zoom,c=this.layer,h=!!n;let u=!0;h&&(u=t?.optional||!n);const f=i&&i.length>0,d=!f||s?.optional;let g,y;if(h&&(g=this._placementEngine.getIconPlacement(o,n,t)),(g||u)&&(f&&(y=this._placementEngine.getTextPlacement(o,i,r,s)),y||d)){if(g&&y||(d||u?d||y?u||g||(y=null):g=null:(g=null,y=null)),y){const t=c.hasDataDrivenText?c.textMaterial.encodeAttributes(e.symbolFeature.feature,l,c):null;if(this._storePlacedGlyphs(e,y.shapes,l,s.rotationAlignment,t),y.textColliders){e.textColliders=y.textColliders;for(const e of y.textColliders){e.minLod=Math.max(l+(0,a.k3)(e.minLod),0),e.maxLod=Math.min(l+(0,a.k3)(e.maxLod),25);const t=e.angle;if(t){const s=Math.cos(t),r=Math.sin(t),n=e.dxPixels*s-e.dyPixels*r,i=e.dxPixels*r+e.dyPixels*s,a=(e.dxPixels+e.width)*s-e.dyPixels*r,o=(e.dxPixels+e.width)*r+e.dyPixels*s,l=e.dxPixels*s-(e.dyPixels+e.height)*r,c=e.dxPixels*r+(e.dyPixels+e.height)*s,h=(e.dxPixels+e.width)*s-(e.dyPixels+e.height)*r,u=(e.dxPixels+e.width)*r+(e.dyPixels+e.height)*s,f=Math.min(n,a,l,h),d=Math.max(n,a,l,h),p=Math.min(i,o,c,u),g=Math.max(i,o,c,u);e.dxPixels=f,e.dyPixels=p,e.width=d-f,e.height=g-p}}}}if(g){const s=c.hasDataDrivenIcon?c.iconMaterial.encodeAttributes(e.symbolFeature.feature,l,c):null;if(this._addPlacedIcons(e,g.shapes,l,n.page,t.rotationAlignment===p.aF.VIEWPORT,s),g.iconColliders){e.iconColliders=g.iconColliders;for(const e of g.iconColliders){e.minLod=Math.max(l+(0,a.k3)(e.minLod),0),e.maxLod=Math.min(l+(0,a.k3)(e.maxLod),25);const t=e.angle;if(t){const s=Math.cos(t),r=Math.sin(t),n=e.dxPixels*s-e.dyPixels*r,i=e.dxPixels*r+e.dyPixels*s,a=(e.dxPixels+e.width)*s-e.dyPixels*r,o=(e.dxPixels+e.width)*r+e.dyPixels*s,l=e.dxPixels*s-(e.dyPixels+e.height)*r,c=e.dxPixels*r+(e.dyPixels+e.height)*s,h=(e.dxPixels+e.width)*s-(e.dyPixels+e.height)*r,u=(e.dxPixels+e.width)*r+(e.dyPixels+e.height)*s,f=Math.min(n,a,l,h),d=Math.max(n,a,l,h),p=Math.min(i,o,c,u),g=Math.max(i,o,c,u);e.dxPixels=f,e.dyPixels=p,e.width=d-f,e.height=g-p}}}}}}_addPlacedIcons(e,t,s,r,n,i){const o=Math.max(s-1,0),l=this._iconVertexBuffer,c=this._iconIndexBuffer,h=this._markerMap;for(const u of t){const t=n?0:Math.max(s+(0,a.k3)(u.minzoom),o),f=n?25:Math.min(s+(0,a.k3)(u.maxzoom),25);if(f<=t)continue;const d=u.tl,p=u.tr,g=u.bl,y=u.br,x=u.mosaicRect,m=u.labelAngle,_=u.minAngle,I=u.maxAngle,b=u.anchor,w=l.index,M=x.x,T=x.y,k=M+x.width,P=T+x.height,L=l.index;l.add(b.x,b.y,d.x,d.y,M,T,m,_,I,t,f,i),l.add(b.x,b.y,p.x,p.y,k,T,m,_,I,t,f,i),l.add(b.x,b.y,g.x,g.y,M,P,m,_,I,t,f,i),l.add(b.x,b.y,y.x,y.y,k,P,m,_,I,t,f,i),e.iconVertexRanges.length>0&&e.iconVertexRanges[0][0]+e.iconVertexRanges[0][1]===L?e.iconVertexRanges[0][1]+=4:e.iconVertexRanges.push([L,4]),c.add(w,w+1,w+2),c.add(w+1,w+2,w+3),h.has(r)?h.get(r)[1]+=6:h.set(r,[this._iconIndexStart+this._iconIndexCount,6]),this._iconIndexCount+=6}}_addPlacedGlyphs(){const e=this._textVertexBuffer,t=this._textIndexBuffer,s=this._glyphMap;for(const[r,n]of this._glyphBufferDataStorage)for(const i of n){const n=e.index,a=i.symbolInstance,o=i.ddAttributes,l=e.index;e.add(i.glyphAnchor[0],i.glyphAnchor[1],i.tl[0],i.tl[1],i.xmin,i.ymin,i.labelAngle,i.minAngle,i.maxAngle,i.minLod,i.maxLod,o),e.add(i.glyphAnchor[0],i.glyphAnchor[1],i.tr[0],i.tr[1],i.xmax,i.ymin,i.labelAngle,i.minAngle,i.maxAngle,i.minLod,i.maxLod,o),e.add(i.glyphAnchor[0],i.glyphAnchor[1],i.bl[0],i.bl[1],i.xmin,i.ymax,i.labelAngle,i.minAngle,i.maxAngle,i.minLod,i.maxLod,o),e.add(i.glyphAnchor[0],i.glyphAnchor[1],i.br[0],i.br[1],i.xmax,i.ymax,i.labelAngle,i.minAngle,i.maxAngle,i.minLod,i.maxLod,o),a.textVertexRanges.length>0&&a.textVertexRanges[0][0]+a.textVertexRanges[0][1]===l?a.textVertexRanges[0][1]+=4:a.textVertexRanges.push([l,4]),t.add(n,n+1,n+2),t.add(n+1,n+2,n+3),s.has(r)?s.get(r)[1]+=6:s.set(r,[this._textIndexStart+this._textIndexCount,6]),this._textIndexCount+=6}this._glyphBufferDataStorage.clear()}_storePlacedGlyphs(e,t,s,r,n){const i=Math.max(s-1,0),o=r===p.aF.VIEWPORT;let l,c,h,u,f,d,g,y,x,m,_;for(const r of t)l=o?0:Math.max(s+(0,a.k3)(r.minzoom),i),c=o?25:Math.min(s+(0,a.k3)(r.maxzoom),25),c<=l||(h=r.tl,u=r.tr,f=r.bl,d=r.br,g=r.labelAngle,y=r.minAngle,x=r.maxAngle,m=r.anchor,_=r.mosaicRect,this._glyphBufferDataStorage.has(r.page)||this._glyphBufferDataStorage.set(r.page,[]),this._glyphBufferDataStorage.get(r.page).push({glyphAnchor:[m.x,m.y],tl:[h.x,h.y],tr:[u.x,u.y],bl:[f.x,f.y],br:[d.x,d.y],xmin:_.x,ymin:_.y,xmax:_.x+_.width,ymax:_.y+_.height,labelAngle:g,minAngle:y,maxAngle:x,minLod:l,maxLod:c,placementLod:i,symbolInstance:e,ddAttributes:n}))}static _pushAnchors(e,t,s,r){s+=r;let n=0;const o=t.length-1;for(let e=0;e<o;e++)n+=i.E9.distance(t[e],t[e+1]);let l=r||s;if(l*=.5,n<=l)return;const c=l/n;let h=0,u=-(s=n/Math.max(Math.round(n/s),1))/2;const f=t.length-1;for(let r=0;r<f;r++){const n=t[r],i=t[r+1],o=i.x-n.x,l=i.y-n.y,f=Math.sqrt(o*o+l*l);let d;for(;u+s<h+f;){u+=s;const t=(u-h)/f,p=(0,a.sX)(n.x,i.x,t),g=(0,a.sX)(n.y,i.y,t);void 0===d&&(d=Math.atan2(l,o)),e.push(new y(p,g,d,r,c))}h+=f}}static _pushCenterAnchor(e,t){let s=0;const r=t.length-1;for(let e=0;e<r;e++)s+=i.E9.distance(t[e],t[e+1]);const n=s/2;let o=0;const l=t.length-1;for(let s=0;s<l;s++){const r=t[s],i=t[s+1],l=i.x-r.x,c=i.y-r.y,h=Math.sqrt(l*l+c*c);if(n<o+h){const t=(n-o)/h,u=(0,a.sX)(r.x,i.x,t),f=(0,a.sX)(r.y,i.y,t),d=Math.atan2(c,l);return void e.push(new y(u,f,d,s,0))}o+=h}}static _deviation(e,t,s){const r=(t.x-e.x)*(s.x-t.x)+(t.y-e.y)*(s.y-t.y),n=(t.x-e.x)*(s.y-t.y)-(t.y-e.y)*(s.x-t.x);return Math.atan2(n,r)}static _honorsTextMaxAngle(e,t,s,r,n){let a=0;const o=s/2;let l=new i.E9(t.x,t.y),c=t.segment+1;for(;a>-o;){if(--c,c<0)return!1;a-=i.E9.distance(e[c],l),l=e[c]}a+=i.E9.distance(e[c],e[c+1]);const h=[];let u=0;const f=e.length;for(;a<o;){const t=e[c];let s,o=c;do{if(++o,o===f)return!1;s=e[o]}while(s.isEqual(t));let l,d=o;do{if(++d,d===f)return!1;l=e[d]}while(l.isEqual(s));const p=this._deviation(t,s,l);for(h.push({deviation:p,distToAnchor:a}),u+=p;a-h[0].distToAnchor>n;)u-=h.shift().deviation;if(Math.abs(u)>r)return!1;a+=i.E9.distance(s,l),c=o}return!0}static _smoothVertices(e,t){if(t<=0)return e;let s=e.length;if(s<3)return e;const r=[];let n=0,a=0;r.push(0);for(let t=1;t<s;t++){const s=i.E9.distance(e[t],e[t-1]);s>0&&(n+=s,r.push(n),a++,a!==t&&(e[a]=e[t]))}if(s=a+1,s<3)return e;t=Math.min(t,.2*n);const o=e[0].x,l=e[0].y,c=e[s-1].x,h=e[s-1].y,u=i.E9.sub(e[0],e[1]);u.normalize(),e[0].x+=t*u.x,e[0].y+=t*u.y,u.assignSub(e[s-1],e[s-2]),u.normalize(),e[s-1].x+=t*u.x,e[s-1].y+=t*u.y,r[0]-=t,r[s-1]+=t;const f=[];f.push(new i.E9(o,l));const d=1e-6,p=.5*t;for(let n=1;n<s-1;n++){let a=0,o=0,l=0;for(let s=n-1;s>=0;s--){const i=p+r[s+1]-r[n];if(i<0)break;const c=r[s+1]-r[s],h=r[n]-r[s]<p?1:i/c;if(h<d)break;const u=h*h,f=h*i-.5*u*c,g=h*c/t,y=e[s+1],x=e[s].x-y.x,m=e[s].y-y.y;a+=g/f*(y.x*h*i+.5*u*(i*x-c*y.x)-u*h*c*x/3),o+=g/f*(y.y*h*i+.5*u*(i*m-c*y.y)-u*h*c*m/3),l+=g}for(let i=n+1;i<s;i++){const s=p-r[i-1]+r[n];if(s<0)break;const c=r[i]-r[i-1],h=r[i]-r[n]<p?1:s/c;if(h<d)break;const u=h*h,f=h*s-.5*u*c,g=h*c/t,y=e[i-1],x=e[i].x-y.x,m=e[i].y-y.y;a+=g/f*(y.x*h*s+.5*u*(s*x-c*y.x)-u*h*c*x/3),o+=g/f*(y.y*h*s+.5*u*(s*m-c*y.y)-u*h*c*m/3),l+=g}f.push(new i.E9(a/l,o/l))}return f.push(new i.E9(c,h)),e[0].x=o,e[0].y=l,e[s-1].x=c,e[s-1].y=h,f}static _pushCentroid(e,t){const s=4096,r=4096,n=t.length-1;let i=0,a=0,o=0,l=t[0].x,c=t[0].y;l>s&&(l=s),l<0&&(l=0),c>r&&(c=r),c<0&&(c=0);for(let e=1;e<n;e++){let n=t[e].x,h=t[e].y,u=t[e+1].x,f=t[e+1].y;n>s&&(n=s),n<0&&(n=0),h>r&&(h=r),h<0&&(h=0),u>s&&(u=s),u<0&&(u=0),f>r&&(f=r),f<0&&(f=0);const d=(n-l)*(f-c)-(u-l)*(h-c);i+=d*(l+n+u),a+=d*(c+h+f),o+=d}i/=3*o,a/=3*o,isNaN(i)||isNaN(a)||e.push(new y(i,a))}}Y._bidiEngine=new G.Z,function(e){e[e.INITIALIZED=0]="INITIALIZED",e[e.NO_DATA=1]="NO_DATA",e[e.READY=2]="READY",e[e.MODIFIED=3]="MODIFIED",e[e.INVALID=4]="INVALID"}(Z||(Z={}));class ${constructor(e,t,s,r,n){if(this._pbfTiles={},this._tileClippers={},this._client=s,this._tile=t,n){this._styleLayerUIDs=new Set;for(const e of n)this._styleLayerUIDs.add(e)}this._styleRepository=r,this._layers=this._styleRepository?.layers??[];const[a,o,l]=t.tileKey.split("/").map(parseFloat);this._level=a;const c=8+Math.max(16*(this._level-14),0);for(const t of Object.keys(e)){const s=e[t];if(this._pbfTiles[t]=new M.Z(new Uint8Array(s.protobuff),new DataView(s.protobuff)),s.refKey){const[e]=s.refKey.split("/").map(parseFloat),r=a-e;if(r>0){const e=(1<<r)-1,s=o&e,n=l&e;this._tileClippers[t]=new i.bN(r,s,n,8,c)}}this._tileClippers[t]||(this._tileClippers[t]=new i.I6)}}_canParseStyleLayer(e){return!this._styleLayerUIDs||this._styleLayerUIDs.has(e)}async parse(e){const t=(0,T.j)(),s=this._initialize(e),{returnedBuckets:r}=s;this._processLayers(s),this._linkReferences(s),this._filterFeatures(s);const n=[],i=new Set,a=(e,t)=>{i.has(e)||(n.push({name:e,repeat:t}),i.add(e))},o={};for(const e of r)e.getResources(e.tileClipper,a,o);if(this._tile.status===Z.INVALID)return[];const l=this._fetchResources(n,o,e);return Promise.all([...l,t]).then((()=>this._processFeatures(s.returnedBuckets)))}_initialize(e){return{signal:e&&e.signal,sourceNameToTileData:this._parseTileData(this._pbfTiles),layers:this._layers,zoom:this._level,sourceNameToTileClipper:this._tileClippers,sourceNameToUniqueSourceLayerBuckets:{},sourceNameToUniqueSourceLayers:{},returnedBuckets:[],layerIdToBucket:{},referencerUIDToReferencedId:new Map}}_processLayers(e){const{sourceNameToTileData:t,layers:s,zoom:r,sourceNameToTileClipper:n,sourceNameToUniqueSourceLayerBuckets:i,sourceNameToUniqueSourceLayers:a,returnedBuckets:o,layerIdToBucket:l,referencerUIDToReferencedId:c}=e;for(let e=s.length-1;e>=0;e--){const h=s[e];if(!this._canParseStyleLayer(h.uid)||h.minzoom&&r<Math.floor(h.minzoom)||h.maxzoom&&r>=h.maxzoom||h.type===p.fR.BACKGROUND)continue;if(!t[h.source]||!n[h.source])continue;const u=t[h.source],f=n[h.source],d=h.sourceLayer,g=u[d];if(g){let e=a[h.source];if(e||(e=a[h.source]=new Set),e.add(h.sourceLayer),h.refLayerId)c.set(h.uid,h.refLayerId);else{const e=this._createBucket(h);if(e){e.layerUIDs=[h.uid],e.layerExtent=g.extent,e.tileClipper=f;let t=i[h.source];t||(t=i[h.source]={});let s=t[d];s||(s=t[d]=[]),s.push(e),o.push(e),l[h.id]=e}}}}}_linkReferences(e){const{layerIdToBucket:t,referencerUIDToReferencedId:s}=e;s.forEach(((e,s)=>{t[e]&&t[e].layerUIDs.push(s)}))}_filterFeatures(e){const{signal:t,sourceNameToTileData:s,sourceNameToUniqueSourceLayerBuckets:n,sourceNameToUniqueSourceLayers:i}=e,a=10*this._level,o=10*(this._level+1),l=[],c=[];for(const e of Object.keys(i))i[e].forEach((t=>{l.push(t),c.push(e)}));for(let e=0;e<l.length;e++){const i=c[e],h=l[e];if(!s[i]||!n[i])continue;const u=s[i][h],f=n[i][h];if(!f||0===f.length)continue;if((0,r.Hc)(t))return;const d=u.getData();for(;d.nextTag(2);){const e=d.getMessage(),t=new k(e,u);e.release();const s=t.values;if(s){const e=s._minzoom;if(e&&e>=o)continue;const t=s._maxzoom;if(t&&t<=a)continue}for(const e of f)e.pushFeature(t)}}}_fetchResources(e,t,s){const r=[],n=this._tile.getWorkerTileHandler();let i,a;e.length>0&&(i=n.fetchSprites(e,this._client,s),r.push(i));for(const e in t){const i=t[e];i.size>0&&(a=n.fetchGlyphs(this._tile.tileKey,e,i,this._client,s),r.push(a))}return r}_processFeatures(e){const t=e.filter((e=>e.hasFeatures()||this._canParseStyleLayer(e.layer.uid)));for(const e of t)e.processFeatures(e.tileClipper);return t}_parseTileData(e){const t={};for(const s of Object.keys(e)){const r=e[s],n={};for(;r.next();)switch(r.tag()){case 3:{const e=r.getMessage(),t=new v(e);e.release(),n[t.name]=t;break}default:r.skip()}t[s]=n}return t}_createBucket(e){switch(e.type){case p.fR.BACKGROUND:return null;case p.fR.FILL:return this._createFillBucket(e);case p.fR.LINE:return this._createLineBucket(e);case p.fR.CIRCLE:return this._createCircleBucket(e);case p.fR.SYMBOL:return this._createSymbolBucket(e)}}_createFillBucket(e){return new F(e,this._level,this._tile.getWorkerTileHandler().getSpriteItems(),new D(e.fillMaterial.getStride()),new L,new B(e.outlineMaterial.getStride()),new L)}_createLineBucket(e){return new q(e,this._level,this._tile.getWorkerTileHandler().getSpriteItems(),new E(e.lineMaterial.getStride()),new L)}_createCircleBucket(e){return new C(e,this._level,this._tile.getWorkerTileHandler().getSpriteItems(),new V(e.circleMaterial.getStride()),new L)}_createSymbolBucket(e){const t=this._tile;return new Y(e,this._level,new A(e.iconMaterial.getStride()),new L,new A(e.textMaterial.getStride()),new L,t.placementEngine,t.getWorkerTileHandler())}}class J{constructor(e,t,s,r){this.status=Z.INITIALIZED,this.placementEngine=new I,this.tileKey=e,this.refKeys=t,this._workerTileHandler=s,this._styleRepository=r}release(){this.tileKey="",this.refKeys=null,this.status=Z.INITIALIZED,this._workerTileHandler=null}async parse(e,t){const s=t&&t.signal;if(null!=s){const e=()=>{s.removeEventListener("abort",e),this.status=Z.INVALID};s.addEventListener("abort",e)}let n;const i={bucketsWithData:[],emptyBuckets:null};try{n=await this._parse(e,t)}catch(e){if((0,r.D_)(e))throw e;return{result:i,transferList:[]}}this.status=Z.READY;const a=i.bucketsWithData,o=[];for(const e of n)if(e.hasFeatures()){const t=e.serialize();a.push(t)}else o.push(e.layer.uid);const l=[...a];let c=null;return o.length>0&&(c=Uint32Array.from(o),l.push(c.buffer)),i.emptyBuckets=c,{result:i,transferList:l}}setObsolete(){this.status=Z.INVALID}getLayers(){return this._workerTileHandler.getLayers()}getWorkerTileHandler(){return this._workerTileHandler}async _parse(e,t){const s=e.sourceName2DataAndRefKey;return 0===Object.keys(s).length?[]:(this.status=Z.MODIFIED,new $(s,this,t.client,this._styleRepository,e.styleLayerUIDs).parse(t))}}var X=s(51785);class Q{constructor(){this._spriteInfo={},this._glyphInfo={}}reset(){return this._spriteInfo={},this._glyphInfo={},Promise.resolve()}getLayers(){return this._styleRepository?.layers??[]}async createTileAndParse(e,t){const{key:s}=e,n={};for(const t of Object.keys(e.sourceName2DataAndRefKey)){const s=e.sourceName2DataAndRefKey[t];n[t]=s.refKey}const i=new J(s,n,this,this._styleRepository);try{return await i.parse(e,t)}catch(e){if(i.setObsolete(),i.release(),!(0,r.D_)(e))throw e;return null}}updateStyle(e){if(!e||0===e.length||!this._styleRepository)return;const t=this._styleRepository;for(const s of e){const e=s.type,r=s.data;switch(e){case n.Fr.PAINTER_CHANGED:t.setPaintProperties(r.layer,r.paint);break;case n.Fr.LAYOUT_CHANGED:t.setLayoutProperties(r.layer,r.layout);break;case n.Fr.LAYER_REMOVED:t.deleteStyleLayer(r.layer);break;case n.Fr.LAYER_CHANGED:t.setStyleLayer(r.layer,r.index);break;case n.Fr.SPRITES_CHANGED:this._spriteInfo={}}}}setStyle(e){this._styleRepository=new X.Z(e),this._spriteInfo={},this._glyphInfo={}}fetchSprites(e,t,s){const r=[],n=this._spriteInfo;for(const t of e)void 0===n[t.name]&&r.push(t);return 0===r.length?Promise.resolve():t.invoke("getSprites",r,{signal:s&&s.signal}).then((e=>{for(const t in e){const s=e[t];n[t]=s}}))}getSpriteItems(){return this._spriteInfo}fetchGlyphs(e,t,s,r,n){const i=[];let a=this._glyphInfo[t];return a?s.forEach((e=>{a[e]||i.push(e)})):(a=this._glyphInfo[t]=[],s.forEach((e=>i.push(e)))),0===i.length?Promise.resolve():r.invoke("getGlyphs",{tileID:e,font:t,codePoints:i},n).then((e=>{for(let t=0;t<e.length;t++)e[t]&&(a[t]=e[t])}))}getGlyphItems(e){return this._glyphInfo[e]}}}}]);