@heycys/gallery 0.0.0-stage → 0.1.1

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 (806) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +50 -2
  3. package/THIRD-PARTY-NOTICES.md +3303 -0
  4. package/assets/writing-preferences.md +107 -0
  5. package/bin/gallery.mjs +10 -0
  6. package/browser/editor/components/bookmark/icons.mjs +6 -0
  7. package/browser/editor/components/bookmark/index.mjs +80 -0
  8. package/browser/editor/components/bookmark/page.mjs +147 -0
  9. package/browser/editor/components/builders.mjs +19 -0
  10. package/browser/editor/components/callout/index.mjs +64 -0
  11. package/browser/editor/components/code/index.mjs +327 -0
  12. package/browser/editor/components/code/page.mjs +561 -0
  13. package/browser/editor/components/colors.mjs +50 -0
  14. package/browser/editor/components/columns/index.mjs +104 -0
  15. package/browser/editor/components/columns/page.mjs +310 -0
  16. package/browser/editor/components/details/index.mjs +73 -0
  17. package/browser/editor/components/details/page.mjs +86 -0
  18. package/browser/editor/components/dialog/index.mjs +84 -0
  19. package/browser/editor/components/dialog/page.mjs +201 -0
  20. package/browser/editor/components/divider/index.mjs +48 -0
  21. package/browser/editor/components/embed/icons.mjs +11 -0
  22. package/browser/editor/components/embed/index.mjs +123 -0
  23. package/browser/editor/components/embed/page.mjs +309 -0
  24. package/browser/editor/components/figure/index.mjs +87 -0
  25. package/browser/editor/components/figure/page.mjs +42 -0
  26. package/browser/editor/components/file/icons.mjs +14 -0
  27. package/browser/editor/components/file/index.mjs +77 -0
  28. package/browser/editor/components/file/page.mjs +114 -0
  29. package/browser/editor/components/flowchart/add.mjs +123 -0
  30. package/browser/editor/components/flowchart/index.mjs +246 -0
  31. package/browser/editor/components/flowchart/page.mjs +453 -0
  32. package/browser/editor/components/heading/index.mjs +53 -0
  33. package/browser/editor/components/heading/page.mjs +6 -0
  34. package/browser/editor/components/highlight/index.mjs +63 -0
  35. package/browser/editor/components/icon/index.mjs +57 -0
  36. package/browser/editor/components/icon/page.mjs +286 -0
  37. package/browser/editor/components/icons.mjs +48 -0
  38. package/browser/editor/components/image/crop.mjs +189 -0
  39. package/browser/editor/components/image/index.mjs +104 -0
  40. package/browser/editor/components/image/page.mjs +385 -0
  41. package/browser/editor/components/image/viewer.mjs +213 -0
  42. package/browser/editor/components/installed/index.mjs +179 -0
  43. package/browser/editor/components/installed/page.mjs +523 -0
  44. package/browser/editor/components/installed/served.mjs +35 -0
  45. package/browser/editor/components/kit.mjs +67 -0
  46. package/browser/editor/components/list/index.mjs +194 -0
  47. package/browser/editor/components/list/join.mjs +68 -0
  48. package/browser/editor/components/list/numbers.mjs +107 -0
  49. package/browser/editor/components/list/page.mjs +632 -0
  50. package/browser/editor/components/math/index.mjs +88 -0
  51. package/browser/editor/components/math/page.mjs +236 -0
  52. package/browser/editor/components/math/tex-logo.mjs +6 -0
  53. package/browser/editor/components/media/icons.mjs +19 -0
  54. package/browser/editor/components/media/page.mjs +192 -0
  55. package/browser/editor/components/media/parts.mjs +60 -0
  56. package/browser/editor/components/media/size.mjs +20 -0
  57. package/browser/editor/components/media/toolbar.mjs +37 -0
  58. package/browser/editor/components/media/write.mjs +7 -0
  59. package/browser/editor/components/pages.mjs +46 -0
  60. package/browser/editor/components/paragraph/index.mjs +43 -0
  61. package/browser/editor/components/paragraph/page.mjs +52 -0
  62. package/browser/editor/components/placeholder-bar.mjs +17 -0
  63. package/browser/editor/components/placeholder.mjs +128 -0
  64. package/browser/editor/components/quote/index.mjs +33 -0
  65. package/browser/editor/components/registry.mjs +859 -0
  66. package/browser/editor/components/rows.mjs +16 -0
  67. package/browser/editor/components/section/index.mjs +42 -0
  68. package/browser/editor/components/section/page.mjs +141 -0
  69. package/browser/editor/components/set-apart.mjs +24 -0
  70. package/browser/editor/components/sheets/index.mjs +137 -0
  71. package/browser/editor/components/sheets/page.mjs +227 -0
  72. package/browser/editor/components/sheets/pills.mjs +226 -0
  73. package/browser/editor/components/table/grid.mjs +73 -0
  74. package/browser/editor/components/table/index.mjs +308 -0
  75. package/browser/editor/components/table/page.mjs +683 -0
  76. package/browser/editor/components/table/slots.mjs +41 -0
  77. package/browser/editor/components/widget/index.mjs +50 -0
  78. package/browser/editor/page/annotate/anchors.mjs +230 -0
  79. package/browser/editor/page/annotate/card.mjs +102 -0
  80. package/browser/editor/page/annotate/index.mjs +1656 -0
  81. package/browser/editor/page/at-menu/index.mjs +317 -0
  82. package/browser/editor/page/autosave.mjs +1023 -0
  83. package/browser/editor/page/beside.mjs +21 -0
  84. package/browser/editor/page/block-info.mjs +63 -0
  85. package/browser/editor/page/block-menu/colors.mjs +84 -0
  86. package/browser/editor/page/block-menu/index.mjs +217 -0
  87. package/browser/editor/page/blocks.mjs +255 -0
  88. package/browser/editor/page/caret.mjs +682 -0
  89. package/browser/editor/page/changes/bar.mjs +102 -0
  90. package/browser/editor/page/changes/ghost.mjs +206 -0
  91. package/browser/editor/page/changes/gone-words.mjs +94 -0
  92. package/browser/editor/page/changes/index.mjs +447 -0
  93. package/browser/editor/page/changes/words.mjs +27 -0
  94. package/browser/editor/page/chip-fills.mjs +126 -0
  95. package/browser/editor/page/clipboard/import/colors.mjs +192 -0
  96. package/browser/editor/page/clipboard/import/html.mjs +792 -0
  97. package/browser/editor/page/clipboard/import/inline.mjs +232 -0
  98. package/browser/editor/page/clipboard/import/languages.mjs +42 -0
  99. package/browser/editor/page/clipboard/import/markdown.mjs +760 -0
  100. package/browser/editor/page/clipboard/import/math.mjs +100 -0
  101. package/browser/editor/page/clipboard/import/office.mjs +245 -0
  102. package/browser/editor/page/clipboard/import/read.mjs +120 -0
  103. package/browser/editor/page/clipboard/import/rich.mjs +29 -0
  104. package/browser/editor/page/clipboard/import/to-blocks.mjs +290 -0
  105. package/browser/editor/page/clipboard/index.mjs +816 -0
  106. package/browser/editor/page/clipboard/own/blocks.mjs +211 -0
  107. package/browser/editor/page/clipboard/own/chart-keys.mjs +58 -0
  108. package/browser/editor/page/clipboard/own/describe.mjs +124 -0
  109. package/browser/editor/page/clipboard/own/export.mjs +167 -0
  110. package/browser/editor/page/clipboard/own/ids.mjs +39 -0
  111. package/browser/editor/page/clipboard/own/index.mjs +13 -0
  112. package/browser/editor/page/clipboard/own/rules.mjs +44 -0
  113. package/browser/editor/page/clipboard/own/selection.mjs +159 -0
  114. package/browser/editor/page/clipboard/own/writers.mjs +315 -0
  115. package/browser/editor/page/columns/index.mjs +360 -0
  116. package/browser/editor/page/commit.mjs +1813 -0
  117. package/browser/editor/page/conflicts.mjs +249 -0
  118. package/browser/editor/page/convert.mjs +831 -0
  119. package/browser/editor/page/core.mjs +1693 -0
  120. package/browser/editor/page/drag/drop.mjs +307 -0
  121. package/browser/editor/page/drag/index.mjs +351 -0
  122. package/browser/editor/page/drag/preview.mjs +126 -0
  123. package/browser/editor/page/edge-scroll.mjs +50 -0
  124. package/browser/editor/page/editor.mjs +1780 -0
  125. package/browser/editor/page/emoji-picker/emoji-tab.mjs +287 -0
  126. package/browser/editor/page/emoji-picker/glyph-html.mjs +26 -0
  127. package/browser/editor/page/emoji-picker/grid.mjs +81 -0
  128. package/browser/editor/page/emoji-picker/icon-tab.mjs +217 -0
  129. package/browser/editor/page/emoji-picker/icons.mjs +31 -0
  130. package/browser/editor/page/emoji-picker/index.mjs +166 -0
  131. package/browser/editor/page/emoji-picker/styles.mjs +161 -0
  132. package/browser/editor/page/emoji-picker/support.mjs +204 -0
  133. package/browser/editor/page/emoji-picker/upload.mjs +236 -0
  134. package/browser/editor/page/export-report.mjs +23 -0
  135. package/browser/editor/page/fills.mjs +62 -0
  136. package/browser/editor/page/find/index.mjs +107 -0
  137. package/browser/editor/page/flags.mjs +70 -0
  138. package/browser/editor/page/fold/index.mjs +348 -0
  139. package/browser/editor/page/fold/rule.mjs +125 -0
  140. package/browser/editor/page/folded.mjs +23 -0
  141. package/browser/editor/page/format-bar/bar.mjs +449 -0
  142. package/browser/editor/page/format-bar/brush.mjs +77 -0
  143. package/browser/editor/page/format-bar/colors.mjs +46 -0
  144. package/browser/editor/page/format-bar/index.mjs +404 -0
  145. package/browser/editor/page/formula/index.mjs +236 -0
  146. package/browser/editor/page/formula/panel.mjs +336 -0
  147. package/browser/editor/page/formula/symbols.mjs +156 -0
  148. package/browser/editor/page/frame.mjs +74 -0
  149. package/browser/editor/page/frames.mjs +196 -0
  150. package/browser/editor/page/geometry.mjs +402 -0
  151. package/browser/editor/page/gesture.mjs +45 -0
  152. package/browser/editor/page/handle/index.mjs +650 -0
  153. package/browser/editor/page/handle-sizes.mjs +14 -0
  154. package/browser/editor/page/hints/index.mjs +84 -0
  155. package/browser/editor/page/history.mjs +401 -0
  156. package/browser/editor/page/insert/index.mjs +256 -0
  157. package/browser/editor/page/kept.mjs +38 -0
  158. package/browser/editor/page/links/address.mjs +40 -0
  159. package/browser/editor/page/links/index.mjs +866 -0
  160. package/browser/editor/page/links/pages.mjs +131 -0
  161. package/browser/editor/page/links/views.mjs +369 -0
  162. package/browser/editor/page/long-runs.mjs +75 -0
  163. package/browser/editor/page/look.mjs +77 -0
  164. package/browser/editor/page/made.mjs +24 -0
  165. package/browser/editor/page/margin.mjs +373 -0
  166. package/browser/editor/page/markdown/index.mjs +88 -0
  167. package/browser/editor/page/markdown/rules.mjs +33 -0
  168. package/browser/editor/page/marks.mjs +377 -0
  169. package/browser/editor/page/media-menu/index.mjs +158 -0
  170. package/browser/editor/page/menu.mjs +544 -0
  171. package/browser/editor/page/merge.mjs +124 -0
  172. package/browser/editor/page/notices.mjs +142 -0
  173. package/browser/editor/page/offered.mjs +32 -0
  174. package/browser/editor/page/outline/folds.mjs +53 -0
  175. package/browser/editor/page/outline/index.mjs +783 -0
  176. package/browser/editor/page/outline/list.mjs +184 -0
  177. package/browser/editor/page/outline/read.mjs +201 -0
  178. package/browser/editor/page/outline/strip.mjs +287 -0
  179. package/browser/editor/page/outline/tree.mjs +248 -0
  180. package/browser/editor/page/overlay-layer.mjs +227 -0
  181. package/browser/editor/page/overlays.mjs +205 -0
  182. package/browser/editor/page/own.mjs +28 -0
  183. package/browser/editor/page/pads.mjs +71 -0
  184. package/browser/editor/page/page-objects.mjs +105 -0
  185. package/browser/editor/page/panel.mjs +65 -0
  186. package/browser/editor/page/placement.mjs +58 -0
  187. package/browser/editor/page/post.mjs +41 -0
  188. package/browser/editor/page/present-links.mjs +50 -0
  189. package/browser/editor/page/quiet.mjs +48 -0
  190. package/browser/editor/page/resize/index.mjs +327 -0
  191. package/browser/editor/page/select-all/index.mjs +262 -0
  192. package/browser/editor/page/selection/delete.mjs +61 -0
  193. package/browser/editor/page/selection/index.mjs +164 -0
  194. package/browser/editor/page/selection/marquee.mjs +174 -0
  195. package/browser/editor/page/session.mjs +168 -0
  196. package/browser/editor/page/slash-menu/index.mjs +291 -0
  197. package/browser/editor/page/storage.mjs +48 -0
  198. package/browser/editor/page/sync-state.mjs +267 -0
  199. package/browser/editor/page/table/aligns.mjs +29 -0
  200. package/browser/editor/page/table/cell-bar.mjs +141 -0
  201. package/browser/editor/page/table/cells.mjs +527 -0
  202. package/browser/editor/page/table/icons.mjs +40 -0
  203. package/browser/editor/page/table/index.mjs +990 -0
  204. package/browser/editor/page/table/lists.mjs +187 -0
  205. package/browser/editor/page/table/widths.mjs +313 -0
  206. package/browser/editor/page/tex.mjs +32 -0
  207. package/browser/editor/page/text-select/index.mjs +671 -0
  208. package/browser/editor/page/tooltip.mjs +98 -0
  209. package/browser/editor/page/type-grid.mjs +83 -0
  210. package/browser/editor/page/typing/code-edges.mjs +274 -0
  211. package/browser/editor/page/typing/index.mjs +282 -0
  212. package/browser/editor/page/typing/leave.mjs +68 -0
  213. package/browser/editor/page/ui.mjs +160 -0
  214. package/browser/shared/annotations.mjs +569 -0
  215. package/browser/shared/code-folds.mjs +14 -0
  216. package/browser/shared/code-languages.mjs +70 -0
  217. package/browser/shared/code-lines.mjs +30 -0
  218. package/browser/shared/colors.mjs +30 -0
  219. package/browser/shared/component-catalog.mjs +573 -0
  220. package/browser/shared/components/bookmark.mjs +26 -0
  221. package/browser/shared/components/callout.mjs +9 -0
  222. package/browser/shared/components/chart.mjs +20 -0
  223. package/browser/shared/components/code.mjs +37 -0
  224. package/browser/shared/components/columns.mjs +16 -0
  225. package/browser/shared/components/details.mjs +15 -0
  226. package/browser/shared/components/dialog.mjs +28 -0
  227. package/browser/shared/components/diff.mjs +18 -0
  228. package/browser/shared/components/divider.mjs +6 -0
  229. package/browser/shared/components/embed.mjs +25 -0
  230. package/browser/shared/components/figure.mjs +14 -0
  231. package/browser/shared/components/file.mjs +23 -0
  232. package/browser/shared/components/heading.mjs +6 -0
  233. package/browser/shared/components/highlight.mjs +9 -0
  234. package/browser/shared/components/icon.mjs +18 -0
  235. package/browser/shared/components/image.mjs +39 -0
  236. package/browser/shared/components/index.mjs +396 -0
  237. package/browser/shared/components/installed.mjs +232 -0
  238. package/browser/shared/components/list.mjs +146 -0
  239. package/browser/shared/components/math.mjs +49 -0
  240. package/browser/shared/components/mention.mjs +33 -0
  241. package/browser/shared/components/page.mjs +46 -0
  242. package/browser/shared/components/paragraph.mjs +9 -0
  243. package/browser/shared/components/quote.mjs +6 -0
  244. package/browser/shared/components/section.mjs +8 -0
  245. package/browser/shared/components/sheets.mjs +80 -0
  246. package/browser/shared/components/state.mjs +20 -0
  247. package/browser/shared/components/table.mjs +49 -0
  248. package/browser/shared/components/text.mjs +14 -0
  249. package/browser/shared/components/widget.mjs +10 -0
  250. package/browser/shared/copy-ids.mjs +72 -0
  251. package/browser/shared/css-references.mjs +110 -0
  252. package/browser/shared/document-look.mjs +178 -0
  253. package/browser/shared/emoji/custom.mjs +91 -0
  254. package/browser/shared/emoji/data/LICENSE-lucide.txt +43 -0
  255. package/browser/shared/emoji/data/LICENSE-mingcute.txt +202 -0
  256. package/browser/shared/emoji/data/LICENSE-tabler.txt +21 -0
  257. package/browser/shared/emoji/data/README.md +28 -0
  258. package/browser/shared/emoji/data/categories.json +1 -0
  259. package/browser/shared/emoji/data/icons.json +1 -0
  260. package/browser/shared/emoji/data/keywords-en.json +1 -0
  261. package/browser/shared/emoji/data/keywords-zh.json +1 -0
  262. package/browser/shared/emoji/data/names.json +1 -0
  263. package/browser/shared/emoji/data/positions.json +1 -0
  264. package/browser/shared/emoji/data/twemoji-index.json +1 -0
  265. package/browser/shared/emoji/data/twemoji-svg.bin +0 -0
  266. package/browser/shared/emoji/data.mjs +194 -0
  267. package/browser/shared/emoji/emoji.mjs +38 -0
  268. package/browser/shared/emoji/glyphs.mjs +134 -0
  269. package/browser/shared/emoji/icon-value.mjs +91 -0
  270. package/browser/shared/escape.mjs +20 -0
  271. package/browser/shared/export-wrap.mjs +89 -0
  272. package/browser/shared/files.mjs +33 -0
  273. package/browser/shared/html-tree.mjs +59 -0
  274. package/browser/shared/http.mjs +22 -0
  275. package/browser/shared/i18n/en.mjs +1223 -0
  276. package/browser/shared/i18n/index.mjs +132 -0
  277. package/browser/shared/ids.mjs +24 -0
  278. package/browser/shared/import-types.mjs +23 -0
  279. package/browser/shared/inline-spacing.mjs +97 -0
  280. package/browser/shared/layers.mjs +42 -0
  281. package/browser/shared/long-runs.mjs +39 -0
  282. package/browser/shared/media.mjs +162 -0
  283. package/browser/shared/new-names.mjs +67 -0
  284. package/browser/shared/number-reading.mjs +92 -0
  285. package/browser/shared/old-names.mjs +143 -0
  286. package/browser/shared/outline.mjs +194 -0
  287. package/browser/shared/page-address.mjs +140 -0
  288. package/browser/shared/page-links.mjs +86 -0
  289. package/browser/shared/paths.mjs +73 -0
  290. package/browser/shared/preferences.mjs +116 -0
  291. package/browser/shared/preview-server.mjs +247 -0
  292. package/browser/shared/qa-levels.mjs +93 -0
  293. package/browser/shared/reading-place.mjs +91 -0
  294. package/browser/shared/renamed-storage.mjs +220 -0
  295. package/browser/shared/reports.mjs +46 -0
  296. package/browser/shared/search.mjs +85 -0
  297. package/browser/shared/session.mjs +77 -0
  298. package/browser/shared/table-chart.mjs +113 -0
  299. package/browser/shared/table-hides.mjs +120 -0
  300. package/browser/shared/table-slots.mjs +75 -0
  301. package/browser/shared/words.mjs +23 -0
  302. package/browser/shared/workspace-look.mjs +91 -0
  303. package/browser/shared/workspace.mjs +535 -0
  304. package/browser/shared/writing-preferences.mjs +68 -0
  305. package/browser/shared/zoom.mjs +57 -0
  306. package/dist/chunk-2B5E4CDJ.mjs +2 -0
  307. package/dist/chunk-342HXE3Q.mjs +2 -0
  308. package/dist/chunk-3HIRPVLU.mjs +2 -0
  309. package/dist/chunk-43B75J5T.mjs +2 -0
  310. package/dist/chunk-4FS7Z7WR.mjs +2 -0
  311. package/dist/chunk-4K5KC6V2.mjs +2 -0
  312. package/dist/chunk-5L7RYZCL.mjs +2 -0
  313. package/dist/chunk-5MHMDLZD.mjs +4 -0
  314. package/dist/chunk-5ZKJ3H4P.mjs +8 -0
  315. package/dist/chunk-64K7IPLO.mjs +255 -0
  316. package/dist/chunk-6QXGZM36.mjs +8 -0
  317. package/dist/chunk-6RGJOMJP.mjs +16 -0
  318. package/dist/chunk-742D2WWJ.mjs +19 -0
  319. package/dist/chunk-7DTINW6U.mjs +48 -0
  320. package/dist/chunk-A55HN5OK.mjs +2 -0
  321. package/dist/chunk-AGDILNWB.mjs +2 -0
  322. package/dist/chunk-AJ73XJF3.mjs +2 -0
  323. package/dist/chunk-AUZGSZJH.mjs +13 -0
  324. package/dist/chunk-BFE45AKL.mjs +2 -0
  325. package/dist/chunk-BGGDRNYQ.mjs +10 -0
  326. package/dist/chunk-BXO2ZY5P.mjs +2 -0
  327. package/dist/chunk-C564NU2H.mjs +77 -0
  328. package/dist/chunk-CEH4MRCC.mjs +2 -0
  329. package/dist/chunk-CY2FNNAB.mjs +16 -0
  330. package/dist/chunk-DFUDV4LX.mjs +2 -0
  331. package/dist/chunk-DKXG4XDG.mjs +2 -0
  332. package/dist/chunk-E7LWZRXY.mjs +4 -0
  333. package/dist/chunk-EZQ34M3F.mjs +124 -0
  334. package/dist/chunk-EZY3WC6Z.mjs +15 -0
  335. package/dist/chunk-FDLXYYG4.mjs +4 -0
  336. package/dist/chunk-FUKQNOQS.mjs +9 -0
  337. package/dist/chunk-GB5SOYQJ.mjs +7 -0
  338. package/dist/chunk-GRAXKKG4.mjs +2 -0
  339. package/dist/chunk-HYMEEXKN.mjs +4 -0
  340. package/dist/chunk-IVDLMMBD.mjs +2 -0
  341. package/dist/chunk-JPOSLGOC.mjs +6 -0
  342. package/dist/chunk-JVHHHGEA.mjs +3 -0
  343. package/dist/chunk-L3QKH4OK.mjs +26 -0
  344. package/dist/chunk-LAE5NQ4B.mjs +2 -0
  345. package/dist/chunk-LCTHTZIL.mjs +960 -0
  346. package/dist/chunk-LEF6DRCK.mjs +59 -0
  347. package/dist/chunk-LKX55H76.mjs +2 -0
  348. package/dist/chunk-LS4F7JUM.mjs +2 -0
  349. package/dist/chunk-MAFIGVXY.mjs +2 -0
  350. package/dist/chunk-NO5NJCHO.mjs +2 -0
  351. package/dist/chunk-NQPVAU63.mjs +2 -0
  352. package/dist/chunk-NSKUTQ5J.mjs +5 -0
  353. package/dist/chunk-O35FIXRB.mjs +2 -0
  354. package/dist/chunk-P2CAZPDP.mjs +3 -0
  355. package/dist/chunk-PL6GHLGD.mjs +15 -0
  356. package/dist/chunk-QAIHRH3I.mjs +13 -0
  357. package/dist/chunk-QJIR2BLP.mjs +6 -0
  358. package/dist/chunk-QR6A54KJ.mjs +3 -0
  359. package/dist/chunk-QUPLVPB2.mjs +7 -0
  360. package/dist/chunk-R7BNENLY.mjs +4 -0
  361. package/dist/chunk-S6O4UHLC.mjs +2 -0
  362. package/dist/chunk-SGJWQKEI.mjs +2 -0
  363. package/dist/chunk-SYGN7GLU.mjs +2 -0
  364. package/dist/chunk-TMYZB6AV.mjs +2 -0
  365. package/dist/chunk-TX6JH7TR.mjs +2 -0
  366. package/dist/chunk-TYK6VNAB.mjs +10 -0
  367. package/dist/chunk-U3SSPL4K.mjs +8 -0
  368. package/dist/chunk-U6KNPJPR.mjs +2 -0
  369. package/dist/chunk-UALRNVSE.mjs +4 -0
  370. package/dist/chunk-UH4SIXTR.mjs +2 -0
  371. package/dist/chunk-UMHUSOPJ.mjs +2 -0
  372. package/dist/chunk-V3HXVQEM.mjs +2 -0
  373. package/dist/chunk-V5JTW2LH.mjs +27 -0
  374. package/dist/chunk-V5VXUJKG.mjs +2 -0
  375. package/dist/chunk-V6XZ4VIR.mjs +2 -0
  376. package/dist/chunk-VBXMADMP.mjs +2 -0
  377. package/dist/chunk-VNV55RUA.mjs +2 -0
  378. package/dist/chunk-VPD2PS35.mjs +2 -0
  379. package/dist/chunk-W3BGBJQW.mjs +2 -0
  380. package/dist/chunk-W4VKN3GF.mjs +7 -0
  381. package/dist/chunk-W5BXXPDJ.mjs +3 -0
  382. package/dist/chunk-W7XHE4CT.mjs +2 -0
  383. package/dist/chunk-XNROSH2T.mjs +4 -0
  384. package/dist/chunk-XUNHRCOG.mjs +6 -0
  385. package/dist/chunk-Y34NR5JL.mjs +2 -0
  386. package/dist/chunk-Y6RLRPG3.mjs +3 -0
  387. package/dist/chunk-YEY3RSFQ.mjs +2 -0
  388. package/dist/cli.mjs +2 -0
  389. package/dist/server.mjs +2 -0
  390. package/dist/worker.mjs +5 -0
  391. package/kit/charts.js +355 -0
  392. package/kit/code.js +164 -0
  393. package/kit/dialogs.js +157 -0
  394. package/kit/math.js +2004 -0
  395. package/kit/report.css +2932 -0
  396. package/kit/runtime.js +1782 -0
  397. package/kit/sheets.js +123 -0
  398. package/kit/state.js +217 -0
  399. package/kit/tables.js +1499 -0
  400. package/kit/tokens.js +29 -0
  401. package/kit/ui.js +658 -0
  402. package/package.json +41 -4
  403. package/release.json +25 -0
  404. package/sdk/column-widths.d.ts +56 -0
  405. package/sdk/doc-charts.d.ts +82 -0
  406. package/sdk/doc-code.d.ts +28 -0
  407. package/sdk/doc-dialogs.d.ts +4 -0
  408. package/sdk/doc-kit.d.ts +147 -0
  409. package/sdk/doc-math.d.ts +3 -0
  410. package/sdk/doc-sheets.d.ts +15 -0
  411. package/sdk/doc-state.d.ts +41 -0
  412. package/sdk/doc-tables.d.ts +24 -0
  413. package/sdk/doc-tokens.d.ts +22 -0
  414. package/sdk/index.d.ts +30 -0
  415. package/skill/SKILL.md +150 -0
  416. package/skill/agents/openai.yaml +5 -0
  417. package/skill/references/building-components.md +367 -0
  418. package/skill/references/example-report.html +356 -0
  419. package/skill/references/writing-html.md +187 -0
  420. package/skill/sdk/column-widths.d.ts +56 -0
  421. package/skill/sdk/doc-charts.d.ts +82 -0
  422. package/skill/sdk/doc-code.d.ts +28 -0
  423. package/skill/sdk/doc-dialogs.d.ts +4 -0
  424. package/skill/sdk/doc-kit.d.ts +147 -0
  425. package/skill/sdk/doc-math.d.ts +3 -0
  426. package/skill/sdk/doc-sheets.d.ts +15 -0
  427. package/skill/sdk/doc-state.d.ts +41 -0
  428. package/skill/sdk/doc-tables.d.ts +24 -0
  429. package/skill/sdk/doc-tokens.d.ts +22 -0
  430. package/skill/sdk/index.d.ts +30 -0
  431. package/starter/doc.html +21 -0
  432. package/starter/doc.json +5 -0
  433. package/vendor/d3.v7.9.0.min.js +2 -0
  434. package/vendor/katex/auto-render.min.js +1 -0
  435. package/vendor/katex/contrib/mhchem.min.js +1 -0
  436. package/vendor/katex/fonts/KaTeX_AMS-Regular.woff2 +0 -0
  437. package/vendor/katex/fonts/KaTeX_Caligraphic-Bold.woff2 +0 -0
  438. package/vendor/katex/fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
  439. package/vendor/katex/fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
  440. package/vendor/katex/fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
  441. package/vendor/katex/fonts/KaTeX_Main-Bold.woff2 +0 -0
  442. package/vendor/katex/fonts/KaTeX_Main-BoldItalic.woff2 +0 -0
  443. package/vendor/katex/fonts/KaTeX_Main-Italic.woff2 +0 -0
  444. package/vendor/katex/fonts/KaTeX_Main-Regular.woff2 +0 -0
  445. package/vendor/katex/fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
  446. package/vendor/katex/fonts/KaTeX_Math-Italic.woff2 +0 -0
  447. package/vendor/katex/fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
  448. package/vendor/katex/fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
  449. package/vendor/katex/fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
  450. package/vendor/katex/fonts/KaTeX_Script-Regular.woff2 +0 -0
  451. package/vendor/katex/fonts/KaTeX_Size1-Regular.woff2 +0 -0
  452. package/vendor/katex/fonts/KaTeX_Size2-Regular.woff2 +0 -0
  453. package/vendor/katex/fonts/KaTeX_Size3-Regular.woff2 +0 -0
  454. package/vendor/katex/fonts/KaTeX_Size4-Regular.woff2 +0 -0
  455. package/vendor/katex/fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
  456. package/vendor/katex/katex.min.css +1 -0
  457. package/vendor/katex/katex.min.js +1 -0
  458. package/vendor/pdfjs/LICENSE +177 -0
  459. package/vendor/pdfjs/cmaps/78-EUC-H.bcmap +0 -0
  460. package/vendor/pdfjs/cmaps/78-EUC-V.bcmap +0 -0
  461. package/vendor/pdfjs/cmaps/78-H.bcmap +0 -0
  462. package/vendor/pdfjs/cmaps/78-RKSJ-H.bcmap +0 -0
  463. package/vendor/pdfjs/cmaps/78-RKSJ-V.bcmap +0 -0
  464. package/vendor/pdfjs/cmaps/78-V.bcmap +0 -0
  465. package/vendor/pdfjs/cmaps/78ms-RKSJ-H.bcmap +0 -0
  466. package/vendor/pdfjs/cmaps/78ms-RKSJ-V.bcmap +0 -0
  467. package/vendor/pdfjs/cmaps/83pv-RKSJ-H.bcmap +0 -0
  468. package/vendor/pdfjs/cmaps/90ms-RKSJ-H.bcmap +0 -0
  469. package/vendor/pdfjs/cmaps/90ms-RKSJ-V.bcmap +0 -0
  470. package/vendor/pdfjs/cmaps/90msp-RKSJ-H.bcmap +0 -0
  471. package/vendor/pdfjs/cmaps/90msp-RKSJ-V.bcmap +0 -0
  472. package/vendor/pdfjs/cmaps/90pv-RKSJ-H.bcmap +0 -0
  473. package/vendor/pdfjs/cmaps/90pv-RKSJ-V.bcmap +0 -0
  474. package/vendor/pdfjs/cmaps/Add-H.bcmap +0 -0
  475. package/vendor/pdfjs/cmaps/Add-RKSJ-H.bcmap +0 -0
  476. package/vendor/pdfjs/cmaps/Add-RKSJ-V.bcmap +0 -0
  477. package/vendor/pdfjs/cmaps/Add-V.bcmap +0 -0
  478. package/vendor/pdfjs/cmaps/Adobe-CNS1-0.bcmap +0 -0
  479. package/vendor/pdfjs/cmaps/Adobe-CNS1-1.bcmap +0 -0
  480. package/vendor/pdfjs/cmaps/Adobe-CNS1-2.bcmap +0 -0
  481. package/vendor/pdfjs/cmaps/Adobe-CNS1-3.bcmap +0 -0
  482. package/vendor/pdfjs/cmaps/Adobe-CNS1-4.bcmap +0 -0
  483. package/vendor/pdfjs/cmaps/Adobe-CNS1-5.bcmap +0 -0
  484. package/vendor/pdfjs/cmaps/Adobe-CNS1-6.bcmap +0 -0
  485. package/vendor/pdfjs/cmaps/Adobe-CNS1-UCS2.bcmap +0 -0
  486. package/vendor/pdfjs/cmaps/Adobe-GB1-0.bcmap +0 -0
  487. package/vendor/pdfjs/cmaps/Adobe-GB1-1.bcmap +0 -0
  488. package/vendor/pdfjs/cmaps/Adobe-GB1-2.bcmap +0 -0
  489. package/vendor/pdfjs/cmaps/Adobe-GB1-3.bcmap +0 -0
  490. package/vendor/pdfjs/cmaps/Adobe-GB1-4.bcmap +0 -0
  491. package/vendor/pdfjs/cmaps/Adobe-GB1-5.bcmap +0 -0
  492. package/vendor/pdfjs/cmaps/Adobe-GB1-UCS2.bcmap +0 -0
  493. package/vendor/pdfjs/cmaps/Adobe-Japan1-0.bcmap +0 -0
  494. package/vendor/pdfjs/cmaps/Adobe-Japan1-1.bcmap +0 -0
  495. package/vendor/pdfjs/cmaps/Adobe-Japan1-2.bcmap +0 -0
  496. package/vendor/pdfjs/cmaps/Adobe-Japan1-3.bcmap +0 -0
  497. package/vendor/pdfjs/cmaps/Adobe-Japan1-4.bcmap +0 -0
  498. package/vendor/pdfjs/cmaps/Adobe-Japan1-5.bcmap +0 -0
  499. package/vendor/pdfjs/cmaps/Adobe-Japan1-6.bcmap +0 -0
  500. package/vendor/pdfjs/cmaps/Adobe-Japan1-UCS2.bcmap +0 -0
  501. package/vendor/pdfjs/cmaps/Adobe-Korea1-0.bcmap +0 -0
  502. package/vendor/pdfjs/cmaps/Adobe-Korea1-1.bcmap +0 -0
  503. package/vendor/pdfjs/cmaps/Adobe-Korea1-2.bcmap +0 -0
  504. package/vendor/pdfjs/cmaps/Adobe-Korea1-UCS2.bcmap +0 -0
  505. package/vendor/pdfjs/cmaps/B5-H.bcmap +0 -0
  506. package/vendor/pdfjs/cmaps/B5-V.bcmap +0 -0
  507. package/vendor/pdfjs/cmaps/B5pc-H.bcmap +0 -0
  508. package/vendor/pdfjs/cmaps/B5pc-V.bcmap +0 -0
  509. package/vendor/pdfjs/cmaps/CNS-EUC-H.bcmap +0 -0
  510. package/vendor/pdfjs/cmaps/CNS-EUC-V.bcmap +0 -0
  511. package/vendor/pdfjs/cmaps/CNS1-H.bcmap +0 -0
  512. package/vendor/pdfjs/cmaps/CNS1-V.bcmap +0 -0
  513. package/vendor/pdfjs/cmaps/CNS2-H.bcmap +0 -0
  514. package/vendor/pdfjs/cmaps/CNS2-V.bcmap +3 -0
  515. package/vendor/pdfjs/cmaps/ETHK-B5-H.bcmap +0 -0
  516. package/vendor/pdfjs/cmaps/ETHK-B5-V.bcmap +0 -0
  517. package/vendor/pdfjs/cmaps/ETen-B5-H.bcmap +0 -0
  518. package/vendor/pdfjs/cmaps/ETen-B5-V.bcmap +0 -0
  519. package/vendor/pdfjs/cmaps/ETenms-B5-H.bcmap +3 -0
  520. package/vendor/pdfjs/cmaps/ETenms-B5-V.bcmap +0 -0
  521. package/vendor/pdfjs/cmaps/EUC-H.bcmap +0 -0
  522. package/vendor/pdfjs/cmaps/EUC-V.bcmap +0 -0
  523. package/vendor/pdfjs/cmaps/Ext-H.bcmap +0 -0
  524. package/vendor/pdfjs/cmaps/Ext-RKSJ-H.bcmap +0 -0
  525. package/vendor/pdfjs/cmaps/Ext-RKSJ-V.bcmap +0 -0
  526. package/vendor/pdfjs/cmaps/Ext-V.bcmap +0 -0
  527. package/vendor/pdfjs/cmaps/GB-EUC-H.bcmap +0 -0
  528. package/vendor/pdfjs/cmaps/GB-EUC-V.bcmap +0 -0
  529. package/vendor/pdfjs/cmaps/GB-H.bcmap +4 -0
  530. package/vendor/pdfjs/cmaps/GB-V.bcmap +0 -0
  531. package/vendor/pdfjs/cmaps/GBK-EUC-H.bcmap +0 -0
  532. package/vendor/pdfjs/cmaps/GBK-EUC-V.bcmap +0 -0
  533. package/vendor/pdfjs/cmaps/GBK2K-H.bcmap +0 -0
  534. package/vendor/pdfjs/cmaps/GBK2K-V.bcmap +0 -0
  535. package/vendor/pdfjs/cmaps/GBKp-EUC-H.bcmap +0 -0
  536. package/vendor/pdfjs/cmaps/GBKp-EUC-V.bcmap +0 -0
  537. package/vendor/pdfjs/cmaps/GBT-EUC-H.bcmap +0 -0
  538. package/vendor/pdfjs/cmaps/GBT-EUC-V.bcmap +0 -0
  539. package/vendor/pdfjs/cmaps/GBT-H.bcmap +0 -0
  540. package/vendor/pdfjs/cmaps/GBT-V.bcmap +0 -0
  541. package/vendor/pdfjs/cmaps/GBTpc-EUC-H.bcmap +0 -0
  542. package/vendor/pdfjs/cmaps/GBTpc-EUC-V.bcmap +0 -0
  543. package/vendor/pdfjs/cmaps/GBpc-EUC-H.bcmap +0 -0
  544. package/vendor/pdfjs/cmaps/GBpc-EUC-V.bcmap +0 -0
  545. package/vendor/pdfjs/cmaps/H.bcmap +0 -0
  546. package/vendor/pdfjs/cmaps/HKdla-B5-H.bcmap +0 -0
  547. package/vendor/pdfjs/cmaps/HKdla-B5-V.bcmap +0 -0
  548. package/vendor/pdfjs/cmaps/HKdlb-B5-H.bcmap +0 -0
  549. package/vendor/pdfjs/cmaps/HKdlb-B5-V.bcmap +0 -0
  550. package/vendor/pdfjs/cmaps/HKgccs-B5-H.bcmap +0 -0
  551. package/vendor/pdfjs/cmaps/HKgccs-B5-V.bcmap +0 -0
  552. package/vendor/pdfjs/cmaps/HKm314-B5-H.bcmap +0 -0
  553. package/vendor/pdfjs/cmaps/HKm314-B5-V.bcmap +0 -0
  554. package/vendor/pdfjs/cmaps/HKm471-B5-H.bcmap +0 -0
  555. package/vendor/pdfjs/cmaps/HKm471-B5-V.bcmap +0 -0
  556. package/vendor/pdfjs/cmaps/HKscs-B5-H.bcmap +0 -0
  557. package/vendor/pdfjs/cmaps/HKscs-B5-V.bcmap +0 -0
  558. package/vendor/pdfjs/cmaps/Hankaku.bcmap +0 -0
  559. package/vendor/pdfjs/cmaps/Hiragana.bcmap +0 -0
  560. package/vendor/pdfjs/cmaps/KSC-EUC-H.bcmap +0 -0
  561. package/vendor/pdfjs/cmaps/KSC-EUC-V.bcmap +0 -0
  562. package/vendor/pdfjs/cmaps/KSC-H.bcmap +0 -0
  563. package/vendor/pdfjs/cmaps/KSC-Johab-H.bcmap +0 -0
  564. package/vendor/pdfjs/cmaps/KSC-Johab-V.bcmap +0 -0
  565. package/vendor/pdfjs/cmaps/KSC-V.bcmap +0 -0
  566. package/vendor/pdfjs/cmaps/KSCms-UHC-H.bcmap +0 -0
  567. package/vendor/pdfjs/cmaps/KSCms-UHC-HW-H.bcmap +0 -0
  568. package/vendor/pdfjs/cmaps/KSCms-UHC-HW-V.bcmap +0 -0
  569. package/vendor/pdfjs/cmaps/KSCms-UHC-V.bcmap +0 -0
  570. package/vendor/pdfjs/cmaps/KSCpc-EUC-H.bcmap +0 -0
  571. package/vendor/pdfjs/cmaps/KSCpc-EUC-V.bcmap +0 -0
  572. package/vendor/pdfjs/cmaps/Katakana.bcmap +0 -0
  573. package/vendor/pdfjs/cmaps/LICENSE +36 -0
  574. package/vendor/pdfjs/cmaps/NWP-H.bcmap +0 -0
  575. package/vendor/pdfjs/cmaps/NWP-V.bcmap +0 -0
  576. package/vendor/pdfjs/cmaps/RKSJ-H.bcmap +0 -0
  577. package/vendor/pdfjs/cmaps/RKSJ-V.bcmap +0 -0
  578. package/vendor/pdfjs/cmaps/Roman.bcmap +0 -0
  579. package/vendor/pdfjs/cmaps/UniCNS-UCS2-H.bcmap +0 -0
  580. package/vendor/pdfjs/cmaps/UniCNS-UCS2-V.bcmap +0 -0
  581. package/vendor/pdfjs/cmaps/UniCNS-UTF16-H.bcmap +0 -0
  582. package/vendor/pdfjs/cmaps/UniCNS-UTF16-V.bcmap +0 -0
  583. package/vendor/pdfjs/cmaps/UniCNS-UTF32-H.bcmap +0 -0
  584. package/vendor/pdfjs/cmaps/UniCNS-UTF32-V.bcmap +0 -0
  585. package/vendor/pdfjs/cmaps/UniCNS-UTF8-H.bcmap +0 -0
  586. package/vendor/pdfjs/cmaps/UniCNS-UTF8-V.bcmap +0 -0
  587. package/vendor/pdfjs/cmaps/UniGB-UCS2-H.bcmap +0 -0
  588. package/vendor/pdfjs/cmaps/UniGB-UCS2-V.bcmap +0 -0
  589. package/vendor/pdfjs/cmaps/UniGB-UTF16-H.bcmap +0 -0
  590. package/vendor/pdfjs/cmaps/UniGB-UTF16-V.bcmap +0 -0
  591. package/vendor/pdfjs/cmaps/UniGB-UTF32-H.bcmap +0 -0
  592. package/vendor/pdfjs/cmaps/UniGB-UTF32-V.bcmap +0 -0
  593. package/vendor/pdfjs/cmaps/UniGB-UTF8-H.bcmap +0 -0
  594. package/vendor/pdfjs/cmaps/UniGB-UTF8-V.bcmap +0 -0
  595. package/vendor/pdfjs/cmaps/UniJIS-UCS2-H.bcmap +0 -0
  596. package/vendor/pdfjs/cmaps/UniJIS-UCS2-HW-H.bcmap +0 -0
  597. package/vendor/pdfjs/cmaps/UniJIS-UCS2-HW-V.bcmap +0 -0
  598. package/vendor/pdfjs/cmaps/UniJIS-UCS2-V.bcmap +0 -0
  599. package/vendor/pdfjs/cmaps/UniJIS-UTF16-H.bcmap +0 -0
  600. package/vendor/pdfjs/cmaps/UniJIS-UTF16-V.bcmap +0 -0
  601. package/vendor/pdfjs/cmaps/UniJIS-UTF32-H.bcmap +0 -0
  602. package/vendor/pdfjs/cmaps/UniJIS-UTF32-V.bcmap +0 -0
  603. package/vendor/pdfjs/cmaps/UniJIS-UTF8-H.bcmap +0 -0
  604. package/vendor/pdfjs/cmaps/UniJIS-UTF8-V.bcmap +0 -0
  605. package/vendor/pdfjs/cmaps/UniJIS2004-UTF16-H.bcmap +0 -0
  606. package/vendor/pdfjs/cmaps/UniJIS2004-UTF16-V.bcmap +0 -0
  607. package/vendor/pdfjs/cmaps/UniJIS2004-UTF32-H.bcmap +0 -0
  608. package/vendor/pdfjs/cmaps/UniJIS2004-UTF32-V.bcmap +0 -0
  609. package/vendor/pdfjs/cmaps/UniJIS2004-UTF8-H.bcmap +0 -0
  610. package/vendor/pdfjs/cmaps/UniJIS2004-UTF8-V.bcmap +0 -0
  611. package/vendor/pdfjs/cmaps/UniJISPro-UCS2-HW-V.bcmap +0 -0
  612. package/vendor/pdfjs/cmaps/UniJISPro-UCS2-V.bcmap +0 -0
  613. package/vendor/pdfjs/cmaps/UniJISPro-UTF8-V.bcmap +0 -0
  614. package/vendor/pdfjs/cmaps/UniJISX0213-UTF32-H.bcmap +0 -0
  615. package/vendor/pdfjs/cmaps/UniJISX0213-UTF32-V.bcmap +0 -0
  616. package/vendor/pdfjs/cmaps/UniJISX02132004-UTF32-H.bcmap +0 -0
  617. package/vendor/pdfjs/cmaps/UniJISX02132004-UTF32-V.bcmap +0 -0
  618. package/vendor/pdfjs/cmaps/UniKS-UCS2-H.bcmap +0 -0
  619. package/vendor/pdfjs/cmaps/UniKS-UCS2-V.bcmap +0 -0
  620. package/vendor/pdfjs/cmaps/UniKS-UTF16-H.bcmap +0 -0
  621. package/vendor/pdfjs/cmaps/UniKS-UTF16-V.bcmap +0 -0
  622. package/vendor/pdfjs/cmaps/UniKS-UTF32-H.bcmap +0 -0
  623. package/vendor/pdfjs/cmaps/UniKS-UTF32-V.bcmap +0 -0
  624. package/vendor/pdfjs/cmaps/UniKS-UTF8-H.bcmap +0 -0
  625. package/vendor/pdfjs/cmaps/UniKS-UTF8-V.bcmap +0 -0
  626. package/vendor/pdfjs/cmaps/V.bcmap +0 -0
  627. package/vendor/pdfjs/cmaps/WP-Symbol.bcmap +0 -0
  628. package/vendor/pdfjs/legacy/build/pdf.min.mjs +27 -0
  629. package/vendor/pdfjs/legacy/build/pdf.worker.min.mjs +27 -0
  630. package/vendor/pdfjs/standard_fonts/FoxitDingbats.pfb +0 -0
  631. package/vendor/pdfjs/standard_fonts/FoxitFixed.pfb +0 -0
  632. package/vendor/pdfjs/standard_fonts/FoxitFixedBold.pfb +0 -0
  633. package/vendor/pdfjs/standard_fonts/FoxitFixedBoldItalic.pfb +0 -0
  634. package/vendor/pdfjs/standard_fonts/FoxitFixedItalic.pfb +0 -0
  635. package/vendor/pdfjs/standard_fonts/FoxitSerif.pfb +0 -0
  636. package/vendor/pdfjs/standard_fonts/FoxitSerifBold.pfb +0 -0
  637. package/vendor/pdfjs/standard_fonts/FoxitSerifBoldItalic.pfb +0 -0
  638. package/vendor/pdfjs/standard_fonts/FoxitSerifItalic.pfb +0 -0
  639. package/vendor/pdfjs/standard_fonts/FoxitSymbol.pfb +0 -0
  640. package/vendor/pdfjs/standard_fonts/LICENSE_FOXIT +27 -0
  641. package/vendor/pdfjs/standard_fonts/LICENSE_LIBERATION +363 -0
  642. package/vendor/pdfjs/standard_fonts/LiberationSans-Bold.ttf +0 -0
  643. package/vendor/pdfjs/standard_fonts/LiberationSans-BoldItalic.ttf +0 -0
  644. package/vendor/pdfjs/standard_fonts/LiberationSans-Italic.ttf +0 -0
  645. package/vendor/pdfjs/standard_fonts/LiberationSans-Regular.ttf +0 -0
  646. package/vendor/types/@types/d3/LICENSE +21 -0
  647. package/vendor/types/@types/d3/index.d.ts +39 -0
  648. package/vendor/types/@types/d3/package.json +81 -0
  649. package/vendor/types/@types/d3-array/LICENSE +21 -0
  650. package/vendor/types/@types/d3-array/index.d.ts +1118 -0
  651. package/vendor/types/@types/d3-array/package.json +56 -0
  652. package/vendor/types/@types/d3-axis/LICENSE +21 -0
  653. package/vendor/types/@types/d3-axis/index.d.ts +293 -0
  654. package/vendor/types/@types/d3-axis/package.json +47 -0
  655. package/vendor/types/@types/d3-brush/LICENSE +21 -0
  656. package/vendor/types/@types/d3-brush/index.d.ts +255 -0
  657. package/vendor/types/@types/d3-brush/package.json +42 -0
  658. package/vendor/types/@types/d3-chord/LICENSE +21 -0
  659. package/vendor/types/@types/d3-chord/index.d.ts +471 -0
  660. package/vendor/types/@types/d3-chord/package.json +40 -0
  661. package/vendor/types/@types/d3-color/LICENSE +21 -0
  662. package/vendor/types/@types/d3-color/index.d.ts +669 -0
  663. package/vendor/types/@types/d3-color/package.json +55 -0
  664. package/vendor/types/@types/d3-contour/LICENSE +21 -0
  665. package/vendor/types/@types/d3-contour/index.d.ts +222 -0
  666. package/vendor/types/@types/d3-contour/package.json +38 -0
  667. package/vendor/types/@types/d3-delaunay/LICENSE +21 -0
  668. package/vendor/types/@types/d3-delaunay/index.d.ts +316 -0
  669. package/vendor/types/@types/d3-delaunay/package.json +30 -0
  670. package/vendor/types/@types/d3-dispatch/LICENSE +21 -0
  671. package/vendor/types/@types/d3-dispatch/index.d.ts +96 -0
  672. package/vendor/types/@types/d3-dispatch/package.json +51 -0
  673. package/vendor/types/@types/d3-drag/LICENSE +21 -0
  674. package/vendor/types/@types/d3-drag/index.d.ts +395 -0
  675. package/vendor/types/@types/d3-drag/package.json +42 -0
  676. package/vendor/types/@types/d3-dsv/LICENSE +21 -0
  677. package/vendor/types/@types/d3-dsv/index.d.ts +482 -0
  678. package/vendor/types/@types/d3-dsv/package.json +45 -0
  679. package/vendor/types/@types/d3-ease/LICENSE +21 -0
  680. package/vendor/types/@types/d3-ease/index.d.ts +316 -0
  681. package/vendor/types/@types/d3-ease/package.json +40 -0
  682. package/vendor/types/@types/d3-fetch/LICENSE +21 -0
  683. package/vendor/types/@types/d3-fetch/index.d.ts +282 -0
  684. package/vendor/types/@types/d3-fetch/package.json +37 -0
  685. package/vendor/types/@types/d3-force/LICENSE +21 -0
  686. package/vendor/types/@types/d3-force/index.d.ts +899 -0
  687. package/vendor/types/@types/d3-force/package.json +45 -0
  688. package/vendor/types/@types/d3-format/LICENSE +21 -0
  689. package/vendor/types/@types/d3-format/index.d.ts +337 -0
  690. package/vendor/types/@types/d3-format/package.json +45 -0
  691. package/vendor/types/@types/d3-geo/LICENSE +21 -0
  692. package/vendor/types/@types/d3-geo/index.d.ts +1371 -0
  693. package/vendor/types/@types/d3-geo/package.json +48 -0
  694. package/vendor/types/@types/d3-hierarchy/LICENSE +21 -0
  695. package/vendor/types/@types/d3-hierarchy/index.d.ts +928 -0
  696. package/vendor/types/@types/d3-hierarchy/package.json +50 -0
  697. package/vendor/types/@types/d3-interpolate/LICENSE +21 -0
  698. package/vendor/types/@types/d3-interpolate/index.d.ts +387 -0
  699. package/vendor/types/@types/d3-interpolate/package.json +47 -0
  700. package/vendor/types/@types/d3-path/LICENSE +21 -0
  701. package/vendor/types/@types/d3-path/index.d.ts +108 -0
  702. package/vendor/types/@types/d3-path/package.json +41 -0
  703. package/vendor/types/@types/d3-polygon/LICENSE +21 -0
  704. package/vendor/types/@types/d3-polygon/index.d.ts +41 -0
  705. package/vendor/types/@types/d3-polygon/package.json +40 -0
  706. package/vendor/types/@types/d3-quadtree/LICENSE +21 -0
  707. package/vendor/types/@types/d3-quadtree/index.d.ts +204 -0
  708. package/vendor/types/@types/d3-quadtree/package.json +45 -0
  709. package/vendor/types/@types/d3-random/LICENSE +21 -0
  710. package/vendor/types/@types/d3-random/index.d.ts +313 -0
  711. package/vendor/types/@types/d3-random/package.json +41 -0
  712. package/vendor/types/@types/d3-scale/LICENSE +21 -0
  713. package/vendor/types/@types/d3-scale/index.d.ts +2669 -0
  714. package/vendor/types/@types/d3-scale/package.json +53 -0
  715. package/vendor/types/@types/d3-scale-chromatic/LICENSE +21 -0
  716. package/vendor/types/@types/d3-scale-chromatic/index.d.ts +520 -0
  717. package/vendor/types/@types/d3-scale-chromatic/package.json +46 -0
  718. package/vendor/types/@types/d3-selection/LICENSE +21 -0
  719. package/vendor/types/@types/d3-selection/index.d.ts +1210 -0
  720. package/vendor/types/@types/d3-selection/package.json +56 -0
  721. package/vendor/types/@types/d3-shape/LICENSE +21 -0
  722. package/vendor/types/@types/d3-shape/index.d.ts +2792 -0
  723. package/vendor/types/@types/d3-shape/package.json +53 -0
  724. package/vendor/types/@types/d3-time/LICENSE +21 -0
  725. package/vendor/types/@types/d3-time/index.d.ts +697 -0
  726. package/vendor/types/@types/d3-time/package.json +46 -0
  727. package/vendor/types/@types/d3-time-format/LICENSE +21 -0
  728. package/vendor/types/@types/d3-time-format/index.d.ts +202 -0
  729. package/vendor/types/@types/d3-time-format/package.json +40 -0
  730. package/vendor/types/@types/d3-timer/LICENSE +21 -0
  731. package/vendor/types/@types/d3-timer/index.d.ts +68 -0
  732. package/vendor/types/@types/d3-timer/package.json +45 -0
  733. package/vendor/types/@types/d3-transition/LICENSE +21 -0
  734. package/vendor/types/@types/d3-transition/index.d.ts +664 -0
  735. package/vendor/types/@types/d3-transition/package.json +47 -0
  736. package/vendor/types/@types/d3-zoom/LICENSE +21 -0
  737. package/vendor/types/@types/d3-zoom/index.d.ts +611 -0
  738. package/vendor/types/@types/d3-zoom/package.json +48 -0
  739. package/vendor/types/@types/geojson/LICENSE +21 -0
  740. package/vendor/types/@types/geojson/index.d.ts +202 -0
  741. package/vendor/types/@types/geojson/package.json +46 -0
  742. package/vendor/typescript/LICENSE.txt +55 -0
  743. package/vendor/typescript/lib.decorators.d.ts +384 -0
  744. package/vendor/typescript/lib.decorators.legacy.d.ts +22 -0
  745. package/vendor/typescript/lib.dom.d.ts +39429 -0
  746. package/vendor/typescript/lib.dom.iterable.d.ts +571 -0
  747. package/vendor/typescript/lib.es2015.collection.d.ts +147 -0
  748. package/vendor/typescript/lib.es2015.core.d.ts +597 -0
  749. package/vendor/typescript/lib.es2015.d.ts +28 -0
  750. package/vendor/typescript/lib.es2015.generator.d.ts +77 -0
  751. package/vendor/typescript/lib.es2015.iterable.d.ts +605 -0
  752. package/vendor/typescript/lib.es2015.promise.d.ts +81 -0
  753. package/vendor/typescript/lib.es2015.proxy.d.ts +128 -0
  754. package/vendor/typescript/lib.es2015.reflect.d.ts +144 -0
  755. package/vendor/typescript/lib.es2015.symbol.d.ts +46 -0
  756. package/vendor/typescript/lib.es2015.symbol.wellknown.d.ts +326 -0
  757. package/vendor/typescript/lib.es2016.array.include.d.ts +116 -0
  758. package/vendor/typescript/lib.es2016.d.ts +21 -0
  759. package/vendor/typescript/lib.es2016.intl.d.ts +31 -0
  760. package/vendor/typescript/lib.es2017.arraybuffer.d.ts +21 -0
  761. package/vendor/typescript/lib.es2017.d.ts +26 -0
  762. package/vendor/typescript/lib.es2017.date.d.ts +31 -0
  763. package/vendor/typescript/lib.es2017.intl.d.ts +44 -0
  764. package/vendor/typescript/lib.es2017.object.d.ts +49 -0
  765. package/vendor/typescript/lib.es2017.sharedmemory.d.ts +135 -0
  766. package/vendor/typescript/lib.es2017.string.d.ts +45 -0
  767. package/vendor/typescript/lib.es2017.typedarrays.d.ts +53 -0
  768. package/vendor/typescript/lib.es2018.asyncgenerator.d.ts +77 -0
  769. package/vendor/typescript/lib.es2018.asynciterable.d.ts +53 -0
  770. package/vendor/typescript/lib.es2018.d.ts +24 -0
  771. package/vendor/typescript/lib.es2018.intl.d.ts +83 -0
  772. package/vendor/typescript/lib.es2018.promise.d.ts +30 -0
  773. package/vendor/typescript/lib.es2018.regexp.d.ts +37 -0
  774. package/vendor/typescript/lib.es2019.array.d.ts +79 -0
  775. package/vendor/typescript/lib.es2019.d.ts +24 -0
  776. package/vendor/typescript/lib.es2019.intl.d.ts +23 -0
  777. package/vendor/typescript/lib.es2019.object.d.ts +33 -0
  778. package/vendor/typescript/lib.es2019.string.d.ts +37 -0
  779. package/vendor/typescript/lib.es2019.symbol.d.ts +24 -0
  780. package/vendor/typescript/lib.es2020.bigint.d.ts +765 -0
  781. package/vendor/typescript/lib.es2020.d.ts +27 -0
  782. package/vendor/typescript/lib.es2020.date.d.ts +42 -0
  783. package/vendor/typescript/lib.es2020.intl.d.ts +474 -0
  784. package/vendor/typescript/lib.es2020.number.d.ts +28 -0
  785. package/vendor/typescript/lib.es2020.promise.d.ts +47 -0
  786. package/vendor/typescript/lib.es2020.sharedmemory.d.ts +99 -0
  787. package/vendor/typescript/lib.es2020.string.d.ts +44 -0
  788. package/vendor/typescript/lib.es2020.symbol.wellknown.d.ts +41 -0
  789. package/vendor/typescript/lib.es2021.d.ts +23 -0
  790. package/vendor/typescript/lib.es2021.intl.d.ts +166 -0
  791. package/vendor/typescript/lib.es2021.promise.d.ts +48 -0
  792. package/vendor/typescript/lib.es2021.string.d.ts +33 -0
  793. package/vendor/typescript/lib.es2021.weakref.d.ts +78 -0
  794. package/vendor/typescript/lib.es2022.array.d.ts +121 -0
  795. package/vendor/typescript/lib.es2022.d.ts +25 -0
  796. package/vendor/typescript/lib.es2022.error.d.ts +75 -0
  797. package/vendor/typescript/lib.es2022.intl.d.ts +145 -0
  798. package/vendor/typescript/lib.es2022.object.d.ts +26 -0
  799. package/vendor/typescript/lib.es2022.regexp.d.ts +39 -0
  800. package/vendor/typescript/lib.es2022.string.d.ts +25 -0
  801. package/vendor/typescript/lib.es5.d.ts +4601 -0
  802. package/vendor/typescript/package.json +4 -0
  803. package/vendor/typescript/typescript.js +446 -0
  804. package/web/assets/index-Bh74DfsV.css +1 -0
  805. package/web/assets/index-UW0RyFFt.js +13 -0
  806. package/web/index.html +14 -0
@@ -0,0 +1,19 @@
1
+ import { createRequire as __galleryRequire } from "node:module"; import { fileURLToPath as __galleryPath } from "node:url"; const require = __galleryRequire(import.meta.url); const __filename = __galleryPath(import.meta.url); const __dirname = __galleryPath(new URL(".", import.meta.url));
2
+ import st from"node:child_process";import{EventEmitter as Jt}from"node:events";import{accessSync as Zt}from"node:fs";import it from"node:os";import Qt from"node:readline";import pe from"node:path";import{execSync as he}from"node:child_process";import de from"node:os";import I from"node:path";import{createHash as vt}from"node:crypto";import{createWriteStream as yt,unlinkSync as gt}from"node:fs";import*as Me from"node:http";import*as Be from"node:https";import{URL as Ct,urlToHttpOptions as Rt}from"node:url";async function Oe(t){return await new Promise(e=>{X(t,"HEAD",r=>{r.resume(),e(r.statusCode===200)},!1).then(r=>{r.on("error",()=>{e(!1)})}).catch(()=>{e(!1)})})}async function X(t,e,r,o=!0){let a;try{let{ProxyAgent:c}=await import("proxy-agent");a=new c}catch{}let i={protocol:t.protocol,hostname:t.hostname,port:t.port,path:t.pathname+t.search,method:e,headers:o?{Connection:"keep-alive"}:void 0,auth:Rt(t).auth,agent:a},n=c=>{c.statusCode&&c.statusCode>=300&&c.statusCode<400&&c.headers.location?(X(new Ct(c.headers.location),e,r),c.resume()):r(c)},l=i.protocol==="https:"?Be.request(i,n):Me.request(i,n);return l.end(),l}var ne=class{#e=vt("sha256");update(e){this.#e.update(e)}verify(e,r,o){let a=this.#e.digest("hex");if(a!==o.toLowerCase()){try{gt(r)}catch{}throw new Error(`Integrity check failed for downloaded browser archive.
3
+ URL: ${e}
4
+ Expected: ${o.toLowerCase()}
5
+ Actual: ${a}`)}}};function le(t,e,r,o){return new Promise(async(a,i)=>{let n=0,l=0,c=o?new ne:null;try{(await X(t,"GET",f=>{if(f.statusCode!==200){let E=new Error(`Download failed: server returned code ${f.statusCode}. URL: ${t}`);f.resume(),i(E);return}let p=yt(e);p.on("close",()=>{if(c&&o)try{c.verify(t,e,o)}catch(E){i(E);return}return a()}),p.on("error",E=>i(E)),l=parseInt(f.headers["content-length"],10),f.on("data",E=>{n+=E.length,c?.update(E),r&&r(n,l)}),f.pipe(p)})).on("error",f=>i(f))}catch(d){i(d)}})}async function O(t){let e=await ce(t);try{return JSON.parse(e)}catch{throw new Error("Could not parse JSON from "+t.toString())}}function ce(t){return new Promise(async(e,r)=>{try{(await X(t,"GET",a=>{let i="";if(a.statusCode&&a.statusCode>=400)return r(new Error(`Got status code ${a.statusCode}`));a.on("data",n=>{i+=n}),a.on("end",()=>{try{return e(String(i))}catch{return r(new Error(`Failed to read text response from ${t}`))}})},!1)).on("error",a=>{r(a)})}catch(o){r(o)}})}var u;(function(t){t.CHROME="chrome",t.CHROMEHEADLESSSHELL="chrome-headless-shell",t.CHROMIUM="chromium",t.FIREFOX="firefox",t.CHROMEDRIVER="chromedriver"})(u||(u={}));var s;(function(t){t.LINUX="linux",t.LINUX_ARM="linux_arm",t.MAC="mac",t.MAC_ARM="mac_arm",t.WIN32="win32",t.WIN64="win64"})(s||(s={}));var h;(function(t){t.CANARY="canary",t.NIGHTLY="nightly",t.BETA="beta",t.DEV="dev",t.DEVEDITION="devedition",t.STABLE="stable",t.ESR="esr",t.LATEST="latest"})(h||(h={}));var m;(function(t){t.STABLE="stable",t.DEV="dev",t.CANARY="canary",t.BETA="beta"})(m||(m={}));function ue(t){if(Object.values(m).includes(t))return t;throw new Error(`Invalid Chrome channel: ${t}`)}function F(t,e){switch(t){case s.LINUX_ARM:return e&&g(e,"153.0.8001.0")<0?"linux64":"linux-arm64";case s.LINUX:return"linux64";case s.MAC_ARM:return"mac-arm64";case s.MAC:return"mac-x64";case s.WIN32:return"win32";case s.WIN64:return"win64"}}function Ue(t,e,r="https://storage.googleapis.com/chrome-for-testing-public"){return`${r}/${fe(t,e).join("/")}`}function fe(t,e){return[e,F(t,e),`chrome-${F(t,e)}.zip`]}function _e(t,e){switch(t){case s.MAC:case s.MAC_ARM:return I.join("chrome-"+F(t,e),"Google Chrome for Testing.app","Contents","MacOS","Google Chrome for Testing");case s.LINUX_ARM:case s.LINUX:return I.join("chrome-"+F(t,e),"chrome");case s.WIN32:case s.WIN64:return I.join("chrome-"+F(t,e),"chrome.exe")}}var me="https://googlechromelabs.github.io/chrome-for-testing";async function St(t){let e=await O(new URL(`${me}/last-known-good-versions.json`));for(let r of Object.keys(e.channels))e.channels[r.toLowerCase()]=e.channels[r],delete e.channels[r];return e.channels[t]}async function At(t){return(await O(new URL(`${me}/latest-versions-per-milestone.json`))).milestones[t]}async function $t(t){return(await O(new URL(`${me}/latest-patch-versions-per-build.json`))).builds[t]}async function x(t){if(Object.values(m).includes(t))return(await St(t)).version;if(t.match(/^\d+$/))return(await At(t))?.version;if(t.match(/^\d+\.\d+\.\d+$/))return(await $t(t))?.version}var He=["PROGRAMFILES","ProgramW6432","ProgramFiles(x86)","LOCALAPPDATA"];function Fe(t,e){if(e.size===0)throw new Error("Non of the common Windows Env variables were set");let r;switch(t){case m.STABLE:r="Google\\Chrome\\Application\\chrome.exe";break;case m.BETA:r="Google\\Chrome Beta\\Application\\chrome.exe";break;case m.CANARY:r="Google\\Chrome SxS\\Application\\chrome.exe";break;case m.DEV:r="Google\\Chrome Dev\\Application\\chrome.exe";break}return[...e.values()].map(o=>I.win32.join(o,r))}function Dt(t){try{let e=he(`cmd.exe /c echo %${t.toLocaleUpperCase()}%`,{stdio:["ignore","pipe","ignore"],encoding:"utf-8"}).trim();if(e)return e}catch{}}function Nt(t){if(!he("wslinfo --version",{stdio:["ignore","pipe","ignore"],encoding:"utf-8"}).trim())throw new Error("Not in WSL or unsupported version of WSL.");let r=new Set;for(let a of He){let i=Dt(a);i&&r.add(i)}return Fe(t,r).map(a=>he(`wslpath "${a}"`).toString().trim())}function Lt(t){let e=[];switch(t){case m.STABLE:e.push("/opt/google/chrome/chrome");break;case m.BETA:e.push("/opt/google/chrome-beta/chrome");break;case m.CANARY:e.push("/opt/google/chrome-canary/chrome");break;case m.DEV:e.push("/opt/google/chrome-unstable/chrome");break}try{let r=Nt(t);r&&e.push(...r)}catch{}return e}function ke(t,e){switch(t){case s.WIN64:case s.WIN32:let r=new Set(He.map(o=>process.env[o]).filter(o=>!!o));return r.add("C:\\Program Files"),r.add("C:\\Program Files (x86)"),r.add("D:\\Program Files"),r.add("D:\\Program Files (x86)"),Fe(e,r);case s.MAC_ARM:case s.MAC:switch(e){case m.STABLE:return["/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"];case m.BETA:return["/Applications/Google Chrome Beta.app/Contents/MacOS/Google Chrome Beta"];case m.CANARY:return["/Applications/Google Chrome Canary.app/Contents/MacOS/Google Chrome Canary"];case m.DEV:return["/Applications/Google Chrome Dev.app/Contents/MacOS/Google Chrome Dev"]}case s.LINUX_ARM:case s.LINUX:return Lt(e)}}function We(t,e){switch(t){case s.WIN64:case s.WIN32:switch(e){case m.STABLE:return I.join(Y(),"Google","Chrome","User Data");case m.BETA:return I.join(Y(),"Google","Chrome Beta","User Data");case m.CANARY:return I.join(Y(),"Google","Chrome SxS","User Data");case m.DEV:return I.join(Y(),"Google","Chrome Dev","User Data")}case s.MAC_ARM:case s.MAC:switch(e){case m.STABLE:return I.join(q(),"Chrome");case m.BETA:return I.join(q(),"Chrome Beta");case m.DEV:return I.join(q(),"Chrome Dev");case m.CANARY:return I.join(q(),"Chrome Canary")}case s.LINUX_ARM:case s.LINUX:switch(e){case m.STABLE:return I.join(z(),"google-chrome");case m.BETA:return I.join(z(),"google-chrome-beta");case m.CANARY:return I.join(z(),"google-chrome-canary");case m.DEV:return I.join(z(),"google-chrome-unstable")}}}function Y(){return process.env.LOCALAPPDATA||I.join(de.homedir(),"AppData","Local")}function z(){return process.env.CHROME_CONFIG_HOME||process.env.XDG_CONFIG_HOME||I.join(de.homedir(),".config")}function q(){return I.join(de.homedir(),"Library","Application Support","Google")}function g(t,e){let r=t.trim(),o=e.trim(),a=/^\d+(?:\.\d+){0,3}$/;if(!a.test(r))throw new Error(`Version ${t} is not a valid Chrome version`);if(!a.test(o))throw new Error(`Version ${e} is not a valid Chrome version`);let i=r.split(".").map(Number),n=o.split(".").map(Number);for(let l=0;l<4;l++){let c=i[l]??0,d=n[l]??0;if(c>d)return 1;if(c<d)return-1}return 0}function k(t,e){switch(t){case s.LINUX_ARM:return e&&g(e,"153.0.8001.0")<0?"linux64":"linux-arm64";case s.LINUX:return"linux64";case s.MAC_ARM:return"mac-arm64";case s.MAC:return"mac-x64";case s.WIN32:return"win32";case s.WIN64:return"win64"}}function Ge(t,e,r="https://storage.googleapis.com/chrome-for-testing-public"){return`${r}/${we(t,e).join("/")}`}function we(t,e){return[e,k(t,e),`chrome-headless-shell-${k(t,e)}.zip`]}function je(t,e){switch(t){case s.MAC:case s.MAC_ARM:return pe.join("chrome-headless-shell-"+k(t,e),"chrome-headless-shell");case s.LINUX_ARM:case s.LINUX:return pe.join("chrome-headless-shell-"+k(t,e),"chrome-headless-shell");case s.WIN32:case s.WIN64:return pe.join("chrome-headless-shell-"+k(t,e),"chrome-headless-shell.exe")}}import be from"node:path";function W(t,e){switch(t){case s.LINUX_ARM:return e&&g(e,"153.0.8001.0")<0?"linux64":"linux-arm64";case s.LINUX:return"linux64";case s.MAC_ARM:return"mac-arm64";case s.MAC:return"mac-x64";case s.WIN32:return"win32";case s.WIN64:return"win64"}}function Ve(t,e,r="https://storage.googleapis.com/chrome-for-testing-public"){return`${r}/${xe(t,e).join("/")}`}function xe(t,e){return[e,W(t,e),`chromedriver-${W(t,e)}.zip`]}function Xe(t,e){switch(t){case s.MAC:case s.MAC_ARM:return be.join("chromedriver-"+W(t,e),"chromedriver");case s.LINUX_ARM:case s.LINUX:return be.join("chromedriver-"+W(t,e),"chromedriver");case s.WIN32:case s.WIN64:return be.join("chromedriver-"+W(t,e),"chromedriver.exe")}}import Ee from"node:path";function Bt(t,e){switch(t){case s.LINUX_ARM:case s.LINUX:return"chrome-linux";case s.MAC_ARM:case s.MAC:return"chrome-mac";case s.WIN32:case s.WIN64:return parseInt(e,10)>591479?"chrome-win":"chrome-win32"}}function Ye(t){switch(t){case s.LINUX_ARM:case s.LINUX:return"Linux_x64";case s.MAC_ARM:return"Mac_Arm";case s.MAC:return"Mac";case s.WIN32:return"Win";case s.WIN64:return"Win_x64"}}function ze(t,e,r="https://storage.googleapis.com/chromium-browser-snapshots"){return`${r}/${Ie(t,e).join("/")}`}function Ie(t,e){return[Ye(t),e,`${Bt(t,e)}.zip`]}function qe(t,e){switch(t){case s.MAC:case s.MAC_ARM:return Ee.join("chrome-mac","Chromium.app","Contents","MacOS","Chromium");case s.LINUX_ARM:case s.LINUX:return Ee.join("chrome-linux","chrome");case s.WIN32:case s.WIN64:return Ee.join("chrome-win","chrome.exe")}}async function Ke(t){return await ce(new URL(`https://storage.googleapis.com/chromium-browser-snapshots/${Ye(t)}/LAST_CHANGE`))}function Je(t,e){return Number(t)-Number(e)}import G from"node:fs";import $ from"node:path";function ve(t){return Number(t.split(".").shift())>=135?"xz":"bz2"}function Ut(t,e){switch(t){case s.LINUX:return`firefox-${e}.en-US.linux-x86_64.tar.${ve(e)}`;case s.LINUX_ARM:return`firefox-${e}.en-US.linux-aarch64.tar.${ve(e)}`;case s.MAC_ARM:case s.MAC:return`firefox-${e}.en-US.mac.dmg`;case s.WIN32:case s.WIN64:return`firefox-${e}.en-US.${t}.zip`}}function _t(t,e){switch(t){case s.LINUX_ARM:case s.LINUX:return`firefox-${e}.tar.${ve(e)}`;case s.MAC_ARM:case s.MAC:return`Firefox ${e}.dmg`;case s.WIN32:case s.WIN64:return`Firefox Setup ${e}.exe`}}function Ht(t){switch(t){case s.LINUX:return"linux-x86_64";case s.LINUX_ARM:return"linux-aarch64";case s.MAC_ARM:case s.MAC:return"mac";case s.WIN32:case s.WIN64:return t}}function ye(t){for(let e of Object.values(w))if(t.startsWith(e+"_"))return t=t.substring(e.length+1),[e,t];return[w.NIGHTLY,t]}function Qe(t,e,r){let[o]=ye(e);switch(o){case w.NIGHTLY:r??="https://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-central";break;case w.DEVEDITION:r??="https://archive.mozilla.org/pub/devedition/releases";break;case w.BETA:case w.STABLE:case w.ESR:r??="https://archive.mozilla.org/pub/firefox/releases";break}return`${r}/${ge(t,e).join("/")}`}function ge(t,e){let[r,o]=ye(e);switch(r){case w.NIGHTLY:return[Ut(t,o)];case w.DEVEDITION:case w.BETA:case w.STABLE:case w.ESR:return[o,Ht(t),"en-US",_t(t,o)]}}function et(t,e){let[r]=ye(e);switch(r){case w.NIGHTLY:switch(t){case s.MAC_ARM:case s.MAC:return $.join("Firefox Nightly.app","Contents","MacOS","firefox");case s.LINUX_ARM:case s.LINUX:return $.join("firefox","firefox");case s.WIN32:case s.WIN64:return $.join("firefox","firefox.exe")}case w.BETA:case w.DEVEDITION:case w.ESR:case w.STABLE:switch(t){case s.MAC_ARM:case s.MAC:return $.join("Firefox.app","Contents","MacOS","firefox");case s.LINUX_ARM:case s.LINUX:return $.join("firefox","firefox");case s.WIN32:case s.WIN64:return $.join("core","firefox.exe")}}}var w;(function(t){t.STABLE="stable",t.ESR="esr",t.DEVEDITION="devedition",t.BETA="beta",t.NIGHTLY="nightly"})(w||(w={}));var Ft="https://product-details.mozilla.org/1.0";async function T(t=w.NIGHTLY){let e={[w.ESR]:"FIREFOX_ESR",[w.STABLE]:"LATEST_FIREFOX_VERSION",[w.DEVEDITION]:"FIREFOX_DEVEDITION",[w.BETA]:"FIREFOX_DEVEDITION",[w.NIGHTLY]:"FIREFOX_NIGHTLY"},o=(await O(new URL(`${Ft}/firefox_versions.json`)))[e[t]];if(!o)throw new Error(`Channel ${t} is not found.`);return t+"_"+o}async function tt(t){G.existsSync(t.path)||await G.promises.mkdir(t.path,{recursive:!0}),await Wt({preferences:{...kt(t.preferences),...t.preferences},path:t.path})}function kt(t){let e="dummy.test",r={"app.normandy.api_url":"","app.update.checkInstallTime":!1,"app.update.disabledForTesting":!0,"apz.content_response_timeout":6e4,"browser.contentblocking.features.standard":"-tp,tpPrivate,cookieBehavior0,-cryptoTP,-fp","browser.dom.window.dump.enabled":!0,"browser.newtabpage.activity-stream.feeds.system.topstories":!1,"browser.newtabpage.enabled":!1,"browser.pagethumbnails.capturing_disabled":!0,"browser.safebrowsing.blockedURIs.enabled":!1,"browser.safebrowsing.downloads.enabled":!1,"browser.safebrowsing.malware.enabled":!1,"browser.safebrowsing.phishing.enabled":!1,"browser.search.update":!1,"browser.sessionstore.resume_from_crash":!1,"browser.shell.checkDefaultBrowser":!1,"browser.startup.homepage":"about:blank","browser.startup.homepage_override.mstone":"ignore","browser.startup.page":0,"browser.tabs.disableBackgroundZombification":!1,"browser.tabs.warnOnCloseOtherTabs":!1,"browser.tabs.warnOnOpen":!1,"browser.translations.automaticallyPopup":!1,"browser.uitour.enabled":!1,"browser.urlbar.suggest.searches":!1,"browser.usedOnWindows10.introURL":"","browser.warnOnQuit":!1,"datareporting.healthreport.documentServerURI":`http://${e}/dummy/healthreport/`,"datareporting.healthreport.logging.consoleEnabled":!1,"datareporting.healthreport.service.enabled":!1,"datareporting.healthreport.service.firstRun":!1,"datareporting.healthreport.uploadEnabled":!1,"datareporting.policy.dataSubmissionEnabled":!1,"datareporting.policy.dataSubmissionPolicyBypassNotification":!0,"devtools.jsonview.enabled":!1,"dom.disable_open_during_load":!1,"dom.file.createInChild":!0,"dom.ipc.reportProcessHangs":!1,"dom.max_chrome_script_run_time":0,"dom.max_script_run_time":0,"extensions.autoDisableScopes":0,"extensions.enabledScopes":5,"extensions.getAddons.cache.enabled":!1,"extensions.installDistroAddons":!1,"extensions.update.enabled":!1,"extensions.update.notifyUser":!1,"extensions.webservice.discoverURL":`http://${e}/dummy/discoveryURL`,"focusmanager.testmode":!0,"general.useragent.updates.enabled":!1,"geo.provider.testing":!0,"geo.wifi.scan":!1,"hangmonitor.timeout":0,"javascript.options.showInConsole":!0,"media.gmp-manager.updateEnabled":!1,"media.sanity-test.disabled":!0,"network.cookie.sameSite.laxByDefault":!1,"network.http.prompt-temp-redirect":!1,"network.http.speculative-parallel-limit":0,"network.manage-offline-status":!1,"network.sntp.pools":e,"plugin.state.flash":0,"privacy.trackingprotection.enabled":!1,"remote.bidi.dismiss_file_pickers.enabled":!0,"screenshots.browser.component.enabled":!1,"security.certerrors.mitm.priming.enabled":!1,"security.fileuri.strict_origin_policy":!1,"security.notification_enable_delay":0,"services.settings.server":"data:,#remote-settings-dummy/v1","signon.autofillForms":!1,"signon.rememberSignons":!1,"startup.homepage_welcome_url":"about:blank","startup.homepage_welcome_url.additional":"","toolkit.cosmeticAnimations.enabled":!1,"toolkit.startup.max_resumed_crashes":-1};return Object.assign(r,t)}async function Ze(t){G.existsSync(t)&&await G.promises.copyFile(t,t+".puppeteer")}async function Wt(t){let e=$.join(t.path,"prefs.js"),r=$.join(t.path,"user.js"),o=Object.entries(t.preferences).map(([i,n])=>`user_pref(${JSON.stringify(i)}, ${JSON.stringify(n)});`),a=await Promise.allSettled([Ze(r).then(async()=>{await G.promises.writeFile(r,o.join(`
6
+ `))}),Ze(e)]);for(let i of a)if(i.status==="rejected")throw i.reason}function rt(t,e){return parseInt(t.replace(".",""),16)-parseInt(e.replace(".",""),16)}var K={[u.CHROMEDRIVER]:Ve,[u.CHROMEHEADLESSSHELL]:Ge,[u.CHROME]:Ue,[u.CHROMIUM]:ze,[u.FIREFOX]:Qe},wo={[u.CHROMEDRIVER]:xe,[u.CHROMEHEADLESSSHELL]:we,[u.CHROME]:fe,[u.CHROMIUM]:Ie,[u.FIREFOX]:ge},U={[u.CHROMEDRIVER]:Xe,[u.CHROMEHEADLESSSHELL]:je,[u.CHROME]:_e,[u.CHROMIUM]:qe,[u.FIREFOX]:et},jt={[u.CHROMEDRIVER]:g,[u.CHROMEHEADLESSSHELL]:g,[u.CHROME]:g,[u.CHROMIUM]:Je,[u.FIREFOX]:rt};async function Vt(t,e,r){switch(t){case u.FIREFOX:switch(r){case h.LATEST:return await T(w.NIGHTLY);case h.BETA:return await T(w.BETA);case h.NIGHTLY:return await T(w.NIGHTLY);case h.DEVEDITION:return await T(w.DEVEDITION);case h.STABLE:return await T(w.STABLE);case h.ESR:return await T(w.ESR);case h.CANARY:case h.DEV:throw new Error(`${r.toUpperCase()} is not available for Firefox`)}case u.CHROME:switch(r){case h.LATEST:return await x(m.CANARY);case h.BETA:return await x(m.BETA);case h.CANARY:return await x(m.CANARY);case h.DEV:return await x(m.DEV);case h.STABLE:return await x(m.STABLE);case h.NIGHTLY:case h.DEVEDITION:case h.ESR:throw new Error(`${r.toUpperCase()} is not available for Chrome`)}case u.CHROMEDRIVER:switch(r){case h.LATEST:case h.CANARY:return await x(m.CANARY);case h.BETA:return await x(m.BETA);case h.DEV:return await x(m.DEV);case h.STABLE:return await x(m.STABLE);case h.NIGHTLY:case h.DEVEDITION:case h.ESR:throw new Error(`${r.toUpperCase()} is not available for ChromeDriver`)}case u.CHROMEHEADLESSSHELL:switch(r){case h.LATEST:case h.CANARY:return await x(m.CANARY);case h.BETA:return await x(m.BETA);case h.DEV:return await x(m.DEV);case h.STABLE:return await x(m.STABLE);case h.NIGHTLY:case h.DEVEDITION:case h.ESR:throw new Error(`${r} is not available for chrome-headless-shell`)}case u.CHROMIUM:switch(r){case h.LATEST:return await Ke(e);case h.NIGHTLY:case h.CANARY:case h.DEV:case h.DEVEDITION:case h.BETA:case h.STABLE:case h.ESR:throw new Error(`${r} is not supported for Chromium. Use 'latest' instead.`)}}}async function Ce(t,e,r){let o=r;if(Object.values(h).includes(o))return await Vt(t,e,o);switch(t){case u.FIREFOX:return r;case u.CHROME:let a=await x(r);return a||r;case u.CHROMEDRIVER:let i=await x(r);return i||r;case u.CHROMEHEADLESSSHELL:let n=await x(r);return n||r;case u.CHROMIUM:return r}}async function Xt(t,e){switch(t){case u.FIREFOX:return await tt(e);case u.CHROME:case u.CHROMIUM:throw new Error(`Profile creation is not support for ${t} yet`)}}function Yt(t,e,r){switch(t){case u.CHROMEDRIVER:case u.CHROMEHEADLESSSHELL:case u.FIREFOX:case u.CHROMIUM:throw new Error(`Default user dir detection is not supported for ${t} yet.`);case u.CHROME:return We(e,r)}}function ot(t,e,r){switch(t){case u.CHROMEDRIVER:case u.CHROMEHEADLESSSHELL:case u.FIREFOX:case u.CHROMIUM:throw new Error(`System browser detection is not supported for ${t} yet.`);case u.CHROME:return ke(e,r)}}function Re(t){return jt[t]}import R from"node:fs";import at from"node:os";import D from"node:path";import{debuglog as zt}from"node:util";var b={cache:"puppeteer:browsers:cache",fileUtil:"puppeteer:browsers:fileUtil",install:"puppeteer:browsers:install",launcher:"puppeteer:browsers:launcher"},J=t=>{let e=zt(t);return e.enabled?e:void 0};import Se from"node:os";function y(){let t=Se.platform(),e=Se.arch();switch(t){case"darwin":return e==="arm64"?s.MAC_ARM:s.MAC;case"linux":return e==="arm64"?s.LINUX_ARM:s.LINUX;case"win32":return e==="x64"||e==="arm64"&&qt(Se.release())?s.WIN64:s.WIN32;default:return}}function qt(t){let e=t.split(".");if(e.length>2){let r=parseInt(e[0],10),o=parseInt(e[1],10),a=parseInt(e[2],10);return r>10||r===10&&o>0||r===10&&o===0&&a>=22e3}return!1}var _=class{browser;buildId;platform;executablePath;#e;constructor(e,r,o,a){this.#e=e,this.browser=r,this.buildId=o,this.platform=a,this.executablePath=e.computeExecutablePath({browser:r,buildId:o,platform:a})}get path(){return this.#e.installationDir(this.browser,this.platform,this.buildId)}readMetadata(){return this.#e.readMetadata(this.browser)}writeMetadata(e){this.#e.writeMetadata(this.browser,e)}},C=class{#e;#r;constructor(e,r){this.#e=e,this.#r=r?.(b.cache)}get rootDir(){return this.#e}browserRoot(e){return D.join(this.#e,e)}metadataFile(e){return D.join(this.browserRoot(e),".metadata")}readMetadata(e){let r=this.metadataFile(e);if(!R.existsSync(r))return{aliases:{}};let o=JSON.parse(R.readFileSync(r,"utf8"));if(typeof o!="object")throw new Error(".metadata is not an object");return o}writeMetadata(e,r){let o=this.metadataFile(e);R.mkdirSync(D.dirname(o),{recursive:!0}),R.writeFileSync(o,JSON.stringify(r,null,2))}readExecutablePath(e,r,o){let a=this.readMetadata(e),i=`${r}-${o}`;return a.executablePaths?.[i]??null}writeExecutablePath(e,r,o,a){let i=this.readMetadata(e);i.executablePaths||(i.executablePaths={});let n=`${r}-${o}`;i.executablePaths[n]=a,this.writeMetadata(e,i)}resolveAlias(e,r){let o=this.readMetadata(e);return r==="latest"?Object.values(o.aliases||{}).sort(Re(e)).at(-1):o.aliases[r]}installationDir(e,r,o){return D.join(this.browserRoot(e),`${r}-${o}`)}clear(){R.rmSync(this.#e,{force:!0,recursive:!0,maxRetries:10,retryDelay:500})}uninstall(e,r,o){let a=this.readMetadata(e);for(let n of Object.keys(a.aliases))a.aliases[n]===o&&delete a.aliases[n];let i=`${r}-${o}`;a.executablePaths?.[i]&&(delete a.executablePaths[i],this.writeMetadata(e,a)),R.rmSync(this.installationDir(e,r,o),{force:!0,recursive:!0,maxRetries:10,retryDelay:500})}getInstalledBrowsers(){return R.existsSync(this.#e)?R.readdirSync(this.#e).filter(o=>Object.values(u).includes(o)).flatMap(o=>R.readdirSync(this.browserRoot(o)).map(i=>{let n=Kt(D.join(this.browserRoot(o),i));return n?new _(this,o,n.buildId,n.platform):null}).filter(i=>i!==null)):[]}computeExecutablePath(e){if(e.platform??=y(),!e.platform)throw new Error(`Cannot download a binary for the provided platform: ${at.platform()} (${at.arch()})`);try{e.buildId=this.resolveAlias(e.browser,e.buildId)??e.buildId}catch{this.#r?.("could not read .metadata file for the browser")}let r=this.installationDir(e.browser,e.platform,e.buildId),o=this.readExecutablePath(e.browser,e.platform,e.buildId);return o?D.join(r,o):D.join(r,U[e.browser](e.platform,e.buildId))}};function Kt(t){let r=D.basename(t).split("-");if(r.length!==2)return;let[o,a]=r;if(!(!a||!o))return{platform:o,buildId:a}}function re(t){if(t.cacheDir===null){if(t.platform??=y(),t.platform===void 0)throw new Error("No platform specified. Couldn't auto-detect browser platform.");return U[t.browser](t.platform,t.buildId)}return new C(t.cacheDir).computeExecutablePath(t)}function Ae(t,e=!0){if(t.platform??=y(),!t.platform)throw new Error(`Cannot download a binary for the provided platform: ${it.platform()} (${it.arch()})`);let r=ot(t.browser,t.platform,t.channel);for(let o of r)try{return Zt(o),o}catch{}if(!e)return r[0];throw new Error(`Could not find Google Chrome executable for channel '${t.channel}' at:${r.map(o=>`
7
+ - ${o}`)}.`)}function $e(t){return new ee({...t,logger:t.logger??J})}var er=/^DevTools listening on (ws:\/\/.*)$/,tr=/^WebDriver BiDi listening on (ws:\/\/.*)$/,N=new Map,nt={exit:(...t)=>{N.get("exit")?.forEach(e=>e(...t))},SIGINT:(...t)=>{N.get("SIGINT")?.forEach(e=>e(...t))},SIGHUP:(...t)=>{N.get("SIGHUP")?.forEach(e=>e(...t))},SIGTERM:(...t)=>{N.get("SIGTERM")?.forEach(e=>e(...t))}};function Z(t,e){let r=N.get(t)||[];r.length===0&&process.on(t,nt[t]),r.push(e),N.set(t,r)}function Q(t,e){let r=N.get(t)||[],o=r.indexOf(e);o!==-1&&(r.splice(o,1),N.set(t,r),r.length===0&&process.off(t,nt[t]))}var ee=class{#e;#r;#o;#t;#s=!1;#a=!1;#i=async()=>{};#c;#n=[];#u=1e3;#h=new Jt;#d=()=>{this.kill()};#l;constructor(e){if(this.#e=e.executablePath,this.#r=e.args??[],this.#o=e.logger?.(b.launcher),this.#l=e.signal,this.#l?.aborted)throw new Error(this.#l.reason?this.#l.reason:"Launch aborted");this.#l?.addEventListener("abort",this.#d,{once:!0}),e.pipe??=!1,e.dumpio??=!1,e.handleSIGINT??=!0,e.handleSIGTERM??=!0,e.handleSIGHUP??=!0,e.detached??=process.platform!=="win32";let r=this.#p({pipe:e.pipe}),o=e.env||{};this.#o?.(`Launching ${this.#e} ${this.#r.join(" ")}`,{detached:e.detached,env:Object.keys(o).reduce((a,i)=>(i.toLowerCase().startsWith("puppeteer_")&&(a[i]=o[i]),a),{}),stdio:r}),this.#t=st.spawn(this.#e,this.#r,{detached:e.detached,windowsHide:!0,env:o,stdio:r}),this.#x(this.#t.stderr),this.#x(this.#t.stdout),this.#o?.(`Launched ${this.#t.pid}`),e.dumpio&&(this.#t.stderr?.pipe(process.stderr),this.#t.stdout?.pipe(process.stdout)),Z("exit",this.#b),e.handleSIGINT&&Z("SIGINT",this.#f),e.handleSIGTERM&&Z("SIGTERM",this.#f),e.handleSIGHUP&&Z("SIGHUP",this.#f),e.onExit&&(this.#i=e.onExit),this.#c=new Promise((a,i)=>{this.#t.once("exit",async()=>{this.#o?.(`Browser process ${this.#t.pid} onExit`),this.#w(),this.#s=!0;try{await this.#m()}catch(n){i(n);return}a()})})}async#m(){this.#a||(this.#a=!0,await this.#i())}get nodeProcess(){return this.#t}#p(e){return e.pipe?["pipe","pipe","pipe","pipe","pipe"]:["pipe","pipe","pipe"]}#w(){Q("exit",this.#b),Q("SIGINT",this.#f),Q("SIGTERM",this.#f),Q("SIGHUP",this.#f),this.#l?.removeEventListener("abort",this.#d)}#b=e=>{this.kill()};#f=e=>{switch(e){case"SIGINT":this.kill(),process.exit(130);case"SIGTERM":case"SIGHUP":this.close();break}};async close(){return await this.#m(),this.#s||this.kill(),await this.#c}hasClosed(){return this.#c}kill(){if(this.#o?.(`Trying to kill ${this.#t.pid}`),this.#t&&this.#t.pid&&or(this.#t.pid))try{if(this.#o?.(`Browser process ${this.#t.pid} exists`),process.platform==="win32")try{st.execSync(`taskkill /pid ${this.#t.pid} /T /F`)}catch(e){this.#o?.(`Killing ${this.#t.pid} using taskkill failed`,e),this.#t.kill()}else{let e=-this.#t.pid;try{process.kill(e,"SIGKILL")}catch(r){this.#o?.(`Killing ${this.#t.pid} using process.kill failed`,r),this.#t.kill("SIGKILL")}}}catch(e){throw new Error(`${rr}
8
+ Error cause: ${lt(e)?e.stack:e}`)}this.#w()}#x(e){let r=Qt.createInterface(e),o=()=>{r.off("line",a),r.off("close",i);try{r.close()}catch{}},a=n=>{if(n.trim()==="")return;this.#n.push(n);let l=this.#n.length-this.#u;l&&this.#n.splice(0,l),this.#h.emit("line",n)},i=()=>{o()};r.on("line",a),r.on("close",i)}getRecentLogs(){return[...this.#n]}waitForLineOutput(e,r=0){return new Promise((o,a)=>{let i=f=>{l(),a(new Error([`Failed to launch the browser process: ${f instanceof Error?` ${f.message}`:` Code: ${f}`}`,"","stderr:",this.getRecentLogs().join(`
9
+ `),"","TROUBLESHOOTING: https://pptr.dev/troubleshooting",""].join(`
10
+ `)))};this.#t.on("exit",i),this.#t.on("error",i);let n=r>0?setTimeout(c,r):void 0;this.#h.on("line",d);let l=()=>{clearTimeout(n),this.#h.off("line",d),this.#t.off("exit",i),this.#t.off("error",i)};function c(){l(),a(new te(`Timed out after ${r} ms while waiting for the WS endpoint URL to appear in stdout!`))}for(let f of this.#n)d(f);function d(f){let p=f.match(e);p&&(l(),o(p[1]))}})}},rr=`Puppeteer was unable to kill the process which ran the browser binary.
11
+ This means that, on future Puppeteer launches, Puppeteer might not be able to launch the browser.
12
+ Please check your open processes and ensure that the browser processes that Puppeteer launched have been killed.
13
+ If you think this is a bug, please report it on the Puppeteer issue tracker.`;function or(t){try{return process.kill(t,0)}catch(e){if(ar(e)&&e.code&&e.code==="ESRCH")return!1;throw e}}function lt(t){return typeof t=="object"&&t!==null&&"name"in t&&"message"in t}function ar(t){return lt(t)&&("errno"in t||"code"in t||"path"in t||"syscall"in t)}var te=class extends Error{constructor(e){super(e),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor)}};import gr from"node:assert";import{spawnSync as Ne}from"node:child_process";import{existsSync as A,readFileSync as Cr}from"node:fs";import{mkdir as mt,unlink as Rr}from"node:fs/promises";import L from"node:os";import H from"node:path";var S=class{#e;constructor(e){this.#e=e}supports(e){return!0}getDownloadUrl(e){return this.#r(e.browser,e.platform,e.buildId)}#r(e,r,o){return new URL(K[e](r,o,this.#e))}getExecutablePath(e){return U[e.browser](e.platform,e.buildId)}getName(){return"DefaultProvider"}};import{spawnSync as sr,spawn as ir,execFile as nr}from"node:child_process";import{constants as lr,createReadStream as cr,createWriteStream as ur}from"node:fs";import{mkdir as oe,readdir as hr,symlink as dr}from"node:fs/promises";import*as v from"node:path";import{Stream as fr,Writable as mr}from"node:stream";import{pipeline as ct}from"node:stream/promises";import{promisify as De}from"node:util";var M=De(nr);async function ht(t,e,r){if(v.isAbsolute(e)||(e=v.resolve(process.cwd(),e)),t.endsWith(".zip"))await oe(e,{recursive:!0}),await xr(t,e,r);else if(t.endsWith(".tar.bz2"))await ut(t,e,"bzip2",r);else if(t.endsWith(".dmg"))await oe(e),await br(t,e);else if(t.endsWith(".exe")){let o=sr(t,[`/ExtractDir=${e}`],{env:{__compat_layer:"RunAsInvoker"}});if(o.status!==0)throw new Error(`Failed to extract ${t} to ${e}: ${o.output}`)}else if(t.endsWith(".tar.xz"))await ut(t,e,"xz");else throw new Error(`Unsupported archive format: ${t}`)}function pr(t){let e=new fr.Transform({transform(r,o,a){t.stdin.write(r,o)?a():t.stdin.once("drain",a)},flush(r){t.stdout.destroyed?r():(t.stdin.end(),t.stdout.on("close",r))}});return t.stdin.on("error",r=>{"code"in r&&r.code==="EPIPE"?e.emit("end"):e.destroy(r)}),t.stdout.on("data",r=>e.push(r)).on("error",r=>e.destroy(r)),t.once("close",()=>e.end()),e}var wr={xz:"xz",bzip2:"bzip2"};async function ut(t,e,r,o){let{unpackTar:a}=await import("./chunk-QR6A54KJ.mjs");return await new Promise((i,n)=>{function l(f){return p=>{"code"in p&&p.code==="ENOENT"&&(p=new Error(`\`${f}\` utility is required to unpack this archive`,{cause:p})),n(p)}}let c=ir(wr[r],["-d"],{stdio:["pipe","pipe","inherit"]}).once("error",l(r)).once("exit",f=>{o?.(b.fileUtil)?.(`${r} exited, code=${f}`)}),d=a(e);d.once("error",l("tar")),d.once("finish",i),cr(t).pipe(pr(c)).pipe(d)})}async function br(t,e){let{stdout:r}=await M("hdiutil",["attach","-nobrowse","-noautoopen",t]),o=r.match(/\/Volumes\/(.*)/m);if(!o)throw new Error(`Could not find volume path in ${r}`);let a=o[0];try{let n=(await hr(a)).find(c=>typeof c=="string"&&c.endsWith(".app"));if(!n)throw new Error(`Cannot find app in ${a}`);let l=v.join(a,n);await M("cp",["-R",l,e])}finally{await M("hdiutil",["detach",a,"-quiet"])}}var j=class extends Error{};async function xr(t,e,r){for(let o of[Ir,Er])try{await o(t,e,r);return}catch(a){if(!(a instanceof j))throw a}throw new Error("Extraction failed: no zip archiver is available. Install `unzip` (or `tar.exe`/Powershell on Windows), or add the optional `yauzl` dependency.")}async function Er(t,e,r){let{default:o}=await import("yauzl").catch(()=>{throw new j("Extraction failed: The optional `yauzl` dependency is not installed.")}),a=De(o.open);try{let i=await a(t,{lazyEntries:!0});await new Promise((n,l)=>{i.on("error",l).on("end",n).on("entry",c=>{yr(i,c,e).then(()=>{i.readEntry()},l)}).readEntry()})}catch(i){throw new Error(`Extraction failed: ${t}`,{cause:i})}}async function Ir(t,e,r){try{if(process.platform==="win32"){let o=process.env.SystemRoot??process.env.SYSTEMROOT??"C:\\Windows";try{let a=`${o}\\System32\\tar.exe`;await M(a,["-xf",t,"-C",e]);return}catch(a){r?.(b.fileUtil)?.(`tar.exe extraction failed: ${a}`)}try{await M("powershell.exe",["-NoProfile","-NonInteractive","-Command","& { Expand-Archive -LiteralPath $args[0] -DestinationPath $args[1] -Force }",t,e]);return}catch(a){r?.(b.fileUtil)?.(`powershell.exe extraction failed: ${a}`)}await M("pwsh.exe",["-NoProfile","-NonInteractive","-Command","& { Expand-Archive -LiteralPath $args[0] -DestinationPath $args[1] -Force }",t,e])}else await M("unzip",["-o",t,"-d",e])}catch(o){throw o?.code==="ENOENT"?new j("Extraction failed: Required native binary ('tar.exe', 'powershell.exe', 'pwsh.exe' or 'unzip') was not found in the system PATH."):new Error(`Extraction failed: ${o?.stderr?.toString()||o?.message}`)}}function vr(t,e){let r=v.resolve(t),o=v.resolve(e);return o===r||o.startsWith(r+v.sep)}async function yr(t,e,r){let{S_IFMT:o,S_IFDIR:a,S_IFLNK:i}=lr,n=e.externalFileAttributes>>>16,l=(n&o)===a||e.fileName.endsWith("/")||e.versionMadeBy>>8===0&&e.externalFileAttributes===16,c=(n&o)===i,d=n===0?l?493:420:n&511,f=v.join(r,e.fileName);if(l){await oe(f,{recursive:!0,mode:d});return}await oe(v.dirname(f),{recursive:!0});let p=await De(t.openReadStream.bind(t))(e);if(c){let E=[];await ct(p,new mr({write(Te,Wr,It){Te instanceof Buffer&&E.push(Te),It()}}));let P=Buffer.concat(E).toString(),Et=v.resolve(v.dirname(f),P);if(!vr(r,Et))throw new Error(`Zip symlink "${e.fileName}" would point outside of the target directory.`);await dr(P,f);return}await ct(p,ur(f,{mode:d}))}var V=null,ae=class t{#e;#r=0;#o=0;#t=[];#s=!1;#a=0;#i=!1;constructor(e){this.#e=e}static createBarTicker(e,r,o=process.stderr){return(!V||V.#e!==o)&&(V=new t(o)),V.#n(e,r)}#c(){let e=this.#r++;return e>0&&this.#e.isTTY&&this.#e.write(`
14
+ `),e}#n(e,r){let o=this.#c();this.#t.push({title:e,total:r,downloaded:0,startTime:0,lastRendered:""});let a=!1;return i=>{let n=this.#t[o];n.startTime===0&&(n.startTime=Date.now()),n.downloaded+=i;let l=n.downloaded>=n.total;(l||Date.now()-this.#a>=100)&&this.#u(),l&&!a&&(a=!0,this.#l())}}#u(){this.#s||(this.#s=!0,queueMicrotask(()=>{this.#s=!1,this.#a=Date.now(),this.#d()}))}#h(e){let r=this.#t[e],o=Math.min(1,Math.max(0,r.downloaded/r.total)),a=Math.round(o*100),i=r.startTime>0?Date.now()-r.startTime:0,n=i>0?r.downloaded/i:0,l=n>0?(r.total-r.downloaded)/n/1e3:0,c=20,d=Math.round(c*o),f="=".repeat(d)+" ".repeat(c-d),p=o>=1?"unpacking":`${a}% ${l.toFixed(1)}s`;return`${r.title} [${f}] ${p} `}#d(){if(!this.#e.isTTY)return;let e=this.#r;if(e!==0){e>1&&this.#e.moveCursor(0,-(e-1));for(let r=0;r<e;r++){let o=this.#h(r);o!==this.#t[r].lastRendered&&(this.#e.cursorTo(0),this.#e.write(o),this.#e.clearLine(1),this.#t[r].lastRendered=o),r<e-1&&this.#e.moveCursor(0,1)}this.#e.cursorTo(0),this.#i&&(V=null,this.#e.write(`
15
+ `))}}#l(){this.#o++,this.#o>=this.#r&&this.#r>0&&(this.#i=!0)}};var pt=new Map;function se(t){pt.set(t,process.hrtime())}function ie(t,e){let r=process.hrtime(),o=pt.get(t);if(!o)return;let a=r[0]*1e3+r[1]/1e6-(o[0]*1e3+o[1]/1e6);e?.(b.install)?.(`Duration for ${t}: ${a}ms`)}var B=class extends Error{};async function Sr(t){if(!t.platform)throw new Error("Platform must be defined");let e=t.logger,o=new C(t.cacheDir,t.logger).browserRoot(t.browser),a=[...t.providers||[]];t.baseUrl&&a.push(new S(t.baseUrl)),(!t.baseUrl||t.forceFallbackForTesting)&&a.push(new S);let i={browser:t.browser,platform:t.platform,buildId:t.buildId,progressCallback:t.downloadProgressCallback==="default"?await wt(t.browser,t.buildIdAlias??t.buildId):t.downloadProgressCallback},n=[];for(let d of a)try{if(!await d.supports(i)){e?.(b.install)?.(`Provider ${d.getName()} does not support ${t.browser} on ${t.platform}`);continue}d instanceof S||(e?.(b.install)?.(`\u26A0\uFE0F Using custom downloader: ${d.getName()}`),e?.(b.install)?.("\u26A0\uFE0F Puppeteer does not guarantee compatibility with non-default providers")),e?.(b.install)?.(`Trying provider: ${d.getName()} for ${t.browser} ${t.buildId}`);let f=await d.getDownloadUrl(i);if(!f){e?.(b.install)?.(`Provider ${d.getName()} returned no URL for ${t.browser} ${t.buildId}`);continue}return e?.(b.install)?.(`Successfully got URL from ${d.getName()}: ${f}`),A(o)||await mt(o,{recursive:!0}),await Ar(f,t,d,e)}catch(f){e?.(b.install)?.(`Provider ${d.getName()} failed: ${f.message}`),n.push({providerName:d.getName(),error:f})}let l=n.map(d=>` - ${d.providerName}: ${d.error.message}`).join(`
16
+ `),c=`All providers failed for ${t.browser} ${t.buildId}:
17
+ ${l}`;throw n.length>0&&n.every(d=>d.error instanceof B)?new B(c):new Error(c)}async function Le(t){if(t.platform??=y(),t.unpack??=!0,t.logger??=J,!t.platform)throw new Error(`Cannot download a binary for the provided platform: ${L.platform()} (${L.arch()})`);return t.providers??=[],await Sr(t)}async function dt(t,e){if(process.platform!=="linux"||t.platform!==s.LINUX&&t.platform!==s.LINUX_ARM)return;let r=H.join(H.dirname(t.executablePath),"deb.deps");if(!A(r)){e?.(b.install)?.(`deb.deps file was not found at ${r}`);return}let o=Cr(r,"utf-8").split(`
18
+ `).join(",");if(process.getuid?.()!==0)throw new Error("Installing system dependencies requires root privileges");let a=Ne("apt-get",["-v"]);if(a.status!==0)throw new Error("Failed to install system dependencies: apt-get does not seem to be available");if(e?.(b.install)?.(`Trying to install dependencies: ${o}`),a=Ne("apt-get",["satisfy","-y",o,"--no-install-recommends"]),a.status!==0)throw new Error(`Failed to install system dependencies: status=${a.status},error=${a.error},stdout=${a.stdout.toString("utf8")},stderr=${a.stderr.toString("utf8")}`);e?.(b.install)?.(`Installed system dependencies ${o}`)}async function Ar(t,e,r,o){if(!r)throw new Error("Provider is required for installation");if(e.platform??=y(),!e.platform)throw new Error(`Cannot download a binary for the provided platform: ${L.platform()} (${L.arch()})`);let a=e.downloadProgressCallback;a==="default"&&(a=await wt(e.browser,e.buildIdAlias??e.buildId));let i=decodeURIComponent(t.toString()).split("/").pop();gr(i,`A malformed download URL was found: ${t}.`);let n=new C(e.cacheDir,e.logger),l=n.browserRoot(e.browser),c=H.join(l,`${e.buildId}-${i}`);if(A(l)||await mt(l,{recursive:!0}),e.expectedHash&&o?.(b.install)?.(`Using provided checksum for ${i}: ${e.expectedHash}`),!e.unpack)return A(c)||(o?.(b.install)?.(`Downloading binary from ${t}`),se("download"),await le(t,c,a,e.expectedHash),ie("download",o)),c;let d=n.installationDir(e.browser,e.platform,e.buildId),f=await r.getExecutablePath({browser:e.browser,buildId:e.buildId,platform:e.platform});o?.(b.install)?.(`Using executable path from provider: ${f}`);let p=new _(n,e.browser,e.buildId,e.platform);r instanceof S||n.writeExecutablePath(e.browser,e.platform,e.buildId,f);try{if(A(d)){if(!A(p.executablePath))throw new B(`The browser folder (${d}) exists but the executable (${p.executablePath}) is missing. An earlier install of this build probably did not finish. Delete ${d} and install the browser again.`);return await ft(p,o),e.installDeps&&await dt(p,o),p}if(A(c))o?.(b.install)?.(`Using existing archive at ${c}`);else{o?.(b.install)?.(`Downloading binary from ${t}`);try{se("download"),await le(t,c,a,e.expectedHash)}finally{ie("download",o)}}o?.(b.install)?.(`Installing ${c} to ${d}`);try{se("extract"),await ht(c,d,e.logger)}finally{ie("extract",o)}if(e.buildIdAlias){let E=p.readMetadata();E.aliases[e.buildIdAlias]=e.buildId,p.writeMetadata(E)}return await ft(p,o),e.installDeps&&await dt(p,o),p}finally{A(c)&&await Rr(c)}}async function ft(t,e){if((t.platform===s.WIN32||t.platform===s.WIN64)&&t.browser===u.CHROME&&t.platform===y())try{se("permissions");let r=H.dirname(t.executablePath),o=H.join(r,"setup.exe");if(!A(o))return;Ne(H.join(r,"setup.exe"),["--configure-browser-in-directory="+r],{shell:!1})}finally{ie("permissions",e)}}async function $r(t){if(t.platform??=y(),!t.platform)throw new Error(`Cannot detect the browser platform for: ${L.platform()} (${L.arch()})`);new C(t.cacheDir).uninstall(t.browser,t.platform,t.buildId)}async function Dr(t){return new C(t.cacheDir).getInstalledBrowsers()}async function Nr(t){if(t.platform??=y(),!t.platform)throw new Error(`Cannot download a binary for the provided platform: ${L.platform()} (${L.arch()})`);let e=[...t.providers||[],new S(t.baseUrl)],r={browser:t.browser,platform:t.platform,buildId:t.buildId};for(let o of e){if(!await o.supports(r))continue;let a=await o.getDownloadUrl(r);if(a&&await Oe(a))return!0}return!1}function Lr(t,e,r,o){return new URL(K[t](e,r,o))}async function wt(t,e){let r,o=0;return(a,i)=>{r||(r=ae.createBarTicker(`Downloading ${t} ${e} - ${Pr(i)}`,i));let n=a-o;o=a,r(n)}}function Pr(t){let e=t/1e3/1e3;return`${Math.round(e*10)/10} MB`}import{spawn as Tr}from"node:child_process";import bt from"node:fs";import Mr from"node:os";import Br from"node:path";import{stdin as Or,stdout as Ur}from"node:process";import*as xt from"node:readline";function _r(t){return Object.values(u).includes(t)}function Hr(t){return Object.values(s).includes(t)}var Fr="3.2.3",Pe=class{#e;#r;#o;#t;#s;#a;#i;constructor(e,r){e||(e={}),typeof e=="string"&&(e={cachePath:e}),this.#e=e.cachePath??process.cwd(),this.#r=r,this.#o=e.scriptName??"@puppeteer/browsers",this.#t=e.version??Fr,this.#s=e.allowCachePathOverride??!0,this.#a=e.pinnedBrowsers,this.#i=e.prefixCommand}#c(e,r){return e.positional("browser",{description:"Which browser to install <browser>[@<buildId|latest>]. `latest` will try to find the latest available build. `buildId` is a browser-specific identifier such as a version or a revision.",type:"string",coerce:o=>{let a={name:this.#d(o),buildId:this.#l(o)};if(!_r(a.name))throw new Error(`Unsupported browser '${a.name}'`);return a},demandOption:r})}#n(e){return e.option("platform",{type:"string",desc:"Platform that the binary needs to be compatible with.",choices:Object.values(s),default:y(),coerce:r=>{if(!Hr(r))throw new Error(`Unsupported platform '${r}'`);return r},defaultDescription:"Auto-detected"})}#u(e,r=!1){return this.#s?e.option("path",{type:"string",desc:"Path to the root folder for the browser downloads and installation. If a relative path is provided, it will be resolved relative to the current working directory. The installation folder structure is compatible with the cache structure used by Puppeteer.",defaultDescription:"Current working directory",...r?{}:{default:process.cwd()},demandOption:r}):e}async run(e){let{default:r}=await import("./chunk-C564NU2H.mjs"),{hideBin:o}=await import("./chunk-4K5KC6V2.mjs"),a=r(o(e)),i=a.scriptName(this.#o).version(this.#t);this.#i?i=i.command(this.#i.cmd,this.#i.description,n=>this.#h(n)):i=this.#h(i),await i.demandCommand(1).help().wrap(Math.min(120,a.terminalWidth())).parseAsync()}#h(e){let r=this.#a?"pinned":"latest",o=this.#a?"[browser]":"<browser>";return e.command(`install ${o}`,"Download and install the specified browser. If successful, the command outputs the actual browser buildId that was installed and the absolute path to the browser executable (see --format).",a=>{this.#a&&a.example("$0 install","Install all pinned browsers"),a.example("$0 install chrome",`Install the ${r} available build of the Chrome browser.`).example("$0 install chrome@latest","Install the latest available build for the Chrome browser.").example("$0 install chrome@stable","Install the latest available build for the Chrome browser from the stable channel.").example("$0 install chrome@beta","Install the latest available build for the Chrome browser from the beta channel.").example("$0 install chrome@dev","Install the latest available build for the Chrome browser from the dev channel.").example("$0 install chrome@canary","Install the latest available build for the Chrome Canary browser.").example("$0 install chrome@115","Install the latest available build for Chrome 115.").example("$0 install chromedriver@canary","Install the latest available build for ChromeDriver Canary.").example("$0 install chromedriver@115","Install the latest available build for ChromeDriver 115.").example("$0 install chromedriver@115.0.5790","Install the latest available patch (115.0.5790.X) build for ChromeDriver.").example("$0 install chrome-headless-shell","Install the latest available chrome-headless-shell build.").example("$0 install chrome-headless-shell@beta","Install the latest available chrome-headless-shell build corresponding to the Beta channel.").example("$0 install chrome-headless-shell@118","Install the latest available chrome-headless-shell 118 build.").example("$0 install chromium@1083080","Install the revision 1083080 of the Chromium browser.").example("$0 install firefox","Install the latest nightly available build of the Firefox browser.").example("$0 install firefox@stable","Install the latest stable build of the Firefox browser.").example("$0 install firefox@beta","Install the latest beta build of the Firefox browser.").example("$0 install firefox@devedition","Install the latest devedition build of the Firefox browser.").example("$0 install firefox@esr","Install the latest ESR build of the Firefox browser.").example("$0 install firefox@nightly","Install the latest nightly build of the Firefox browser.").example("$0 install firefox@stable_111.0.1","Install a specific version of the Firefox browser.").example("$0 install firefox --platform mac","Install the latest Mac (Intel) build of the Firefox browser."),this.#s&&a.example("$0 install firefox --path /tmp/my-browser-cache","Install to the specified cache directory.");let i=this.#c(a,!this.#a),n=this.#n(i);return this.#u(n,!1).option("base-url",{type:"string",desc:"Base URL to download from"}).option("install-deps",{type:"boolean",desc:"Whether to attempt installing system dependencies (only supported on Linux, requires root privileges).",default:!1}).option("format",{type:"string",desc:"Format to use for the output. Supported placeholders: {{browser}}, {{buildId}}, {{path}}, {{platform}}",default:"{{browser}}@{{buildId}} {{path}}"})},async a=>{if(this.#a&&!a.browser){let i=await Promise.allSettled(Object.entries(this.#a).map(async([n,l])=>{l.skipDownload||await this.#p({...a,browser:{name:n,buildId:l.buildId}})}));for(let n of i)if(n.status==="rejected")throw n.reason}else await this.#p(a)}).command("launch <browser>","Launch the specified browser",a=>{a.example("$0 launch chrome@115.0.5790.170","Launch Chrome 115.0.5790.170").example("$0 launch firefox@112.0a1","Launch the Firefox browser identified by the milestone 112.0a1.").example("$0 launch chrome@115.0.5790.170 --detached","Launch the browser but detach the sub-processes.").example("$0 launch chrome@canary --system","Try to locate the Canary build of Chrome installed on the system and launch it.").example("$0 launch chrome@115.0.5790.170 -- --version","Launch Chrome 115.0.5790.170 and pass custom argument to the binary.");let i=a.parserConfiguration({"populate--":!0}),n=this.#c(i,!0),l=this.#n(n);return this.#u(l).option("detached",{type:"boolean",desc:"Detach the child process.",default:!1}).option("system",{type:"boolean",desc:"Search for a browser installed on the system instead of the cache folder.",default:!1}).option("dumpio",{type:"boolean",desc:"Forwards the browser's process stdout and stderr",default:!1})},async a=>{let i=a["--"]?.filter(l=>typeof l=="string");a.browser.buildId=this.#m(a.browser.buildId,a.browser.name);let n=a.system?Ae({browser:a.browser.name,channel:ue(a.browser.buildId),platform:a.platform}):re({browser:a.browser.name,buildId:a.browser.buildId,cacheDir:a.path??this.#e,platform:a.platform});$e({args:i,executablePath:n,dumpio:a.dumpio,detached:a.detached})}).command("clear",this.#s?"Removes all installed browsers from the specified cache directory":`Removes all installed browsers from ${this.#e}`,a=>this.#u(a,!0),async a=>{let i=a.path??this.#e,n=this.#r??xt.createInterface({input:Or,output:Ur});n.question(`Do you want to permanently and recursively delete the content of ${i} (yes/No)? `,l=>{if(n.close(),!["y","yes"].includes(l.toLowerCase().trim())){console.log("Cancelled.");return}new C(i).clear(),console.log(`${i} cleared.`)})}).command("list","List all installed browsers in the cache directory",a=>(a.example("$0 list","List all installed browsers in the cache directory"),this.#s&&a.example("$0 list --path /tmp/my-browser-cache","List browsers installed in the specified cache directory"),this.#u(a)),async a=>{let i=a.path??this.#e,l=new C(i).getInstalledBrowsers();for(let c of l)console.log(`${c.browser}@${c.buildId} (${c.platform}) ${c.executablePath}`)}).command("bisect <path>","(experimental) Bisect Chrome for Testing using the specified script. Downloads https://chromium.googlesource.com/chromium/src.git/+/main/tools/bisect-builds.py to ~/bisect-builds.py if needed.",a=>a.positional("path",{type:"string",description:"Path to a script or test name to bisect.",demandOption:!0}).option("good",{type:"string",alias:"g",demandOption:!0,desc:"Last known good version"}).option("bad",{type:"string",alias:"b",demandOption:!0,desc:"First known bad version"}).option("cft",{type:"boolean",desc:"Use -cft",default:!0}),async a=>{let n=a.path.endsWith(".mjs")||a.path.endsWith(".cjs")||a.path.endsWith(".js")?`PUPPETEER_EXECUTABLE_PATH=%p node ${a.path}`:`BINARY=%p npm run ${a.path}`,l=Br.join(Mr.homedir(),"bisect-builds.py");if(!bt.existsSync(l)){console.log("Downloading bisect-builds.py...");let f=await fetch("https://chromium.googlesource.com/chromium/src.git/+/main/tools/bisect-builds.py?format=TEXT");if(!f.ok)throw new Error(`Failed to download bisect-builds.py: ${f.statusText}`);let p=await f.text(),E=Buffer.from(p,"base64").toString("utf-8");bt.writeFileSync(l,E,{mode:493}),console.log(`Saved bisect-builds.py to ${l}`)}let c="python3",d=[l,"-g",a.good,"-b",a.bad,a.cft?"-cft":"-s","-v","--verify-range","--not-interactive","-c",n];await new Promise((f,p)=>{let E=Tr(c,d,{stdio:"inherit"});E.on("error",P=>{p(P)}),E.on("exit",P=>{P!==0?p(new Error(`Process exited with code ${P}`)):f()})})}).demandCommand(1).help()}#d(e){return e.split("@").shift()}#l(e){let r=e.split("@");return r.length===2?r[1]:this.#a?"pinned":"latest"}#m(e,r){if(e==="pinned"){let o=this.#a?.[r];if(!o||!o.buildId)throw new Error(`No pinned version found for ${r}`);return o.buildId}return e}async#p(e){if(!e.browser)throw new Error("No browser arg provided");if(!e.platform)throw new Error("Could not resolve the current platform");e.browser.buildId=this.#m(e.browser.buildId,e.browser.name);let r=e.browser.buildId;e.browser.buildId=await Ce(e.browser.name,e.platform,e.browser.buildId);try{await Le({browser:e.browser.name,buildId:e.browser.buildId,platform:e.platform,cacheDir:e.path??this.#e,downloadProgressCallback:"default",baseUrl:e.baseUrl,buildIdAlias:r!==e.browser.buildId?r:void 0,installDeps:e.installDeps})}catch(a){if(!(a instanceof B))throw a;let i=this.#i?`${this.#o} ${this.#i.cmd}`:this.#o;throw new Error(`${a.message}
19
+ You can also empty the whole browser cache with \`npx ${i} clear\` and then run \`npx ${i} install\` again.`,{cause:a})}let o=re({browser:e.browser.name,buildId:e.browser.buildId,cacheDir:e.path??this.#e,platform:e.platform});console.log(e.format.replace(/{{browser}}/g,e.browser.name).replace(/{{buildId}}/g,e.browser.buildId).replace(/{{path}}/g,o).replace(/{{platform}}/g,e.platform))}};function kr(t,e,r,o="zip"){return`${t}-${e}-${r}.${o}`}export{u as a,s as b,h as c,m as d,Ce as e,Xt as f,Yt as g,Re as h,y as i,_ as j,C as k,re as l,Ae as m,$e as n,er as o,tr as p,ee as q,te as r,S as s,Le as t,$r as u,Dr as v,Nr as w,Lr as x,Pe as y,kr as z};