jupytergis-core 0.8.0__tar.gz → 0.9.0__tar.gz

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 (163) hide show
  1. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/PKG-INFO +1 -1
  2. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/_version.py +1 -1
  3. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/package.json +4 -4
  4. jupytergis_core-0.9.0/jupytergis_core/labextension/schemas/@jupytergis/jupytergis-core/jupytergis-settings.json +48 -0
  5. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/schemas/@jupytergis/jupytergis-core/package.json.orig +3 -3
  6. jupytergis_core-0.9.0/jupytergis_core/labextension/static/211.083574a3909f85924cc7.js +1 -0
  7. jupytergis_core-0.9.0/jupytergis_core/labextension/static/361.afa4bfcec9c31f7e0d47.js +1 -0
  8. jupytergis_core-0.9.0/jupytergis_core/labextension/static/397.ed3f20679400dd9b9086.js +1 -0
  9. jupytergis_core-0.9.0/jupytergis_core/labextension/static/671.6acedb38bc4a923bf5f3.js +8 -0
  10. jupytergis_core-0.9.0/jupytergis_core/labextension/static/991.e54b6ea1348e898ec910.js +1 -0
  11. jupytergis_core-0.9.0/jupytergis_core/labextension/static/remoteEntry.cdc1e1613a5a5d9be9ae.js +1 -0
  12. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/third-party-licenses.json +28 -28
  13. {jupytergis_core-0.8.0/jupytergis_core/schema/interfaces/processing → jupytergis_core-0.9.0/jupytergis_core/schema/interfaces}/__init__.py +1 -1
  14. {jupytergis_core-0.8.0/jupytergis_core/schema/interfaces/project → jupytergis_core-0.9.0/jupytergis_core/schema/interfaces/export}/__init__.py +1 -1
  15. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/schema/interfaces/export/exportGeoJson.py +1 -1
  16. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/schema/interfaces/export/exportGeoTiff.py +1 -1
  17. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/schema/interfaces/geojson.py +1 -1
  18. {jupytergis_core-0.8.0/jupytergis_core/schema/interfaces → jupytergis_core-0.9.0/jupytergis_core/schema/interfaces/processing}/__init__.py +1 -1
  19. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/schema/interfaces/processing/boundingBoxes.py +1 -1
  20. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/schema/interfaces/processing/buffer.py +1 -1
  21. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/schema/interfaces/processing/centroids.py +1 -1
  22. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/schema/interfaces/processing/concaveHull.py +1 -1
  23. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/schema/interfaces/processing/convexHull.py +1 -1
  24. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/schema/interfaces/processing/dissolve.py +1 -1
  25. {jupytergis_core-0.8.0/jupytergis_core/schema/interfaces/export → jupytergis_core-0.9.0/jupytergis_core/schema/interfaces/project}/__init__.py +1 -1
  26. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/schema/interfaces/project/jgis.py +1 -1
  27. jupytergis_core-0.9.0/jupytergis_core/schema/interfaces/project/layers/__init__.py +3 -0
  28. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/schema/interfaces/project/layers/heatmapLayer.py +1 -1
  29. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/schema/interfaces/project/layers/hillshadeLayer.py +1 -1
  30. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/schema/interfaces/project/layers/imageLayer.py +1 -1
  31. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/schema/interfaces/project/layers/rasterLayer.py +1 -1
  32. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/schema/interfaces/project/layers/stacLayer.py +1 -1
  33. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/schema/interfaces/project/layers/vectorLayer.py +1 -1
  34. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/schema/interfaces/project/layers/vectorTileLayer.py +1 -1
  35. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/schema/interfaces/project/layers/webGlLayer.py +1 -1
  36. jupytergis_core-0.9.0/jupytergis_core/schema/interfaces/project/sources/__init__.py +3 -0
  37. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/schema/interfaces/project/sources/geoJsonSource.py +1 -1
  38. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/schema/interfaces/project/sources/geoParquetSource.py +1 -1
  39. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/schema/interfaces/project/sources/geoTiffSource.py +1 -1
  40. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/schema/interfaces/project/sources/imageSource.py +1 -1
  41. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/schema/interfaces/project/sources/rasterDemSource.py +1 -1
  42. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/schema/interfaces/project/sources/rasterSource.py +1 -1
  43. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/schema/interfaces/project/sources/shapefileSource.py +1 -1
  44. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/schema/interfaces/project/sources/vectorTileSource.py +1 -1
  45. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/schema/interfaces/project/sources/videoSource.py +1 -1
  46. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/lib/jgisplugin/modelfactory.js +1 -3
  47. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/package.json +3 -3
  48. jupytergis_core-0.9.0/schema/jupytergis-settings.json +48 -0
  49. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/src/jgisplugin/modelfactory.ts +1 -3
  50. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/tsconfig.tsbuildinfo +1 -1
  51. jupytergis_core-0.8.0/jupytergis_core/labextension/schemas/@jupytergis/jupytergis-core/jupytergis-settings.json +0 -13
  52. jupytergis_core-0.8.0/jupytergis_core/labextension/static/199.2055e6228d3eceaf410d.js +0 -1
  53. jupytergis_core-0.8.0/jupytergis_core/labextension/static/397.ffeb4d7f31b735ce0a86.js +0 -1
  54. jupytergis_core-0.8.0/jupytergis_core/labextension/static/465.5ee170b35409f85f5361.js +0 -1
  55. jupytergis_core-0.8.0/jupytergis_core/labextension/static/639.096de5d4b4e9c562ab4b.js +0 -1
  56. jupytergis_core-0.8.0/jupytergis_core/labextension/static/671.12b59750568be4443b33.js +0 -8
  57. jupytergis_core-0.8.0/jupytergis_core/labextension/static/991.a3b4feb2455f9054cfef.js +0 -1
  58. jupytergis_core-0.8.0/jupytergis_core/labextension/static/remoteEntry.2c88e4f082054467fd67.js +0 -1
  59. jupytergis_core-0.8.0/jupytergis_core/schema/interfaces/project/layers/__init__.py +0 -3
  60. jupytergis_core-0.8.0/jupytergis_core/schema/interfaces/project/sources/__init__.py +0 -3
  61. jupytergis_core-0.8.0/schema/jupytergis-settings.json +0 -13
  62. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/.gitignore +0 -0
  63. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/LICENSE +0 -0
  64. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/README.md +0 -0
  65. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupyter-config/server-config/jupytergis_core.json +0 -0
  66. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/__init__.py +0 -0
  67. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/handler.py +0 -0
  68. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/jgis_ydoc.py +0 -0
  69. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/026680ab0cd1523edc87.png +0 -0
  70. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/02ff7d503bbd90b21fc4.png +0 -0
  71. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/062a9554f6b4caac9713.png +0 -0
  72. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/064f37cecb8130ad66e8.png +0 -0
  73. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/08da2741746ddab81d04.png +0 -0
  74. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/0c6a0352b82839119f95.png +0 -0
  75. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/13c485bb93f5567f02fd.png +0 -0
  76. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/1474207a6b3ca1001e78.png +0 -0
  77. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/14b98240613d5256c621.png +0 -0
  78. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/154.0d16fbe1d1182d138b2c.js +0 -0
  79. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/1b97ea0f2b3af717cffa.png +0 -0
  80. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/1d440270da19a2f22fee.png +0 -0
  81. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/1ed164e010f3c0306d15.png +0 -0
  82. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/2218dfba22fc2b08e948.png +0 -0
  83. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/234.2f0fc49f516ad354aa18.js +0 -0
  84. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/27.6ee794baeb00791424c2.js +0 -0
  85. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/27.6ee794baeb00791424c2.js.LICENSE.txt +0 -0
  86. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/2ab791b60c4058e664f8.png +0 -0
  87. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/2b24b6a745c11511f055.png +0 -0
  88. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/2d676bc0a01c2cd2fccb.png +0 -0
  89. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/2f02309ea499725612ea.png +0 -0
  90. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/32c7a73662cceb5bb1d7.png +0 -0
  91. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/350eec4ce9ae4bc10bca.wasm +0 -0
  92. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/363ca7c5f78deb6fd033.png +0 -0
  93. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/376.58a6410b7089dea5b0d5.js +0 -0
  94. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/3ae0bf244442de7efc35.png +0 -0
  95. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/3d48be10ffea86eb15de.png +0 -0
  96. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/407.da5d00862f4879fe3c9c.js +0 -0
  97. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/415edc3fa381260cf31e.png +0 -0
  98. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/42cbddf5e883673bc4e2.png +0 -0
  99. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/432.b81aa01fd224321ff376.js +0 -0
  100. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/472.b2ea9ebc35d5ad4e1fcc.js +0 -0
  101. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/527ef171d5df15dc7da5.png +0 -0
  102. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/542.477a73b8682de0e8d45e.js +0 -0
  103. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/552.0936beb209d3ea5a1229.js +0 -0
  104. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/555.be80e60305924af2e139.js +0 -0
  105. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/5bb02252f243f8c7494f.png +0 -0
  106. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/5d181edc3c046e1454a1.png +0 -0
  107. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/5f32ad48aefe00e51312.png +0 -0
  108. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/618.86523276f857e0a3362e.js +0 -0
  109. /jupytergis_core-0.8.0/jupytergis_core/labextension/static/671.12b59750568be4443b33.js.LICENSE.txt → /jupytergis_core-0.9.0/jupytergis_core/labextension/static/671.6acedb38bc4a923bf5f3.js.LICENSE.txt +0 -0
  110. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/6e4f6b4d0dfca3bd4450.png +0 -0
  111. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/71d436fb44627b6bfbd7.png +0 -0
  112. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/7b225dc2d37cd3582156.png +0 -0
  113. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/803.5f3759c98814aa602705.js +0 -0
  114. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/803.5f3759c98814aa602705.js.LICENSE.txt +0 -0
  115. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/843ab141e62516b9df5c.png +0 -0
  116. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/8814e17f6b110e8f3e42.png +0 -0
  117. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/88b2ae0d29edb684eae5.png +0 -0
  118. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/971a42d174dd17b9451a.png +0 -0
  119. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/a3c609f5bff95a7a53be.png +0 -0
  120. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/a86d626c9ed2e222d190.png +0 -0
  121. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/a9e286b0c0264a9fc737.png +0 -0
  122. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/ab309078b494f850430a.png +0 -0
  123. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/b15e3989b7b90b5a8d9d.png +0 -0
  124. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/b36717fbb06f21d53b01.png +0 -0
  125. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/ba4b6e82fe5a816c40a5.png +0 -0
  126. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/bb2b310570da7a3587e9.png +0 -0
  127. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/be92bcf7bb99753b4b3d.png +0 -0
  128. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/c2ffa011d7f52a0ddf45.png +0 -0
  129. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/d83457b1b925c1718f6d.png +0 -0
  130. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/e473e1e9f20af114bbb4.data +0 -0
  131. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/f2617180c6907263a7ff.png +0 -0
  132. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/fe99a6dbf5a71d308989.png +0 -0
  133. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/labextension/static/style.js +0 -0
  134. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/jupytergis_core/schema/__init__.py +0 -0
  135. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/lib/externalcommand.d.ts +0 -0
  136. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/lib/externalcommand.js +0 -0
  137. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/lib/factory.d.ts +0 -0
  138. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/lib/factory.js +0 -0
  139. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/lib/index.d.ts +0 -0
  140. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/lib/index.js +0 -0
  141. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/lib/jgisplugin/modelfactory.d.ts +0 -0
  142. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/lib/jgisplugin/plugins.d.ts +0 -0
  143. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/lib/jgisplugin/plugins.js +0 -0
  144. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/lib/layerBrowserRegistry.d.ts +0 -0
  145. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/lib/layerBrowserRegistry.js +0 -0
  146. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/lib/plugin.d.ts +0 -0
  147. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/lib/plugin.js +0 -0
  148. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/lib/schemaregistry.d.ts +0 -0
  149. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/lib/schemaregistry.js +0 -0
  150. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/pyproject.toml +0 -0
  151. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/scripts/bump-version.py +0 -0
  152. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/setup.py +0 -0
  153. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/src/externalcommand.ts +0 -0
  154. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/src/factory.ts +0 -0
  155. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/src/index.ts +0 -0
  156. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/src/jgisplugin/plugins.ts +0 -0
  157. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/src/layerBrowserRegistry.ts +0 -0
  158. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/src/plugin.ts +0 -0
  159. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/src/schemaregistry.ts +0 -0
  160. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/style/base.css +0 -0
  161. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/style/index.css +0 -0
  162. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/style/index.js +0 -0
  163. {jupytergis_core-0.8.0 → jupytergis_core-0.9.0}/tsconfig.json +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: jupytergis_core
3
- Version: 0.8.0
3
+ Version: 0.9.0
4
4
  Dynamic: Keywords
5
5
  Summary: JupyterGIS core extension
6
6
  Project-URL: Homepage, https://github.com/geojupyter/jupytergis
@@ -1,4 +1,4 @@
1
1
  # This file is auto-generated by Hatchling. As such, do not:
2
2
  # - modify
3
3
  # - track in version control e.g. be sure to add to .gitignore
4
- __version__ = VERSION = '0.8.0'
4
+ __version__ = VERSION = '0.9.0'
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jupytergis/jupytergis-core",
3
- "version": "0.8.0",
3
+ "version": "0.9.0",
4
4
  "description": "JupyterGIS core extension",
5
5
  "keywords": [
6
6
  "jupyter",
@@ -54,8 +54,8 @@
54
54
  },
55
55
  "dependencies": {
56
56
  "@jupyter/collaborative-drive": "^3.0.0",
57
- "@jupytergis/base": "^0.8.0",
58
- "@jupytergis/schema": "^0.8.0",
57
+ "@jupytergis/base": "^0.9.0",
58
+ "@jupytergis/schema": "^0.9.0",
59
59
  "@jupyterlab/application": "^4.3.0",
60
60
  "@jupyterlab/apputils": "^4.3.0",
61
61
  "@jupyterlab/docregistry": "^4.3.0",
@@ -120,7 +120,7 @@
120
120
  }
121
121
  },
122
122
  "_build": {
123
- "load": "static/remoteEntry.2c88e4f082054467fd67.js",
123
+ "load": "static/remoteEntry.cdc1e1613a5a5d9be9ae.js",
124
124
  "extension": "./extension",
125
125
  "style": "./style"
126
126
  }
@@ -0,0 +1,48 @@
1
+ {
2
+ "title": "JupyterGIS Settings",
3
+ "description": "Settings for the JupyterGIS extension.",
4
+ "type": "object",
5
+ "properties": {
6
+ "proxyUrl": {
7
+ "type": "string",
8
+ "title": "Proxy URL",
9
+ "description": "The proxy URL to use for external requests.",
10
+ "default": "https://corsproxy.io"
11
+ },
12
+ "leftPanelDisabled": {
13
+ "type": "boolean",
14
+ "title": "Disable Left Panel",
15
+ "default": false
16
+ },
17
+ "stacBrowserDisabled": {
18
+ "type": "boolean",
19
+ "title": "Disable STAC Browser",
20
+ "default": false
21
+ },
22
+ "filtersDisabled": {
23
+ "type": "boolean",
24
+ "title": "Disable Filters",
25
+ "default": false
26
+ },
27
+ "annotationsDisabled": {
28
+ "type": "boolean",
29
+ "title": "Disable Annotations",
30
+ "default": false
31
+ },
32
+ "identifyDisabled": {
33
+ "type": "boolean",
34
+ "title": "Disable Identify Features",
35
+ "default": false
36
+ },
37
+ "objectPropertiesDisabled": {
38
+ "type": "boolean",
39
+ "title": "Disable Object Properties",
40
+ "default": false
41
+ },
42
+ "rightPanelDisabled": {
43
+ "type": "boolean",
44
+ "title": "Disable Right Panel",
45
+ "default": false
46
+ }
47
+ }
48
+ }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jupytergis/jupytergis-core",
3
- "version": "0.8.0",
3
+ "version": "0.9.0",
4
4
  "description": "JupyterGIS core extension",
5
5
  "keywords": [
6
6
  "jupyter",
@@ -54,8 +54,8 @@
54
54
  },
55
55
  "dependencies": {
56
56
  "@jupyter/collaborative-drive": "^3.0.0",
57
- "@jupytergis/base": "^0.8.0",
58
- "@jupytergis/schema": "^0.8.0",
57
+ "@jupytergis/base": "^0.9.0",
58
+ "@jupytergis/schema": "^0.9.0",
59
59
  "@jupyterlab/application": "^4.3.0",
60
60
  "@jupyterlab/apputils": "^4.3.0",
61
61
  "@jupyterlab/docregistry": "^4.3.0",
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_jupytergis_jupytergis_core=self.webpackChunk_jupytergis_jupytergis_core||[]).push([[211],{11211:(e,t,n)=>{function r(e,t){for(let n=0;n<t.length;n+=1e4)e.push(...t.slice(n,n+1e4))}function o(e,t){return e===t||(e instanceof Uint8Array&&t instanceof Uint8Array?o(Array.from(e),Array.from(t)):!(!e||!t||typeof e!=typeof t)&&(Array.isArray(e)&&Array.isArray(t)?e.length===t.length&&e.every((e,n)=>o(e,t[n])):"object"==typeof e&&Object.keys(e).length===Object.keys(t).length&&Object.keys(e).every(n=>o(e[n],t[n]))))}async function i({url:e,byteLength:t,requestInit:n,fetch:r}){if(!e)throw new Error("missing url");const o=r??globalThis.fetch;let i;t||=await async function(e,t,n){const r=n??globalThis.fetch;return await r(e,{...t,method:"HEAD"}).then(e=>{if(!e.ok)throw new Error(`fetch head failed ${e.status}`);const t=e.headers.get("Content-Length");if(!t)throw new Error("missing content length");return parseInt(t)})}(e,n,o);const f=n||{};return{byteLength:t,async slice(t,n){if(i)return i.then(e=>e.slice(t,n));const r=new Headers(f.headers),s=void 0===n?"":n-1;r.set("Range",`bytes=${t}-${s}`);const a=await o(e,{...f,headers:r});if(!a.ok||!a.body)throw new Error(`fetch failed ${a.status}`);if(200===a.status)return i=a.arrayBuffer(),i.then(e=>e.slice(t,n));if(206===a.status)return a.arrayBuffer();throw new Error(`fetch received unexpected status code ${a.status}`)}}}function f(e){if(!e)return[];if(1===e.length)return e[0];const t=[];for(const n of e)r(t,n);return t}n.d(t,{asyncBufferFromUrl:()=>i,toGeoJson:()=>Ae});const s=["BOOLEAN","INT32","INT64","INT96","FLOAT","DOUBLE","BYTE_ARRAY","FIXED_LEN_BYTE_ARRAY"],a=["PLAIN","GROUP_VAR_INT","PLAIN_DICTIONARY","RLE","BIT_PACKED","DELTA_BINARY_PACKED","DELTA_LENGTH_BYTE_ARRAY","DELTA_BYTE_ARRAY","RLE_DICTIONARY","BYTE_STREAM_SPLIT"],l=["REQUIRED","OPTIONAL","REPEATED"],c=["UTF8","MAP","MAP_KEY_VALUE","LIST","ENUM","DECIMAL","DATE","TIME_MILLIS","TIME_MICROS","TIMESTAMP_MILLIS","TIMESTAMP_MICROS","UINT_8","UINT_16","UINT_32","UINT_64","INT_8","INT_16","INT_32","INT_64","JSON","BSON","INTERVAL"],u=["UNCOMPRESSED","SNAPPY","GZIP","LZO","BROTLI","LZ4","ZSTD","LZ4_RAW"],d=["DATA_PAGE","INDEX_PAGE","DICTIONARY_PAGE","DATA_PAGE_V2"],_={timestampFromMilliseconds:e=>new Date(Number(e)),timestampFromMicroseconds:e=>new Date(Number(e/1000n)),timestampFromNanoseconds:e=>new Date(Number(e/1000000n)),dateFromDays:e=>new Date(864e5*e)};function p(e,t,n,r){if(t&&n.endsWith("_DICTIONARY")){let n=e;e instanceof Uint8Array&&!(t instanceof Uint8Array)&&(n=new t.constructor(e.length));for(let r=0;r<e.length;r++)n[r]=t[e[r]];return n}return h(e,r)}function h(e,t){const{element:n,parsers:r,utf8:o=!0}=t,{type:i,converted_type:f,logical_type:s}=n;if("DECIMAL"===f){const t=10**-(n.scale||0),r=new Array(e.length);for(let n=0;n<r.length;n++)e[0]instanceof Uint8Array?r[n]=y(e[n])*t:r[n]=Number(e[n])*t;return r}if(!f&&"INT96"===i){const t=new Array(e.length);for(let n=0;n<t.length;n++)t[n]=r.timestampFromNanoseconds(w(e[n]));return t}if("DATE"===f){const t=new Array(e.length);for(let n=0;n<t.length;n++)t[n]=r.dateFromDays(e[n]);return t}if("TIMESTAMP_MILLIS"===f){const t=new Array(e.length);for(let n=0;n<t.length;n++)t[n]=r.timestampFromMilliseconds(e[n]);return t}if("TIMESTAMP_MICROS"===f){const t=new Array(e.length);for(let n=0;n<t.length;n++)t[n]=r.timestampFromMicroseconds(e[n]);return t}if("JSON"===f){const t=new TextDecoder;return e.map(e=>JSON.parse(t.decode(e)))}if("BSON"===f)throw new Error("parquet bson not supported");if("INTERVAL"===f)throw new Error("parquet interval not supported");if("UTF8"===f||"STRING"===s?.type||o&&"BYTE_ARRAY"===i){const t=new TextDecoder,n=new Array(e.length);for(let r=0;r<n.length;r++)n[r]=e[r]&&t.decode(e[r]);return n}if("UINT_64"===f||"INTEGER"===s?.type&&64===s.bitWidth&&!s.isSigned){if(e instanceof BigInt64Array)return new BigUint64Array(e.buffer,e.byteOffset,e.length);const t=new BigUint64Array(e.length);for(let n=0;n<t.length;n++)t[n]=BigInt(e[n]);return t}if("UINT_32"===f||"INTEGER"===s?.type&&32===s.bitWidth&&!s.isSigned){if(e instanceof Int32Array)return new Uint32Array(e.buffer,e.byteOffset,e.length);const t=new Uint32Array(e.length);for(let n=0;n<t.length;n++)t[n]=e[n];return t}if("FLOAT16"===s?.type)return Array.from(e).map(g);if("TIMESTAMP"===s?.type){const{unit:t}=s;let n=r.timestampFromMilliseconds;"MICROS"===t&&(n=r.timestampFromMicroseconds),"NANOS"===t&&(n=r.timestampFromNanoseconds);const o=new Array(e.length);for(let t=0;t<o.length;t++)o[t]=n(e[t]);return o}return e}function y(e){let t=0;for(const n of e)t=256*t+n;const n=8*e.length;return t>=2**(n-1)&&(t-=2**n),t}function w(e){return 86400000000000n*((e>>64n)-2440588n)+(0xffffffffffffffffn&e)}function g(e){if(!e)return;const t=e[1]<<8|e[0],n=t>>15?-1:1,r=t>>10&31,o=1023&t;return 0===r?n*2**-14*(o/1024):31===r?o?NaN:n*(1/0):n*2**(r-15)*(1+o/1024)}function m(e,t,n){const r=e[t],o=[];let i=1;if(r.num_children)for(;o.length<r.num_children;){const r=e[t+i],f=m(e,t+i,[...n,r.name]);i+=f.count,o.push(f)}return{count:i,element:r,children:o,path:n}}function A(e,t){let n=m(e,0,[]);const r=[n];for(const e of t){const o=n.children.find(t=>t.element.name===e);if(!o)throw new Error(`parquet schema element not found: ${t}`);r.push(o),n=o}return r}function E(e){let t=0;for(const{element:n}of e)"REPEATED"===n.repetition_type&&t++;return t}function I(e){let t=0;for(const{element:n}of e.slice(1))"REQUIRED"!==n.repetition_type&&t++;return t}const T={STOP:0,TRUE:1,FALSE:2,BYTE:3,I16:4,I32:5,I64:6,DOUBLE:7,BINARY:8,LIST:9,SET:10,MAP:11,STRUCT:12,UUID:13};function b(e){let t=0;const n={};for(;e.offset<e.view.byteLength;){const[r,o,i]=S(e,t);if(t=i,r===T.STOP)break;n[`field_${o}`]=v(e,r)}return n}function v(e,t){switch(t){case T.TRUE:return!0;case T.FALSE:return!1;case T.BYTE:return e.view.getInt8(e.offset++);case T.I16:case T.I32:return function(e){const t=L(e);return t>>>1^-(1&t)}(e);case T.I64:return N(e);case T.DOUBLE:{const t=e.view.getFloat64(e.offset,!0);return e.offset+=8,t}case T.BINARY:{const t=L(e),n=new Uint8Array(e.view.buffer,e.view.byteOffset+e.offset,t);return e.offset+=t,n}case T.LIST:{const[t,n]=function(e){const t=e.view.getUint8(e.offset++),n=t>>4,r=R(t);return 15===n?[r,L(e)]:[r,n]}(e),r=t===T.TRUE||t===T.FALSE,o=new Array(n);for(let i=0;i<n;i++)o[i]=r?1===v(e,T.BYTE):v(e,t);return o}case T.STRUCT:{const t={};let n=0;for(;;){let r,o;if([r,o,n]=S(e,n),r===T.STOP)break;t[`field_${o}`]=v(e,r)}return t}default:throw new Error(`thrift unhandled type: ${t}`)}}function L(e){let t=0,n=0;for(;;){const r=e.view.getUint8(e.offset++);if(t|=(127&r)<<n,!(128&r))return t;n+=7}}function N(e){const t=function(e){let t=0n,n=0n;for(;;){const r=e.view.getUint8(e.offset++);if(t|=BigInt(127&r)<<n,!(128&r))return t;n+=7n}}(e);return t>>1n^-(1n&t)}function R(e){return 15&e}function S(e,t){const n=e.view.getUint8(e.offset++);if((15&n)===T.STOP)return[0,0,t];const r=n>>4;let o;if(!r)throw new Error("non-delta field id not supported");return o=t+r,[R(n),o,o]}const O=1<<19;async function U(e,{parsers:t,initialFetchSize:n=O}={}){if(!(e&&e.byteLength>=0))throw new Error("parquet expected AsyncBuffer");const r=Math.max(0,e.byteLength-n),o=await e.slice(r,e.byteLength),i=new DataView(o);if(827474256!==i.getUint32(o.byteLength-4,!0))throw new Error("parquet file invalid (footer != PAR1)");const f=i.getUint32(o.byteLength-8,!0);if(f>e.byteLength-8)throw new Error(`parquet metadata length ${f} exceeds available buffer ${e.byteLength-8}`);if(f+8>n){const n=e.byteLength-f-8,i=await e.slice(n,r),s=new ArrayBuffer(f+8),a=new Uint8Array(s);return a.set(new Uint8Array(i)),a.set(new Uint8Array(o),r-n),D(s,{parsers:t})}return D(o,{parsers:t})}function D(e,{parsers:t}={}){if(!(e instanceof ArrayBuffer))throw new Error("parquet expected ArrayBuffer");const n=new DataView(e);if(t={..._,...t},n.byteLength<8)throw new Error("parquet file is too short");if(827474256!==n.getUint32(n.byteLength-4,!0))throw new Error("parquet file invalid (footer != PAR1)");const r=n.byteLength-8,o=n.getUint32(r,!0);if(o>n.byteLength-8)throw new Error(`parquet metadata length ${o} exceeds available buffer ${n.byteLength-8}`);const i=b({view:n,offset:r-o}),f=new TextDecoder;function p(e){return e&&f.decode(e)}const h=i.field_1,y=i.field_2.map(e=>({type:s[e.field_1],type_length:e.field_2,repetition_type:l[e.field_3],name:p(e.field_4),num_children:e.field_5,converted_type:c[e.field_6],scale:e.field_7,precision:e.field_8,field_id:e.field_9,logical_type:P(e.field_10)})),w=y.filter(e=>e.type),g=i.field_3,m=i.field_4.map(e=>({columns:e.field_1.map((e,n)=>({file_path:p(e.field_1),file_offset:e.field_2,meta_data:e.field_3&&{type:s[e.field_3.field_1],encodings:e.field_3.field_2?.map(e=>a[e]),path_in_schema:e.field_3.field_3.map(p),codec:u[e.field_3.field_4],num_values:e.field_3.field_5,total_uncompressed_size:e.field_3.field_6,total_compressed_size:e.field_3.field_7,key_value_metadata:e.field_3.field_8,data_page_offset:e.field_3.field_9,index_page_offset:e.field_3.field_10,dictionary_page_offset:e.field_3.field_11,statistics:$(e.field_3.field_12,w[n],t),encoding_stats:e.field_3.field_13?.map(e=>({page_type:d[e.field_1],encoding:a[e.field_2],count:e.field_3})),bloom_filter_offset:e.field_3.field_14,bloom_filter_length:e.field_3.field_15,size_statistics:e.field_3.field_16&&{unencoded_byte_array_data_bytes:e.field_3.field_16.field_1,repetition_level_histogram:e.field_3.field_16.field_2,definition_level_histogram:e.field_3.field_16.field_3}},offset_index_offset:e.field_4,offset_index_length:e.field_5,column_index_offset:e.field_6,column_index_length:e.field_7,crypto_metadata:e.field_8,encrypted_column_metadata:e.field_9})),total_byte_size:e.field_2,num_rows:e.field_3,sorting_columns:e.field_4?.map(e=>({column_idx:e.field_1,descending:e.field_2,nulls_first:e.field_3})),file_offset:e.field_5,total_compressed_size:e.field_6,ordinal:e.field_7})),A=i.field_5?.map(e=>({key:p(e.field_1),value:p(e.field_2)}));return{version:h,schema:y,num_rows:g,row_groups:m,key_value_metadata:A,created_by:p(i.field_6),metadata_length:o}}function B({schema:e}){return A(e,[])[0]}function P(e){return e?.field_1?{type:"STRING"}:e?.field_2?{type:"MAP"}:e?.field_3?{type:"LIST"}:e?.field_4?{type:"ENUM"}:e?.field_5?{type:"DECIMAL",scale:e.field_5.field_1,precision:e.field_5.field_2}:e?.field_6?{type:"DATE"}:e?.field_7?{type:"TIME",isAdjustedToUTC:e.field_7.field_1,unit:M(e.field_7.field_2)}:e?.field_8?{type:"TIMESTAMP",isAdjustedToUTC:e.field_8.field_1,unit:M(e.field_8.field_2)}:e?.field_10?{type:"INTEGER",bitWidth:e.field_10.field_1,isSigned:e.field_10.field_2}:e?.field_11?{type:"NULL"}:e?.field_12?{type:"JSON"}:e?.field_13?{type:"BSON"}:e?.field_14?{type:"UUID"}:e?.field_15?{type:"FLOAT16"}:e}function M(e){if(e.field_1)return"MILLIS";if(e.field_2)return"MICROS";if(e.field_3)return"NANOS";throw new Error("parquet time unit required")}function $(e,t,n){return e&&{max:F(e.field_1,t,n),min:F(e.field_2,t,n),null_count:e.field_3,distinct_count:e.field_4,max_value:F(e.field_5,t,n),min_value:F(e.field_6,t,n),is_max_value_exact:e.field_7,is_min_value_exact:e.field_8}}function F(e,t,n){const{type:r,converted_type:o,logical_type:i}=t;if(void 0===e)return e;if("BOOLEAN"===r)return 1===e[0];if("BYTE_ARRAY"===r)return(new TextDecoder).decode(e);const f=new DataView(e.buffer,e.byteOffset,e.byteLength);return"FLOAT"===r&&4===f.byteLength?f.getFloat32(0,!0):"DOUBLE"===r&&8===f.byteLength?f.getFloat64(0,!0):"INT32"===r&&"DATE"===o?n.dateFromDays(f.getInt32(0,!0)):"INT64"===r&&"TIMESTAMP_MILLIS"===o?n.timestampFromMilliseconds(f.getBigInt64(0,!0)):"INT64"===r&&"TIMESTAMP_MICROS"===o?n.timestampFromMicroseconds(f.getBigInt64(0,!0)):"INT64"===r&&"TIMESTAMP"===i?.type&&"NANOS"===i?.unit?n.timestampFromNanoseconds(f.getBigInt64(0,!0)):"INT64"===r&&"TIMESTAMP"===i?.type&&"MICROS"===i?.unit?n.timestampFromMicroseconds(f.getBigInt64(0,!0)):"INT64"===r&&"TIMESTAMP"===i?.type?n.timestampFromMilliseconds(f.getBigInt64(0,!0)):"INT32"===r&&4===f.byteLength?f.getInt32(0,!0):"INT64"===r&&8===f.byteLength?f.getBigInt64(0,!0):"DECIMAL"===o?y(e)*10**-(t.scale||0):"FLOAT16"===i?.type?g(e):e}const q=1<<25;function Y({dictionary_page_offset:e,data_page_offset:t,total_compressed_size:n}){const r=e||t;return{startByte:Number(r),endByte:Number(r+n)}}function C(e,t,n,r,o){const i=t?.length||n.length;if(!i)return r;const f=I(o),s=o.map(({element:e})=>e.repetition_type);let a=0;const l=[e];let c=e,u=0,d=0,_=0;if(n[0])for(;u<s.length-2&&_<n[0];)u++,"REQUIRED"!==s[u]&&(c=c.at(-1),l.push(c),d++),"REPEATED"===s[u]&&_++;for(let e=0;e<i;e++){const o=t?.length?t[e]:f,i=n[e];for(;u&&(i<_||"REPEATED"!==s[u]);)"REQUIRED"!==s[u]&&(l.pop(),d--),"REPEATED"===s[u]&&_--,u--;for(c=l.at(-1);(u<s.length-2||"REPEATED"===s[u+1])&&(d<o||"REQUIRED"===s[u+1]);){if(u++,"REQUIRED"!==s[u]){const e=[];c.push(e),c=e,l.push(e),d++}"REPEATED"===s[u]&&_++}o===f?c.push(r[a++]):u===s.length-2?c.push(null):c.push([])}if(!e.length)for(let e=0;e<f;e++){const e=[];c.push(e),c=e}return e}function x(e,t,n=0){const r=t.path.join("."),o="OPTIONAL"===t.element.repetition_type,i=o?n+1:n;if(function(e){if(!e)return!1;if("LIST"!==e.element.converted_type)return!1;if(e.children.length>1)return!1;const t=e.children[0];return!(t.children.length>1)&&"REPEATED"===t.element.repetition_type}(t)){let f=t.children[0],s=i;1===f.children.length&&(f=f.children[0],s++),x(e,f,s);const a=f.path.join("."),l=e.get(a);if(!l)throw new Error("parquet list column missing values");return o&&k(l,n),e.set(r,l),void e.delete(a)}if(function(e){if(!e)return!1;if("MAP"!==e.element.converted_type)return!1;if(e.children.length>1)return!1;const t=e.children[0];if(2!==t.children.length)return!1;if("REPEATED"!==t.element.repetition_type)return!1;const n=t.children.find(e=>"key"===e.element.name);if("REPEATED"===n?.element.repetition_type)return!1;const r=t.children.find(e=>"value"===e.element.name);return"REPEATED"!==r?.element.repetition_type}(t)){const f=t.children[0].element.name;x(e,t.children[0].children[0],i+1),x(e,t.children[0].children[1],i+1);const s=e.get(`${r}.${f}.key`),a=e.get(`${r}.${f}.value`);if(!s)throw new Error("parquet map column missing keys");if(!a)throw new Error("parquet map column missing values");if(s.length!==a.length)throw new Error("parquet map column key/value length mismatch");const l=j(s,a,i);return o&&k(l,n),e.delete(`${r}.${f}.key`),e.delete(`${r}.${f}.value`),void e.set(r,l)}if(t.children.length){const i="REQUIRED"===t.element.repetition_type?n:n+1,f={};for(const n of t.children){x(e,n,i);const t=e.get(n.path.join("."));if(!t)throw new Error("parquet struct missing child data");f[n.element.name]=t}for(const n of t.children)e.delete(n.path.join("."));const s=G(f,i);o&&k(s,n),e.set(r,s)}}function k(e,t){for(let n=0;n<e.length;n++)t?k(e[n],t-1):e[n]=e[n][0]}function j(e,t,n){const r=[];for(let o=0;o<e.length;o++)if(n)r.push(j(e[o],t[o],n-1));else if(e[o]){const n={};for(let r=0;r<e[o].length;r++){const i=t[o][r];n[e[o][r]]=void 0===i?null:i}r.push(n)}else r.push(void 0);return r}function G(e,t){const n=Object.keys(e),r=e[n[0]]?.length,o=[];for(let i=0;i<r;i++){const f={};for(const t of n){if(e[t].length!==r)throw new Error("parquet struct parsing error");f[t]=e[t][i]}t?o.push(G(f,t-1)):o.push(f)}return o}function z(e,t,n){const r=n instanceof Int32Array,o=L(e),i=L(e);L(e);let f=N(e),s=0;n[s++]=r?Number(f):f;const a=o/i;for(;s<t;){const o=N(e),l=new Uint8Array(i);for(let t=0;t<i;t++)l[t]=e.view.getUint8(e.offset++);for(let c=0;c<i&&s<t;c++){const i=BigInt(l[c]);if(i){let l=0n,c=a;const u=(1n<<i)-1n;for(;c&&s<t;){let t=BigInt(e.view.getUint8(e.offset))>>l&u;for(l+=i;l>=8;)l-=8n,e.offset++,l&&(t|=BigInt(e.view.getUint8(e.offset))<<i-l&u);f+=o+t,n[s++]=r?Number(f):f,c--}c&&(e.offset+=Math.ceil((c*Number(i)+Number(l))/8))}else for(let e=0;e<a&&s<t;e++)f+=o,n[s++]=r?Number(f):f}}}function V(e,t,n){const r=new Int32Array(t);z(e,t,r);for(let o=0;o<t;o++)n[o]=new Uint8Array(e.view.buffer,e.view.byteOffset+e.offset,r[o]),e.offset+=r[o]}function Q(e){return 32-Math.clz32(e)}function J(e,t,n,r){void 0===r&&(r=e.view.getUint32(e.offset,!0),e.offset+=4);const o=e.offset;let i=0;for(;i<n.length;){const r=L(e);if(1&r)i=H(e,r,t,n,i);else{const o=r>>>1;W(e,o,t,n,i),i+=o}}e.offset=o+r}function W(e,t,n,r,o){const i=n+7>>3;let f=0;for(let t=0;t<i;t++)f|=e.view.getUint8(e.offset++)<<(t<<3);for(let e=0;e<t;e++)r[o+e]=f}function H(e,t,n,r,o){let i=t>>1<<3;const f=(1<<n)-1;let s=0;if(e.offset<e.view.byteLength)s=e.view.getUint8(e.offset++);else if(f)throw new Error(`parquet bitpack offset ${e.offset} out of range`);let a=8,l=0;for(;i;)l>8?(l-=8,a-=8,s>>>=8):a-l<n?(s|=e.view.getUint8(e.offset)<<a,e.offset++,a+=8):(o<r.length&&(r[o++]=s>>l&f),i--,l+=n);return o}function K(e,t,n,r){const o=function(e,t){switch(e){case"INT32":case"FLOAT":return 4;case"INT64":case"DOUBLE":return 8;case"FIXED_LEN_BYTE_ARRAY":if(!t)throw new Error("parquet byteWidth missing type_length");return t;default:throw new Error(`parquet unsupported type: ${e}`)}}(n,r),i=new Uint8Array(t*o);for(let n=0;n<o;n++)for(let r=0;r<t;r++)i[r*o+n]=e.view.getUint8(e.offset++);if("FLOAT"===n)return new Float32Array(i.buffer);if("DOUBLE"===n)return new Float64Array(i.buffer);if("INT32"===n)return new Int32Array(i.buffer);if("INT64"===n)return new BigInt64Array(i.buffer);if("FIXED_LEN_BYTE_ARRAY"===n){const e=new Array(t);for(let n=0;n<t;n++)e[n]=i.subarray(n*o,(n+1)*o);return e}throw new Error(`parquet byte_stream_split unsupported type: ${n}`)}function X(e,t,n,r){if(0===n)return[];if("BOOLEAN"===t)return function(e,t){const n=new Array(t);for(let r=0;r<t;r++){const t=e.offset+(r/8|0),o=r%8,i=e.view.getUint8(t);n[r]=!!(i&1<<o)}return e.offset+=Math.ceil(t/8),n}(e,n);if("INT32"===t)return function(e,t){const n=(e.view.byteOffset+e.offset)%4?new Int32Array(Z(e.view.buffer,e.view.byteOffset+e.offset,4*t)):new Int32Array(e.view.buffer,e.view.byteOffset+e.offset,t);return e.offset+=4*t,n}(e,n);if("INT64"===t)return function(e,t){const n=(e.view.byteOffset+e.offset)%8?new BigInt64Array(Z(e.view.buffer,e.view.byteOffset+e.offset,8*t)):new BigInt64Array(e.view.buffer,e.view.byteOffset+e.offset,t);return e.offset+=8*t,n}(e,n);if("INT96"===t)return function(e,t){const n=new Array(t);for(let r=0;r<t;r++){const t=e.view.getBigInt64(e.offset+12*r,!0),o=e.view.getInt32(e.offset+12*r+8,!0);n[r]=BigInt(o)<<64n|t}return e.offset+=12*t,n}(e,n);if("FLOAT"===t)return function(e,t){const n=(e.view.byteOffset+e.offset)%4?new Float32Array(Z(e.view.buffer,e.view.byteOffset+e.offset,4*t)):new Float32Array(e.view.buffer,e.view.byteOffset+e.offset,t);return e.offset+=4*t,n}(e,n);if("DOUBLE"===t)return function(e,t){const n=(e.view.byteOffset+e.offset)%8?new Float64Array(Z(e.view.buffer,e.view.byteOffset+e.offset,8*t)):new Float64Array(e.view.buffer,e.view.byteOffset+e.offset,t);return e.offset+=8*t,n}(e,n);if("BYTE_ARRAY"===t)return function(e,t){const n=new Array(t);for(let r=0;r<t;r++){const t=e.view.getUint32(e.offset,!0);e.offset+=4,n[r]=new Uint8Array(e.view.buffer,e.view.byteOffset+e.offset,t),e.offset+=t}return n}(e,n);if("FIXED_LEN_BYTE_ARRAY"===t){if(!r)throw new Error("parquet missing fixed length");return function(e,t,n){const r=new Array(t);for(let o=0;o<t;o++)r[o]=new Uint8Array(e.view.buffer,e.view.byteOffset+e.offset,n),e.offset+=n;return r}(e,n,r)}throw new Error(`parquet unhandled type: ${t}`)}function Z(e,t,n){const r=new ArrayBuffer(n);return new Uint8Array(r).set(new Uint8Array(e,t,n)),r}const ee=[0,255,65535,16777215,4294967295];function te(e,t,n,r,o){for(let i=0;i<o;i++)n[r+i]=e[t+i]}function ne(e,t,n,r){let o;const i=r?.[n];if("UNCOMPRESSED"===n)o=e;else if(i)o=i(e,t);else{if("SNAPPY"!==n)throw new Error(`parquet unsupported compression codec: ${n}`);o=new Uint8Array(t),function(e,t){const n=e.byteLength,r=t.byteLength;let o=0,i=0;for(;o<n;){const t=e[o];if(o++,t<128)break}if(r&&o>=n)throw new Error("invalid snappy length header");for(;o<n;){const r=e[o];let f=0;if(o++,o>=n)throw new Error("missing eof marker");if(3&r){let s=0;switch(3&r){case 1:f=4+(r>>>2&7),s=e[o]+(r>>>5<<8),o++;break;case 2:if(n<=o+1)throw new Error("snappy error end of input");f=(r>>>2)+1,s=e[o]+(e[o+1]<<8),o+=2;break;case 3:if(n<=o+3)throw new Error("snappy error end of input");f=(r>>>2)+1,s=e[o]+(e[o+1]<<8)+(e[o+2]<<16)+(e[o+3]<<24),o+=4}if(0===s||isNaN(s))throw new Error(`invalid offset ${s} pos ${o} inputLength ${n}`);if(s>i)throw new Error("cannot copy from before start of buffer");te(t,i-s,t,i,f),i+=f}else{let f=(r>>>2)+1;if(f>60){if(o+3>=n)throw new Error("snappy error literal pos + 3 >= inputLength");const t=f-60;f=e[o]+(e[o+1]<<8)+(e[o+2]<<16)+(e[o+3]<<24),f=1+(f&ee[t]),o+=t}if(o+f>n)throw new Error("snappy error literal exceeds input length");te(e,o,t,i,f),o+=f,i+=f}}if(i!==r)throw new Error("premature end of input")}(e,o)}if(o?.length!==t)throw new Error(`parquet decompressed page length ${o?.length} does not match header ${t}`);return o}function re(e,{groupStart:t,selectStart:n,selectEnd:r},o,i){const{columnName:f}=o,s=[];let a,l,c=0;const u=i&&(()=>{l&&i({columnName:f,columnData:l,rowStart:t+c-l.length,rowEnd:t+c})});for(;c<r&&!(e.offset>=e.view.byteLength-1);){const t=ie(e);if("DICTIONARY_PAGE"===t.type)a=oe(e,t,o,a,void 0,0),a=h(a,o);else{const r=l?.length||0,i=oe(e,t,o,a,l,n-c);l===i?c+=i.length-r:(u?.(),s.push(i),c+=i.length,l=i)}}return u?.(),c>r&&l&&(s[s.length-1]=l.slice(0,r-(c-l.length))),s}function oe(e,t,n,r,o,i){const{type:f,element:s,schemaPath:a,codec:l,compressors:c}=n,u=new Uint8Array(e.view.buffer,e.view.byteOffset+e.offset,t.compressed_page_size);if(e.offset+=t.compressed_page_size,"DATA_PAGE"===t.type){const e=t.data_page_header;if(!e)throw new Error("parquet data page header is undefined");if(i>e.num_values&&function(e){if(2!==e.length)return!1;const[,t]=e;return"REPEATED"!==t.element.repetition_type&&!t.children.length}(a))return new Array(e.num_values);const f=ne(u,Number(t.uncompressed_page_size),l,c),{definitionLevels:s,repetitionLevels:d,dataPage:_}=function(e,t,{type:n,element:r,schemaPath:o}){const i=new DataView(e.buffer,e.byteOffset,e.byteLength),f={view:i,offset:0};let s;const a=function(e,t,n){if(n.length>1){const r=E(n);if(r){const n=new Array(t.num_values);return J(e,Q(r),n),n}}return[]}(f,t,o),{definitionLevels:l,numNulls:c}=function(e,t,n){const r=I(n);if(!r)return{definitionLevels:[],numNulls:0};const o=new Array(t.num_values);J(e,Q(r),o);let i=t.num_values;for(const e of o)e===r&&i--;return 0===i&&(o.length=0),{definitionLevels:o,numNulls:i}}(f,t,o),u=t.num_values-c;if("PLAIN"===t.encoding)s=X(f,n,u,r.type_length);else if("PLAIN_DICTIONARY"===t.encoding||"RLE_DICTIONARY"===t.encoding||"RLE"===t.encoding){const e="BOOLEAN"===n?1:i.getUint8(f.offset++);e?(s=new Array(u),"BOOLEAN"===n?(J(f,e,s),s=s.map(e=>!!e)):J(f,e,s,i.byteLength-f.offset)):s=new Uint8Array(u)}else if("BYTE_STREAM_SPLIT"===t.encoding)s=K(f,u,n,r.type_length);else if("DELTA_BINARY_PACKED"===t.encoding)s="INT32"===n?new Int32Array(u):new BigInt64Array(u),z(f,u,s);else{if("DELTA_LENGTH_BYTE_ARRAY"!==t.encoding)throw new Error(`parquet unsupported encoding: ${t.encoding}`);s=new Array(u),V(f,u,s)}return{definitionLevels:l,repetitionLevels:a,dataPage:s}}(f,e,n);let h=p(_,r,e.encoding,n);if(d.length||s?.length)return C(Array.isArray(o)?o:[],s,d,h,a);for(let e=2;e<a.length;e++)"REQUIRED"!==a[e].element.repetition_type&&(h=Array.from(h,e=>[e]));return h}if("DATA_PAGE_V2"===t.type){const e=t.data_page_header_v2;if(!e)throw new Error("parquet data page header v2 is undefined");if(i>e.num_rows)return new Array(e.num_values);const{definitionLevels:f,repetitionLevels:s,dataPage:l}=function(e,t,n){const r={view:new DataView(e.buffer,e.byteOffset,e.byteLength),offset:0},{type:o,element:i,schemaPath:f,codec:s,compressors:a}=n,l=t.data_page_header_v2;if(!l)throw new Error("parquet data page header v2 is undefined");const c=function(e,t,n){const r=E(n);if(!r)return[];const o=new Array(t.num_values);return J(e,Q(r),o,t.repetition_levels_byte_length),o}(r,l,f);r.offset=l.repetition_levels_byte_length;const u=function(e,t,n){const r=I(n);if(r){const n=new Array(t.num_values);return J(e,Q(r),n,t.definition_levels_byte_length),n}}(r,l,f),d=t.uncompressed_page_size-l.definition_levels_byte_length-l.repetition_levels_byte_length;let _=e.subarray(r.offset);!1!==l.is_compressed&&(_=ne(_,d,s,a));const p=new DataView(_.buffer,_.byteOffset,_.byteLength),h={view:p,offset:0};let y;const w=l.num_values-l.num_nulls;if("PLAIN"===l.encoding)y=X(h,o,w,i.type_length);else if("RLE"===l.encoding)y=new Array(w),J(h,1,y),y=y.map(e=>!!e);else if("PLAIN_DICTIONARY"===l.encoding||"RLE_DICTIONARY"===l.encoding){const e=p.getUint8(h.offset++);y=new Array(w),J(h,e,y,d-1)}else if("DELTA_BINARY_PACKED"===l.encoding)y="INT32"===o?new Int32Array(w):new BigInt64Array(w),z(h,w,y);else if("DELTA_LENGTH_BYTE_ARRAY"===l.encoding)y=new Array(w),V(h,w,y);else if("DELTA_BYTE_ARRAY"===l.encoding)y=new Array(w),function(e,t,n){const r=new Int32Array(t);z(e,t,r);const o=new Int32Array(t);z(e,t,o);for(let i=0;i<t;i++){const t=new Uint8Array(e.view.buffer,e.view.byteOffset+e.offset,o[i]);r[i]?(n[i]=new Uint8Array(r[i]+o[i]),n[i].set(n[i-1].subarray(0,r[i])),n[i].set(t,r[i])):n[i]=t,e.offset+=o[i]}}(h,w,y);else{if("BYTE_STREAM_SPLIT"!==l.encoding)throw new Error(`parquet unsupported encoding: ${l.encoding}`);y=K(r,w,o,i.type_length)}return{definitionLevels:u,repetitionLevels:c,dataPage:y}}(u,t,n),c=p(l,r,e.encoding,n);return C(Array.isArray(o)?o:[],f,s,c,a)}if("DICTIONARY_PAGE"===t.type){const e=t.dictionary_page_header;if(!e)throw new Error("parquet dictionary page header is undefined");const n=ne(u,Number(t.uncompressed_page_size),l,c);return X({view:new DataView(n.buffer,n.byteOffset,n.byteLength),offset:0},f,e.num_values,s.type_length)}throw new Error(`parquet unsupported page type: ${t.type}`)}function ie(e){const t=b(e);return{type:d[t.field_1],uncompressed_page_size:t.field_2,compressed_page_size:t.field_3,crc:t.field_4,data_page_header:t.field_5&&{num_values:t.field_5.field_1,encoding:a[t.field_5.field_2],definition_level_encoding:a[t.field_5.field_3],repetition_level_encoding:a[t.field_5.field_4],statistics:t.field_5.field_5&&{max:t.field_5.field_5.field_1,min:t.field_5.field_5.field_2,null_count:t.field_5.field_5.field_3,distinct_count:t.field_5.field_5.field_4,max_value:t.field_5.field_5.field_5,min_value:t.field_5.field_5.field_6}},index_page_header:t.field_6,dictionary_page_header:t.field_7&&{num_values:t.field_7.field_1,encoding:a[t.field_7.field_2],is_sorted:t.field_7.field_3},data_page_header_v2:t.field_8&&{num_values:t.field_8.field_1,num_nulls:t.field_8.field_2,num_rows:t.field_8.field_3,encoding:a[t.field_8.field_4],definition_levels_byte_length:t.field_8.field_5,repetition_levels_byte_length:t.field_8.field_6,is_compressed:void 0===t.field_8.field_7||t.field_8.field_7,statistics:t.field_8.field_8}}}async function fe({asyncColumns:e},t,n,r,o){const i=new Array(n),s=await Promise.all(e.map(({data:e})=>e.then(f))),a=e.map(e=>e.pathInSchema[0]).filter(e=>!r||r.includes(e)),l=r??a,c=l.map(t=>e.findIndex(e=>e.pathInSchema[0]===t));for(let r=t;r<n;r++)if("object"===o){const t={};for(let n=0;n<e.length;n++)t[e[n].pathInSchema[0]]=s[n][r];i[r]=t}else{const t=new Array(e.length);for(let e=0;e<l.length;e++)c[e]>=0&&(t[e]=s[c[e]][r]);i[r]=t}return i}function se(e,t){const{asyncColumns:n}=e,r=[];for(const e of t.children)if(e.children.length){const t=n.filter(t=>t.pathInSchema[0]===e.element.name);if(!t.length)continue;const o=new Map,i=Promise.all(t.map(e=>e.data.then(t=>{o.set(e.pathInSchema.join("."),f(t))}))).then(()=>{x(o,e);const t=o.get(e.path.join("."));if(!t)throw new Error("parquet column data not assembled");return[t]});r.push({pathInSchema:e.path,data:i})}else{const t=n.find(t=>t.pathInSchema[0]===e.element.name);t&&r.push(t)}return{...e,asyncColumns:r}}function ae(e){if(!e.metadata)throw new Error("parquet requires metadata");const t=function({metadata:e,rowStart:t=0,rowEnd:n=1/0,columns:o}){if(!e)throw new Error("parquetPlan requires metadata");const i=[],f=[];let s=0;for(const a of e.row_groups){const e=Number(a.num_rows),l=s+e;if(e>0&&l>=t&&s<n){const l=[];for(const{file_path:e,meta_data:t}of a.columns){if(e)throw new Error("parquet file_path not supported");if(!t)throw new Error("parquet column metadata is undefined");o&&!o.includes(t.path_in_schema[0])||l.push(Y(t))}const c=Math.max(t-s,0),u=Math.min(n-s,e);i.push({ranges:l,rowGroup:a,groupStart:s,groupRows:e,selectStart:c,selectEnd:u});const d=l[l.length-1]?.endByte-l[0]?.startByte;if(!o&&d<q)f.push({startByte:l[0].startByte,endByte:l[l.length-1].endByte});else if(l.length)r(f,l);else if(o?.length)throw new Error(`parquet columns not found: ${o.join(", ")}`)}s=l}return isFinite(n)||(n=s),{metadata:e,rowStart:t,rowEnd:n,columns:o,fetches:f,groups:i}}(e);return e.file=function(e,{fetches:t}){const n=t.map(({startByte:t,endByte:n})=>e.slice(t,n));return{byteLength:e.byteLength,slice(r,o=e.byteLength){const i=t.findIndex(({startByte:e,endByte:t})=>e<=r&&o<=t);if(i<0)throw new Error(`no prefetch for range [${r}, ${o}]`);if(t[i].startByte!==r||t[i].endByte!==o){const e=r-t[i].startByte,f=o-t[i].startByte;return n[i]instanceof Promise?n[i].then(t=>t.slice(e,f)):n[i].slice(e,f)}return n[i]}}}(e.file,t),t.groups.map(n=>function(e,{metadata:t,columns:n},r){const{file:o,compressors:i,utf8:f}=e,s=[],a={..._,...e.parsers};for(const{file_path:l,meta_data:c}of r.rowGroup.columns){if(l)throw new Error("parquet file_path not supported");if(!c)throw new Error("parquet column metadata is undefined");const u=c.path_in_schema[0];if(n&&!n.includes(u))continue;const{startByte:d,endByte:_}=Y(c),p=_-d;if(p>1<<30){console.warn(`parquet skipping huge column "${c.path_in_schema}" ${p} bytes`);continue}const h=Promise.resolve(o.slice(d,_));s.push({pathInSchema:c.path_in_schema,data:h.then(n=>{const o=A(t.schema,c.path_in_schema),s={view:new DataView(n),offset:0},l={columnName:c.path_in_schema.join("."),type:c.type,element:o[o.length-1].element,schemaPath:o,codec:c.codec,parsers:a,compressors:i,utf8:f};return re(s,r,l,e.onPage)})})}return{groupStart:r.groupStart,groupRows:r.groupRows,asyncColumns:s}}(e,t,n))}function le(e){return new Promise((t,n)=>{(async function(e){e.metadata??=await U(e.file);const t=await ae(e),{rowStart:n=0,rowEnd:o,columns:i,onChunk:f,onComplete:s,rowFormat:a}=e;if(!s&&!f){for(const{asyncColumns:e}of t)for(const{data:t}of e)await t;return}const l=B(e.metadata),c=t.map(e=>se(e,l));if(f)for(const e of c)for(const t of e.asyncColumns)t.data.then(n=>{let r=e.groupStart;for(const e of n)f({columnName:t.pathInSchema[0],columnData:e,rowStart:r,rowEnd:r+e.length}),r+=e.length});if(s){const e=[];for(const t of c){const f=Math.max(n-t.groupStart,0),s=Math.min((o??1/0)-t.groupStart,t.groupRows);r(e,(await fe(t,f,s,i,a)).slice(f,s))}s(e)}else for(const{asyncColumns:e}of c)for(const{data:t}of e)await t})({rowFormat:"object",...e,onComplete:t}).catch(n)})}function ce(e,t){return e<t?-1:e>t?1:0}function ue(e,t={}){return"$and"in t&&Array.isArray(t.$and)?t.$and.every(t=>ue(e,t)):"$or"in t&&Array.isArray(t.$or)?t.$or.some(t=>ue(e,t)):"$nor"in t&&Array.isArray(t.$nor)?!t.$nor.some(t=>ue(e,t)):Object.entries(t).every(([t,n])=>{const r=e[t];return"object"!=typeof n||null===n||Array.isArray(n)?o(r,n):Object.entries(n||{}).every(([e,n])=>{switch(e){case"$gt":return r>n;case"$gte":return r>=n;case"$lt":return r<n;case"$lte":return r<=n;case"$eq":return o(r,n);case"$ne":return!o(r,n);case"$in":return Array.isArray(n)&&n.includes(r);case"$nin":return Array.isArray(n)&&!n.includes(r);case"$not":return!ue({[t]:r},{[t]:n});default:return!0}})})}function de(e){if(!e)return[];const t=[];return"$and"in e&&Array.isArray(e.$and)?t.push(...e.$and.flatMap(de)):"$or"in e&&Array.isArray(e.$or)?t.push(...e.$or.flatMap(de)):"$nor"in e&&Array.isArray(e.$nor)?t.push(...e.$nor.flatMap(de)):t.push(...Object.keys(e)),t}const _e=1,pe=2,he=3,ye=4,we=5,ge=6;function me(e){const t=new DataView(e.buffer,e.byteOffset,e.byteLength);let n=0;const r=e[n];n+=1;const o=1===r,i=t.getUint32(n,o);if(n+=4,i===_e){const e=t.getFloat64(n,o);n+=8;const r=t.getFloat64(n,o);return n+=8,{type:"Point",coordinates:[e,r]}}if(i===pe){const e=t.getUint32(n,o);n+=4;const r=[];for(let i=0;i<e;i++){const e=t.getFloat64(n,o);n+=8;const i=t.getFloat64(n,o);n+=8,r.push([e,i])}return{type:"LineString",coordinates:r}}if(i===he){const e=t.getUint32(n,o);n+=4;const r=[];for(let i=0;i<e;i++){const e=t.getUint32(n,o);n+=4;const i=[];for(let r=0;r<e;r++){const e=t.getFloat64(n,o);n+=8;const r=t.getFloat64(n,o);n+=8,i.push([e,r])}r.push(i)}return{type:"Polygon",coordinates:r}}if(i===ge){const r=t.getUint32(n,o);n+=4;const i=[];for(let o=0;o<r;o++){const r=1===e[n];n+=1;const o=t.getUint32(n,r);if(n+=4,o!==he)throw new Error(`Expected Polygon in MultiPolygon, got ${o}`);const f=t.getUint32(n,r);n+=4;const s=[];for(let e=0;e<f;e++){const e=t.getUint32(n,r);n+=4;const o=[];for(let i=0;i<e;i++){const e=t.getFloat64(n,r);n+=8;const i=t.getFloat64(n,r);n+=8,o.push([e,i])}s.push(o)}i.push(s)}return{type:"MultiPolygon",coordinates:i}}if(i===ye){const r=t.getUint32(n,o);n+=4;const i=[];for(let o=0;o<r;o++){const r=1===e[n];n+=1;const o=t.getUint32(n,r);if(n+=4,o!==_e)throw new Error(`Expected Point in MultiPoint, got ${o}`);const f=t.getFloat64(n,r);n+=8;const s=t.getFloat64(n,r);n+=8,i.push([f,s])}return{type:"MultiPoint",coordinates:i}}if(i===we){const r=t.getUint32(n,o);n+=4;const i=[];for(let f=0;f<r;f++){const r=1===e[n];n+=1;const f=t.getUint32(n,r);if(n+=4,f!==pe)throw new Error(`Expected LineString in MultiLineString, got ${f}`);const s=t.getUint32(n,o);n+=4;const a=[];for(let e=0;e<s;e++){const e=t.getFloat64(n,r);n+=8;const o=t.getFloat64(n,r);n+=8,a.push([e,o])}i.push(a)}return{type:"MultiLineString",coordinates:i}}throw new Error(`Unsupported geometry type: ${i}`)}async function Ae({file:e,compressors:t}){const n=await U(e),r=n.key_value_metadata?.find(e=>"geo"===e.key);if(!r)throw new Error('Invalid GeoParquet file: missing "geo" metadata');const o=JSON.parse(r.value||"{}"),i=await async function(e){if(!(e.file&&e.file.byteLength>=0))throw new Error("parquet expected AsyncBuffer");e.metadata??=await U(e.file);const{metadata:t,rowStart:n=0,columns:r,orderBy:o,filter:i}=e;if(n<0)throw new Error("parquet rowStart must be positive");const s=e.rowEnd??Number(t.num_rows),a=de(i),l=B(e.metadata).children.map(e=>e.element.name),c=a.filter(e=>!l.includes(e));if(c.length)throw new Error(`parquet filter columns not found: ${c.join(", ")}`);if(o&&!l.includes(o))throw new Error(`parquet orderBy column not found: ${o}`);const u=r?l.filter(e=>r.includes(e)||a.includes(e)||e===o):void 0,d=!(!r||!u)&&r.length<u.length;if(i&&!o&&s<t.num_rows){const o=new Array;let f=0;for(const n of t.row_groups){const t=f+Number(n.num_rows),a=await le({...e,rowStart:f,rowEnd:t,columns:u});for(const e of a)if(ue(e,i)){if(d&&u)for(const t of u)r&&!r.includes(t)&&delete e[t];o.push(e)}if(o.length>=s)break;f=t}return o.slice(n,s)}if(i){const t=await le({...e,rowStart:void 0,rowEnd:void 0,columns:u});o&&t.sort((e,t)=>ce(e[o],t[o]));const f=new Array;for(const e of t)if(ue(e,i)){if(d&&u)for(const t of u)r&&!r.includes(t)&&delete e[t];f.push(e)}return f.slice(n,s)}if("string"==typeof o){const t=await async function(e){if(1!==e.columns?.length)throw new Error("parquetReadColumn expected columns: [columnName]");e.metadata??=await U(e.file);const t=ae(e),n=B(e.metadata),r=t.map(e=>se(e,n)),o=[];for(const e of r)o.push(f(await e.asyncColumns[0].data));return f(o)}({...e,rowStart:void 0,rowEnd:void 0,columns:[o]}),r=Array.from(t,(e,t)=>t).sort((e,n)=>ce(t[e],t[n])).slice(n,s),i=await async function(e){const{file:t,rows:n}=e;e.metadata||=await U(t);const{row_groups:r}=e.metadata,o=Array(r.length).fill(!1);let i=0;const f=r.map(e=>i+=Number(e.num_rows));for(const e of n)o[f.findIndex(t=>e<t)]=!0;const s=[];let a;i=0;for(let e=0;e<o.length;e++){const t=i+Number(r[e].num_rows);o[e]?void 0===a&&(a=i):void 0!==a&&(s.push([a,t]),a=void 0),i=t}void 0!==a&&s.push([a,i]);const l=new Array(Number(e.metadata.num_rows));for(const[t,n]of s){const r=await le({...e,rowStart:t,rowEnd:n});for(let e=t;e<n;e++)l[e]=r[e-t],l[e].__index__=e}return l}({...e,rows:r});return r.map(e=>i[e])}return await le(e)}({file:e,utf8:!1,compressors:t}),s=[],a=o.primary_column||"geometry";for(const e of i){const t=e[a];if(!t)continue;const n=me(t),r={};for(const t of Object.keys(e)){let n=e[t];if(t!==a&&null!==n){try{n=JSON.parse(n)}catch(e){}r[t]=n}}const o={type:"Feature",geometry:n,properties:r};s.push(o)}return{type:"FeatureCollection",features:s}}}}]);