@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,27 @@
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{$ as cr,$a as Ai,A as P,Aa as lr,Ab as pr,B as q,Bb as Gi,C as Ct,Ca as Oi,Cb as Xi,D as hi,Dc as rn,F as pi,Fb as Ji,G as fi,Gb as Yi,H as ne,I as b,Ib as Zi,J as Ne,K as mi,La as E,Ma as j,N as _e,Na as Ni,Nb as Qi,Oa as _i,P as gi,Pa as fe,Q as Et,Qa as Bi,S as wi,Sb as en,T as yi,U as vi,V as xi,Z as Be,_a as Fi,a as or,aa as bi,b as re,ca as Ci,cb as oe,d as Re,db as Ui,e as Oe,ea as J,f as Ze,fa as Ei,fb as hr,g as ci,gb as Li,ha as dr,ia as Si,ib as Mi,j as di,ja as Fe,jb as qi,k as ui,kb as ji,la as Pi,mb as $i,n as li,na as ki,nb as ae,o as ar,oa as Ii,ob as Hi,p as ie,pa as Di,pb as zi,q as bt,qa as St,ra as Ti,sb as Wi,sc as tn,t as D,tc as sn,va as Pt,w as L,wa as Ri,wb as Ki,xb as Vi,ya as ur,yb as Qe,zb as et}from"./chunk-7DTINW6U.mjs";import"./chunk-YEY3RSFQ.mjs";import"./chunk-UH4SIXTR.mjs";import"./chunk-Y34NR5JL.mjs";import{b as xt,c as T}from"./chunk-W7XHE4CT.mjs";import{d as ai}from"./chunk-5L7RYZCL.mjs";var Ve={};ai(Ve,{BidiServer:()=>Fs,EventEmitter:()=>K,OutgoingMessage:()=>X});function nn(n){return{all:n=n||new Map,on:function(e,t){var s=n.get(e);s?s.push(t):n.set(e,[t])},off:function(e,t){var s=n.get(e);s&&(t?s.splice(s.indexOf(t)>>>0,1):n.set(e,[]))},emit:function(e,t){var s=n.get(e);s&&s.slice().map(function(r){r(t)}),(s=n.get("*"))&&s.slice().map(function(r){r(e,t)})}}}var K=class{#e=nn();on(e,t){return this.#e.on(e,t),this}once(e,t){let s=r=>{t(r),this.off(e,s)};return this.on(e,s)}off(e,t){return this.#e.off(e,t),this}emit(e,t){this.#e.emit(e,t)}removeAllListeners(e){return e?this.#e.all.delete(e):this.#e.all.clear(),this}};var S;(function(n){n.bidi="bidi",n.cdp="cdp",n.debug="debug",n.debugError="debug:error",n.debugInfo="debug:info",n.debugWarn="debug:warn"})(S||(S={}));var on,tt=class{static LOGGER_PREFIX=`${S.debug}:queue`;#e;#t;#s=[];#r=!1;constructor(e,t){this.#t=e,this.#e=t}add(e,t){this.#s.push([e,t]),this.#i()}async#i(){if(!this.#r){for(this.#r=!0;this.#s.length>0;){let e=this.#s.shift();if(!e)continue;let[t,s]=e;this.#e?.(on.LOGGER_PREFIX)?.("Processing event:",s),await t.then(r=>{if(r.kind==="error"){this.#e?.(S.debugError)?.("Event threw before sending:",r.error.message,r.error.stack);return}return this.#t(r.value)}).catch(r=>{this.#e?.(S.debugError)?.("Event was not processed:",r?.message)})}this.#r=!1}}};on=tt;var C={};ai(C,{BiDiModule:()=>kt,Bluetooth:()=>Ae,BrowsingContext:()=>Tt,EVENT_NAMES:()=>ro,Input:()=>Rt,Log:()=>Dt,Network:()=>Ot,Script:()=>It,Speculation:()=>Ue});var kt;(function(n){n.Bluetooth="bluetooth",n.Browser="browser",n.BrowsingContext="browsingContext",n.Cdp="goog:cdp",n.Input="input",n.Log="log",n.Network="network",n.Script="script",n.Session="session",n.Speculation="speculation"})(kt||(kt={}));var It;(function(n){let e;(function(t){t.Message="script.message",t.RealmCreated="script.realmCreated",t.RealmDestroyed="script.realmDestroyed"})(e=n.EventNames||(n.EventNames={}))})(It||(It={}));var Dt;(function(n){let e;(function(t){t.LogEntryAdded="log.entryAdded"})(e=n.EventNames||(n.EventNames={}))})(Dt||(Dt={}));var Tt;(function(n){let e;(function(t){t.ContextCreated="browsingContext.contextCreated",t.ContextDestroyed="browsingContext.contextDestroyed",t.DomContentLoaded="browsingContext.domContentLoaded",t.DownloadEnd="browsingContext.downloadEnd",t.DownloadWillBegin="browsingContext.downloadWillBegin",t.FragmentNavigated="browsingContext.fragmentNavigated",t.HistoryUpdated="browsingContext.historyUpdated",t.Load="browsingContext.load",t.NavigationAborted="browsingContext.navigationAborted",t.NavigationCommitted="browsingContext.navigationCommitted",t.NavigationFailed="browsingContext.navigationFailed",t.NavigationStarted="browsingContext.navigationStarted",t.UserPromptClosed="browsingContext.userPromptClosed",t.UserPromptOpened="browsingContext.userPromptOpened"})(e=n.EventNames||(n.EventNames={}))})(Tt||(Tt={}));var Rt;(function(n){let e;(function(t){t.FileDialogOpened="input.fileDialogOpened"})(e=n.EventNames||(n.EventNames={}))})(Rt||(Rt={}));var Ot;(function(n){let e;(function(t){t.AuthRequired="network.authRequired",t.BeforeRequestSent="network.beforeRequestSent",t.FetchError="network.fetchError",t.ResponseCompleted="network.responseCompleted",t.ResponseStarted="network.responseStarted"})(e=n.EventNames||(n.EventNames={}))})(Ot||(Ot={}));var Ae;(function(n){let e;(function(t){t.RequestDevicePromptUpdated="bluetooth.requestDevicePromptUpdated",t.GattConnectionAttempted="bluetooth.gattConnectionAttempted",t.CharacteristicEventGenerated="bluetooth.characteristicEventGenerated",t.DescriptorEventGenerated="bluetooth.descriptorEventGenerated"})(e=n.EventNames||(n.EventNames={}))})(Ae||(Ae={}));var Ue;(function(n){let e;(function(t){t.PrefetchStatusUpdated="speculation.prefetchStatusUpdated"})(e=n.EventNames||(n.EventNames={}))})(Ue||(Ue={}));var ro=new Set([...Object.values(kt),...Object.values(Ae.EventNames),...Object.values(Tt.EventNames),...Object.values(Rt.EventNames),...Object.values(Dt.EventNames),...Object.values(Ot.EventNames),...Object.values(It.EventNames),...Object.values(Ue.EventNames)]);var F=class extends Error{error;message;stacktrace;constructor(e,t,s){super(),this.error=e,this.message=t,this.stacktrace=s}toErrorResponse(e){return{type:"error",id:e,error:this.error,message:this.message,stacktrace:this.stacktrace}}},x=class extends F{constructor(e,t){super("invalid argument",e,t)}},xe=class extends F{constructor(e,t){super("invalid selector",e,t)}};var st=class extends F{constructor(e,t){super("move target out of bounds",e,t)}},Nt=class extends F{constructor(e,t){super("no such alert",e,t)}},ce=class extends F{constructor(e,t){super("no such element",e,t)}},V=class extends F{constructor(e,t){super("no such frame",e,t)}},rt=class extends F{constructor(e,t){super("no such handle",e,t)}},_t=class extends F{constructor(e,t){super("no such history entry",e,t)}},Bt=class extends F{constructor(e,t){super("no such intercept",e,t)}},Y=class extends F{constructor(e,t){super("no such node",e,t)}},Le=class extends F{constructor(e,t){super("no such request",e,t)}},it=class extends F{constructor(e,t){super("no such script",e,t)}},G=class extends F{constructor(e,t){super("no such user context",e,t)}};var Ft=class extends F{constructor(e,t){super("unknown command",e,t)}},O=class extends F{constructor(e,t=new Error().stack){super("unknown error",e,t)}},nt=class extends F{constructor(e,t){super("unable to capture screen",e,t)}};var R=class extends F{constructor(e,t){super("unsupported operation",e,t)}};var At=class extends F{constructor(e,t){super("unable to set cookie",e,t)}},be=class extends F{constructor(e,t){super("unable to set file input",e,t)}};var Ut=class extends F{constructor(e,t){super("invalid web extension",e,t)}},Lt=class extends F{constructor(e,t){super("no such web extension",e,t)}},Me=class extends F{constructor(e,t){super("no such network collector",e,t)}},me=class extends F{constructor(e,t){super("no such network data",e,t)}};var Mt=class{parseDisableSimulationParameters(e){return e}parseHandleRequestDevicePromptParams(e){return e}parseSimulateAdapterParameters(e){return e}parseSimulateAdvertisementParameters(e){return e}parseSimulateCharacteristicParameters(e){return e}parseSimulateCharacteristicResponseParameters(e){return e}parseSimulateDescriptorParameters(e){return e}parseSimulateDescriptorResponseParameters(e){return e}parseSimulateGattConnectionResponseParameters(e){return e}parseSimulateGattDisconnectionParameters(e){return e}parseSimulatePreconnectedPeripheralParameters(e){return e}parseSimulateServiceParameters(e){return e}parseCreateUserContextParameters(e){return e}parseRemoveUserContextParameters(e){return e}parseSetClientWindowStateParameters(e){return e}parseSetDownloadBehaviorParameters(e){return e}parseActivateParams(e){return e}parseCaptureScreenshotParams(e){return e}parseCloseParams(e){return e}parseCreateParams(e){return e}parseGetTreeParams(e){return e}parseHandleUserPromptParams(e){return e}parseLocateNodesParams(e){return e}parseNavigateParams(e){return e}parsePrintParams(e){return e}parseReloadParams(e){return e}parseSetBypassCspParams(e){return e}parseSetViewportParams(e){return e}parseStartScreencastParams(e){return e}parseStopScreencastParams(e){return e}parseTraverseHistoryParams(e){return e}parseGetSessionParams(e){return e}parseResolveRealmParams(e){return e}parseSendCommandParams(e){return e}parseSetClientHintsOverrideParams(e){return e}parseSetForcedColorsModeThemeOverrideParams(e){return e}parseSetGeolocationOverrideParams(e){return e}parseSetLocaleOverrideParams(e){return e}parseSetNetworkConditionsParams(e){return e}parseSetScreenOrientationOverrideParams(e){return e}parseSetScreenSettingsOverrideParams(e){return e}parseSetScriptingEnabledParams(e){return e}parseSetScrollbarTypeOverrideParams(e){return e}parseSetTimezoneOverrideParams(e){return e}parseSetTouchOverrideParams(e){return e}parseSetUserAgentOverrideParams(e){return e}parseAddPreloadScriptParams(e){return e}parseCallFunctionParams(e){return e}parseDisownParams(e){return e}parseEvaluateParams(e){return e}parseGetRealmsParams(e){return e}parseRemovePreloadScriptParams(e){return e}parsePerformActionsParams(e){return e}parseReleaseActionsParams(e){return e}parseSetFilesParams(e){return e}parseAddDataCollectorParams(e){return e}parseAddInterceptParams(e){return e}parseContinueRequestParams(e){return e}parseContinueResponseParams(e){return e}parseContinueWithAuthParams(e){return e}parseDisownDataParams(e){return e}parseFailRequestParams(e){return e}parseGetDataParams(e){return e}parseProvideResponseParams(e){return e}parseRemoveDataCollectorParams(e){return e}parseRemoveInterceptParams(e){return e}parseSetCacheBehaviorParams(e){return e}parseSetExtraHeadersParams(e){return e}parseSetPermissionsParams(e){return e}parseSubscribeParams(e){return e}parseUnsubscribeParams(e){return e}parseDeleteCookiesParams(e){return e}parseGetCookiesParams(e){return e}parseSetCookieParams(e){return e}parseInstallParams(e){return e}parseUninstallParams(e){return e}parseSetVirtualWalletBehaviorParams(e){return e}};var qt=class{#e;#t;#s;#r;constructor(e,t,s,r){this.#e=e,this.#t=t,this.#s=s,this.#r=r}close(){return setTimeout(()=>this.#e.sendCommand("Browser.close").catch(()=>{}),0),{}}async createUserContext(e){let t=e,s=this.#s.getGlobalConfig();if(t.acceptInsecureCerts!==void 0&&t.acceptInsecureCerts===!1&&s.acceptInsecureCerts===!0)throw new O(`Cannot set user context's "acceptInsecureCerts" to false, when a capability "acceptInsecureCerts" is set to true`);let r={};if(t.proxy){let o=no(t.proxy);o&&(r.proxyServer=o),t.proxy.noProxy&&(r.proxyBypassList=t.proxy.noProxy.join(","))}else{e["goog:proxyServer"]!==void 0&&(r.proxyServer=e["goog:proxyServer"]);let o=e["goog:proxyBypassList"]??void 0;o&&(r.proxyBypassList=o.join(","))}let i=await this.#e.sendCommand("Target.createBrowserContext",r);return await this.#a(s.downloadBehavior??null,i.browserContextId),this.#s.updateUserContextConfig(i.browserContextId,{acceptInsecureCerts:e.acceptInsecureCerts,userPromptHandler:e.unhandledPromptBehavior}),{userContext:i.browserContextId}}async removeUserContext(e){let t=e.userContext;if(t==="default")throw new x("`default` user context cannot be removed");try{await this.#e.sendCommand("Target.disposeBrowserContext",{browserContextId:t})}catch(s){throw s.message.startsWith("Failed to find context with id")?new G(s.message):s}return{}}async getUserContexts(){return{userContexts:await this.#r.getUserContexts()}}async#i(e){let t=await this.#e.sendCommand("Browser.getWindowForTarget",{targetId:e});return{active:!1,clientWindow:`${t.windowId}`,state:t.bounds.windowState??"normal",height:t.bounds.height??0,width:t.bounds.width??0,x:t.bounds.left??0,y:t.bounds.top??0}}async setClientWindowState(e){let{clientWindow:t}=e,s={windowState:e.state};e.state==="normal"&&(e.width!==void 0&&(s.width=e.width),e.height!==void 0&&(s.height=e.height),e.x!==void 0&&(s.left=e.x),e.y!==void 0&&(s.top=e.y));let r=Number.parseInt(t);if(isNaN(r))throw new x("no such client window");await this.#e.sendCommand("Browser.setWindowBounds",{windowId:r,bounds:s});let i=await this.#e.sendCommand("Browser.getWindowBounds",{windowId:r});return{active:!1,clientWindow:`${r}`,state:i.bounds.windowState??"normal",height:i.bounds.height??0,width:i.bounds.width??0,x:i.bounds.left??0,y:i.bounds.top??0}}async getClientWindows(){let e=this.#t.getTopLevelContexts().map(i=>i.cdpTarget.id),t=await Promise.all(e.map(async i=>await this.#i(i))),s=new Set,r=new Array;for(let i of t)s.has(i.clientWindow)||(s.add(i.clientWindow),r.push(i));return{clientWindows:r}}#o(e){if(e===null)return{behavior:"default"};if(e?.type==="denied")return{behavior:"deny"};if(e?.type==="allowed")return{behavior:"allow",downloadPath:e.destinationFolder};throw new O("Unexpected download behavior")}async#a(e,t){await this.#e.sendCommand("Browser.setDownloadBehavior",{...this.#o(e),browserContextId:t==="default"?void 0:t,eventsEnabled:!0})}async setDownloadBehavior(e){let t;return e.userContexts===void 0?t=(await this.#r.getUserContexts()).map(s=>s.userContext):t=Array.from(await this.#r.verifyUserContextIdList(e.userContexts)),e.userContexts===void 0?this.#s.updateGlobalConfig({downloadBehavior:e.downloadBehavior}):e.userContexts.map(s=>this.#s.updateUserContextConfig(s,{downloadBehavior:e.downloadBehavior})),await Promise.all(t.map(async s=>{let r=this.#s.getActiveConfig(void 0,s).downloadBehavior??null;await this.#a(r,s)})),{}}};function no(n){if(!(n.proxyType==="direct"||n.proxyType==="system")){if(n.proxyType==="pac")throw new R("PAC proxy configuration is not supported per user context");if(n.proxyType==="autodetect")throw new R("Autodetect proxy is not supported per user context");if(n.proxyType==="manual"){let e=[];if(n.httpProxy!==void 0&&e.push(`http=${n.httpProxy}`),n.sslProxy!==void 0&&e.push(`https=${n.sslProxy}`),n.socksProxy!==void 0||n.socksVersion!==void 0){if(n.socksProxy===void 0)throw new x("'socksVersion' cannot be set without 'socksProxy'");if(n.socksVersion===void 0||typeof n.socksVersion!="number"||!Number.isInteger(n.socksVersion)||n.socksVersion<0||n.socksVersion>255)throw new x("'socksVersion' must be between 0 and 255");e.push(`socks=socks${n.socksVersion}://${n.socksProxy}`)}return e.length===0?void 0:e.join(";")}throw new O("Unknown proxy type")}}var jt=class{#e;#t;#s;#r;constructor(e,t,s,r){this.#e=e,this.#t=t,this.#s=s,this.#r=r}getSession(e){let t=e.context,s=this.#e.getContext(t).cdpTarget.cdpSessionId;return s===void 0?{}:{session:s}}resolveRealm(e){let t=e.realm,s=this.#t.getRealm({realmId:t});if(s===void 0)throw new O(`Could not find realm ${e.realm}`);return{executionContextId:s.executionContextId}}async sendCommand(e){return{result:await(e.session?this.#s.getCdpClient(e.session):this.#r).sendCommand(e.method,e.params),session:e.session}}};var $t=class{#e;#t;#s;#r;#i;constructor(e,t,s,r,i){this.#s=r,this.#i=s,this.#e=e,this.#t=t,this.#r=i,this.#r.addSubscribeHook(C.BrowsingContext.EventNames.ContextCreated,this.#a.bind(this))}getTree(e){return{contexts:(e.root===void 0?this.#t.getTopLevelContexts():[this.#t.getContext(e.root)]).map(s=>s.serializeToBidiValue(e.maxDepth??Number.MAX_VALUE))}}async create(e){let t,s="default";if(e.referenceContext!==void 0){if(t=this.#t.getContext(e.referenceContext),!t.isTopLevelContext())throw new x("referenceContext should be a top-level context");s=t.userContext}e.userContext!==void 0&&(s=e.userContext);let r=this.#t.getAllContexts().filter(c=>c.userContext===s),i=!1;switch(e.type){case"tab":i=!1;break;case"window":i=!0;break}r.length||(i=!0);let o;try{o=await this.#e.sendCommand("Target.createTarget",{url:"about:blank",newWindow:i,browserContextId:s==="default"?void 0:s,background:e.background===!0})}catch(c){throw c.message.startsWith("Failed to find browser context with id")||c.message==="browserContextId"?new G(`The context ${s} was not found`):c}let a=await this.#t.waitForContext(o.targetId);return await a.lifecycleLoaded(),{context:a.id}}navigate(e){return this.#t.getContext(e.context).navigate(e.url,e.wait??"none")}reload(e){return this.#t.getContext(e.context).reload(e.ignoreCache??!1,e.wait??"none")}async activate(e){let t=this.#t.getContext(e.context);if(!t.isTopLevelContext())throw new x("Activation is only supported on the top-level context");return await t.activate(),{}}async captureScreenshot(e){return await this.#t.getContext(e.context).captureScreenshot(e)}async print(e){return await this.#t.getContext(e.context).print(e)}async setViewport(e){if((e.viewport?.height??0)>1e7||(e.viewport?.width??0)>1e7)throw new R("Viewport dimension over 10000000 are not supported");let s={};e.devicePixelRatio!==void 0&&(s.devicePixelRatio=e.devicePixelRatio),e.viewport!==void 0&&(s.viewport=e.viewport);let r=await this.#o(e.context,e.userContexts);for(let i of e.userContexts??[])this.#s.updateUserContextConfig(i,s);return e.context!==void 0&&this.#s.updateBrowsingContextConfig(e.context,s),await Promise.all(r.map(async i=>{let o=this.#s.getActiveConfig(i.id,i.userContext);await i.setViewport(o.viewport??null,o.devicePixelRatio??null,o.screenOrientation??null)})),{}}async#o(e,t){if(e===void 0&&t===void 0)throw new x("Either userContexts or context must be provided");if(e!==void 0&&t!==void 0)throw new x("userContexts and context are mutually exclusive");if(e!==void 0){let r=this.#t.getContext(e);if(!r.isTopLevelContext())throw new x("Emulating viewport is only supported on the top-level context");return[r]}await this.#i.verifyUserContextIdList(t);let s=[];for(let r of t){let i=this.#t.getTopLevelContexts().filter(o=>o.userContext===r);s.push(...i)}return[...new Set(s).values()]}async traverseHistory(e){let t=this.#t.getContext(e.context);if(!t)throw new x(`No browsing context with id ${e.context}`);if(!t.isTopLevelContext())throw new x("Traversing history is only supported on the top-level context");return await t.traverseHistory(e.delta),{}}async handleUserPrompt(e){let t=this.#t.getContext(e.context);try{await t.handleUserPrompt(e.accept,e.userText)}catch(s){throw s.message?.includes("No dialog is showing")?new Nt("No dialog is showing"):s}return{}}async close(e){let t=this.#t.getContext(e.context);if(!t.isTopLevelContext())throw new x(`Non top-level browsing context ${t.id} cannot be closed.`);let s=t.cdpTarget.parentCdpClient;try{let r=new Promise(i=>{let o=a=>{a.targetId===e.context&&(s.off("Target.detachedFromTarget",o),i())};s.on("Target.detachedFromTarget",o)});try{e.promptUnload?await t.close():await s.sendCommand("Target.closeTarget",{targetId:e.context})}catch(i){if(!s.isCloseError(i))throw i}await r}catch(r){if(!(r.code===-32e3&&r.message==="Not attached to an active page"))throw r}return{}}async locateNodes(e){return await this.#t.getContext(e.context).locateNodes(e)}#a(e){return[this.#t.getContext(e),...this.#t.getContext(e).allChildren].forEach(r=>{this.#r.registerEvent({type:"event",method:C.BrowsingContext.EventNames.ContextCreated,params:r.serializeToBidiValue()},r.id)}),Promise.resolve()}};var Ht=class{#e;#t;#s;constructor(e,t,s){this.#e=t,this.#t=e,this.#s=s}async setGeolocationOverride(e){if("coordinates"in e&&"error"in e)throw new x("Coordinates and error cannot be set at the same time");let t=null;if("coordinates"in e){if((e.coordinates?.altitude??null)===null&&(e.coordinates?.altitudeAccuracy??null)!==null)throw new x("Geolocation altitudeAccuracy can be set only with altitude");t=e.coordinates}else if("error"in e){if(e.error.type!=="positionUnavailable")throw new x(`Unknown geolocation error ${e.error.type}`);t=e.error}else throw new x("Coordinates or error should be set");let s=await this.#r(e.contexts,e.userContexts);for(let r of e.contexts??[])this.#s.updateBrowsingContextConfig(r,{geolocation:t});for(let r of e.userContexts??[])this.#s.updateUserContextConfig(r,{geolocation:t});return await Promise.all(s.map(async r=>{let i=this.#s.getActiveConfig(r.id,r.userContext);await r.setGeolocationOverride(i.geolocation??null)})),{}}async setLocaleOverride(e){let t=e.locale??null;if(t!==null&&!oo(t))throw new x(`Invalid locale "${t}"`);let s=await this.#r(e.contexts,e.userContexts);for(let r of e.contexts??[])this.#s.updateBrowsingContextConfig(r,{locale:t});for(let r of e.userContexts??[])this.#s.updateUserContextConfig(r,{locale:t});return await Promise.all(s.map(async r=>{let i=this.#s.getActiveConfig(r.id,r.userContext);await Promise.all([r.setLocaleOverride(i.locale??null),r.setUserAgentAndAcceptLanguage(i.userAgent,i.locale,i.clientHints)])})),{}}async setScriptingEnabled(e){let t=e.enabled,s=await this.#r(e.contexts,e.userContexts);for(let r of e.contexts??[])this.#s.updateBrowsingContextConfig(r,{scriptingEnabled:t});for(let r of e.userContexts??[])this.#s.updateUserContextConfig(r,{scriptingEnabled:t});return await Promise.all(s.map(async r=>{let i=this.#s.getActiveConfig(r.id,r.userContext);await r.setScriptingEnabled(i.scriptingEnabled??null)})),{}}async setScrollbarTypeOverride(e){let t=await this.#r(e.contexts,e.userContexts);for(let s of e.contexts??[])this.#s.updateBrowsingContextConfig(s,{scrollbarType:e.scrollbarType});for(let s of e.userContexts??[])this.#s.updateUserContextConfig(s,{scrollbarType:e.scrollbarType});return await Promise.all(t.map(async s=>{let r=this.#s.getActiveConfig(s.id,s.userContext);await s.setScrollbarTypeOverride(r.scrollbarType??null)})),{}}async setScreenOrientationOverride(e){let t=await this.#r(e.contexts,e.userContexts);for(let s of e.contexts??[])this.#s.updateBrowsingContextConfig(s,{screenOrientation:e.screenOrientation});for(let s of e.userContexts??[])this.#s.updateUserContextConfig(s,{screenOrientation:e.screenOrientation});return await Promise.all(t.map(async s=>{let r=this.#s.getActiveConfig(s.id,s.userContext);await s.setViewport(r.viewport??null,r.devicePixelRatio??null,r.screenOrientation??null)})),{}}async setScreenSettingsOverride(e){let t=await this.#r(e.contexts,e.userContexts);for(let s of e.contexts??[])this.#s.updateBrowsingContextConfig(s,{screenArea:e.screenArea});for(let s of e.userContexts??[])this.#s.updateUserContextConfig(s,{screenArea:e.screenArea});return await Promise.all(t.map(async s=>{let r=this.#s.getActiveConfig(s.id,s.userContext);await s.setViewport(r.viewport??null,r.devicePixelRatio??null,r.screenOrientation??null)})),{}}async#r(e,t,s=!1){if(e===void 0&&t===void 0){if(s)return this.#t.getTopLevelContexts();throw new x("Either user contexts or browsing contexts must be provided")}if(e!==void 0&&t!==void 0)throw new x("User contexts and browsing contexts are mutually exclusive");let r=[];if(e===void 0){if(t.length===0)throw new x("user context should be provided");await this.#e.verifyUserContextIdList(t);for(let i of t){let o=this.#t.getTopLevelContexts().filter(a=>a.userContext===i);r.push(...o)}}else{if(e.length===0)throw new x("browsing context should be provided");for(let i of e){let o=this.#t.getContext(i);if(!o.isTopLevelContext())throw new x("The command is only supported on the top-level context");r.push(o)}}return[...new Set(r).values()]}async setTimezoneOverride(e){let t=e.timezone??null;if(t!==null&&!ao(t))throw new x(`Invalid timezone "${t}"`);t!==null&&co(t)&&(t=`GMT${t}`);let s=await this.#r(e.contexts,e.userContexts);for(let r of e.contexts??[])this.#s.updateBrowsingContextConfig(r,{timezone:t});for(let r of e.userContexts??[])this.#s.updateUserContextConfig(r,{timezone:t});return await Promise.all(s.map(async r=>{let i=this.#s.getActiveConfig(r.id,r.userContext);await r.setTimezoneOverride(i.timezone??null)})),{}}async setTouchOverride(e){let t=e.maxTouchPoints,s=await this.#r(e.contexts,e.userContexts,!0);for(let r of e.contexts??[])this.#s.updateBrowsingContextConfig(r,{maxTouchPoints:t});for(let r of e.userContexts??[])this.#s.updateUserContextConfig(r,{maxTouchPoints:t});return e.contexts===void 0&&e.userContexts===void 0&&this.#s.updateGlobalConfig({maxTouchPoints:t}),await Promise.all(s.map(async r=>{let i=this.#s.getActiveConfig(r.id,r.userContext);await r.setTouchOverride(i.maxTouchPoints??null)})),{}}async setUserAgentOverrideParams(e){if(e.userAgent==="")throw new R("empty user agent string is not supported");let t=await this.#r(e.contexts,e.userContexts,!0);for(let s of e.contexts??[])this.#s.updateBrowsingContextConfig(s,{userAgent:e.userAgent});for(let s of e.userContexts??[])this.#s.updateUserContextConfig(s,{userAgent:e.userAgent});return e.contexts===void 0&&e.userContexts===void 0&&this.#s.updateGlobalConfig({userAgent:e.userAgent}),await Promise.all(t.map(async s=>{let r=this.#s.getActiveConfig(s.id,s.userContext);await s.setUserAgentAndAcceptLanguage(r.userAgent,r.locale,r.clientHints)})),{}}async setClientHintsOverride(e){let t=e.clientHints??null,s=await this.#r(e.contexts,e.userContexts,!0);for(let r of e.contexts??[])this.#s.updateBrowsingContextConfig(r,{clientHints:t});for(let r of e.userContexts??[])this.#s.updateUserContextConfig(r,{clientHints:t});return e.contexts===void 0&&e.userContexts===void 0&&this.#s.updateGlobalConfig({clientHints:t}),await Promise.all(s.map(async r=>{let i=this.#s.getActiveConfig(r.id,r.userContext);await r.setUserAgentAndAcceptLanguage(i.userAgent,i.locale,i.clientHints)})),{}}async setNetworkConditions(e){let t=await this.#r(e.contexts,e.userContexts,!0);for(let s of e.contexts??[])this.#s.updateBrowsingContextConfig(s,{emulatedNetworkConditions:e.networkConditions});for(let s of e.userContexts??[])this.#s.updateUserContextConfig(s,{emulatedNetworkConditions:e.networkConditions});if(e.contexts===void 0&&e.userContexts===void 0&&this.#s.updateGlobalConfig({emulatedNetworkConditions:e.networkConditions}),e.networkConditions!==null&&e.networkConditions.type!=="offline")throw new R(`Unsupported network conditions ${e.networkConditions.type}`);return await Promise.all(t.map(async s=>{let r=this.#s.getActiveConfig(s.id,s.userContext);await s.setEmulatedNetworkConditions(r.emulatedNetworkConditions??null)})),{}}};function oo(n){try{return new Intl.Locale(n),!0}catch(e){if(e instanceof RangeError)return!1;throw e}}function ao(n){try{return Intl.DateTimeFormat(void 0,{timeZone:n}),!0}catch(e){if(e instanceof RangeError)return!1;throw e}}function co(n){return/^[+-](?:2[0-3]|[01]\d)(?::[0-5]\d)?$/.test(n)}function _(n,e){if(!n)throw new Error(e??"Internal assertion failed.")}function fr(n){return zt(n)&&n.length>1}function zt(n){return[...new Intl.Segmenter("en",{granularity:"grapheme"}).segment(n)].length===1}var Wt=class{type="none"},ot=class{type="key";pressed=new Set;#e=0;get modifiers(){return this.#e}get alt(){return(this.#e&1)===1}set alt(e){this.#t(e,1)}get ctrl(){return(this.#e&2)===2}set ctrl(e){this.#t(e,2)}get meta(){return(this.#e&4)===4}set meta(e){this.#t(e,4)}get shift(){return(this.#e&8)===8}set shift(e){this.#t(e,8)}#t(e,t){e?this.#e|=t:this.#e&=~t}},Kt=class n{static#e=500;static#t=2;count=0;#s;#r;#i;constructor(e,t,s){this.#s=e,this.#r=t,this.#i=s}compare(e){return e.#i-this.#i>n.#e||Math.abs(e.#s-this.#s)>n.#t||Math.abs(e.#r-this.#r)>n.#t}},Vt=class{type="pointer";subtype;pointerId;pressed=new Set;x=0;y=0;radiusX;radiusY;force;constructor(e,t){this.pointerId=e,this.subtype=t}get buttons(){let e=0;for(let t of this.pressed)switch(t){case 0:e|=1;break;case 1:e|=4;break;case 2:e|=2;break;case 3:e|=8;break;case 4:e|=16;break}return e}#e=new Map;setClickCount(e,t){let s=this.#e.get(e);return(!s||s.compare(t))&&(s=t),++s.count,this.#e.set(e,s),s.count}getClickCount(e){return this.#e.get(e)?.count??0}resetClickCount(){this.#e=new Map}},Gt=class{type="wheel"};function mr(n){switch(n){case"\uE000":return"Unidentified";case"\uE001":return"Cancel";case"\uE002":return"Help";case"\uE003":return"Backspace";case"\uE004":return"Tab";case"\uE005":return"Clear";case"\uE006":case"\uE007":return"Enter";case"\uE008":return"Shift";case"\uE009":return"Control";case"\uE00A":return"Alt";case"\uE00B":return"Pause";case"\uE00C":return"Escape";case"\uE00D":return" ";case"\uE00E":return"PageUp";case"\uE00F":return"PageDown";case"\uE010":return"End";case"\uE011":return"Home";case"\uE012":return"ArrowLeft";case"\uE013":return"ArrowUp";case"\uE014":return"ArrowRight";case"\uE015":return"ArrowDown";case"\uE016":return"Insert";case"\uE017":return"Delete";case"\uE018":return";";case"\uE019":return"=";case"\uE01A":return"0";case"\uE01B":return"1";case"\uE01C":return"2";case"\uE01D":return"3";case"\uE01E":return"4";case"\uE01F":return"5";case"\uE020":return"6";case"\uE021":return"7";case"\uE022":return"8";case"\uE023":return"9";case"\uE024":return"*";case"\uE025":return"+";case"\uE026":return",";case"\uE027":return"-";case"\uE028":return".";case"\uE029":return"/";case"\uE031":return"F1";case"\uE032":return"F2";case"\uE033":return"F3";case"\uE034":return"F4";case"\uE035":return"F5";case"\uE036":return"F6";case"\uE037":return"F7";case"\uE038":return"F8";case"\uE039":return"F9";case"\uE03A":return"F10";case"\uE03B":return"F11";case"\uE03C":return"F12";case"\uE03D":return"Meta";case"\uE040":return"ZenkakuHankaku";case"\uE050":return"Shift";case"\uE051":return"Control";case"\uE052":return"Alt";case"\uE053":return"Meta";case"\uE054":return"PageUp";case"\uE055":return"PageDown";case"\uE056":return"End";case"\uE057":return"Home";case"\uE058":return"ArrowLeft";case"\uE059":return"ArrowUp";case"\uE05A":return"ArrowRight";case"\uE05B":return"ArrowDown";case"\uE05C":return"Insert";case"\uE05D":return"Delete";default:return n}}function gr(n){switch(n){case"`":case"~":return"Backquote";case"\\":case"|":return"Backslash";case"\uE003":return"Backspace";case"[":case"{":return"BracketLeft";case"]":case"}":return"BracketRight";case",":case"<":return"Comma";case"0":case")":return"Digit0";case"1":case"!":return"Digit1";case"2":case"@":return"Digit2";case"3":case"#":return"Digit3";case"4":case"$":return"Digit4";case"5":case"%":return"Digit5";case"6":case"^":return"Digit6";case"7":case"&":return"Digit7";case"8":case"*":return"Digit8";case"9":case"(":return"Digit9";case"=":case"+":return"Equal";case">":return"IntlBackslash";case"a":case"A":return"KeyA";case"b":case"B":return"KeyB";case"c":case"C":return"KeyC";case"d":case"D":return"KeyD";case"e":case"E":return"KeyE";case"f":case"F":return"KeyF";case"g":case"G":return"KeyG";case"h":case"H":return"KeyH";case"i":case"I":return"KeyI";case"j":case"J":return"KeyJ";case"k":case"K":return"KeyK";case"l":case"L":return"KeyL";case"m":case"M":return"KeyM";case"n":case"N":return"KeyN";case"o":case"O":return"KeyO";case"p":case"P":return"KeyP";case"q":case"Q":return"KeyQ";case"r":case"R":return"KeyR";case"s":case"S":return"KeyS";case"t":case"T":return"KeyT";case"u":case"U":return"KeyU";case"v":case"V":return"KeyV";case"w":case"W":return"KeyW";case"x":case"X":return"KeyX";case"y":case"Y":return"KeyY";case"z":case"Z":return"KeyZ";case"-":case"_":return"Minus";case".":return"Period";case"'":case'"':return"Quote";case";":case":":return"Semicolon";case"/":case"?":return"Slash";case"\uE00A":return"AltLeft";case"\uE052":return"AltRight";case"\uE009":return"ControlLeft";case"\uE051":return"ControlRight";case"\uE006":return"Enter";case"\uE00B":return"Pause";case"\uE03D":return"MetaLeft";case"\uE053":return"MetaRight";case"\uE008":return"ShiftLeft";case"\uE050":return"ShiftRight";case" ":case"\uE00D":return"Space";case"\uE004":return"Tab";case"\uE017":return"Delete";case"\uE010":return"End";case"\uE002":return"Help";case"\uE011":return"Home";case"\uE016":return"Insert";case"\uE00F":return"PageDown";case"\uE00E":return"PageUp";case"\uE015":return"ArrowDown";case"\uE012":return"ArrowLeft";case"\uE014":return"ArrowRight";case"\uE013":return"ArrowUp";case"\uE00C":return"Escape";case"\uE031":return"F1";case"\uE032":return"F2";case"\uE033":return"F3";case"\uE034":return"F4";case"\uE035":return"F5";case"\uE036":return"F6";case"\uE037":return"F7";case"\uE038":return"F8";case"\uE039":return"F9";case"\uE03A":return"F10";case"\uE03B":return"F11";case"\uE03C":return"F12";case"\uE019":return"NumpadEqual";case"\uE01A":case"\uE05C":return"Numpad0";case"\uE01B":case"\uE056":return"Numpad1";case"\uE01C":case"\uE05B":return"Numpad2";case"\uE01D":case"\uE055":return"Numpad3";case"\uE01E":case"\uE058":return"Numpad4";case"\uE01F":return"Numpad5";case"\uE020":case"\uE05A":return"Numpad6";case"\uE021":case"\uE057":return"Numpad7";case"\uE022":case"\uE059":return"Numpad8";case"\uE023":case"\uE054":return"Numpad9";case"\uE025":return"NumpadAdd";case"\uE026":return"NumpadComma";case"\uE028":case"\uE05D":return"NumpadDecimal";case"\uE029":return"NumpadDivide";case"\uE007":return"NumpadEnter";case"\uE024":return"NumpadMultiply";case"\uE027":return"NumpadSubtract";default:return}}function wr(n){switch(n){case"\uE007":case"\uE008":case"\uE009":case"\uE00A":case"\uE03D":return 1;case"\uE019":case"\uE01A":case"\uE01B":case"\uE01C":case"\uE01D":case"\uE01E":case"\uE01F":case"\uE020":case"\uE021":case"\uE022":case"\uE023":case"\uE024":case"\uE025":case"\uE026":case"\uE027":case"\uE028":case"\uE029":case"\uE054":case"\uE055":case"\uE056":case"\uE057":case"\uE058":case"\uE059":case"\uE05A":case"\uE05B":case"\uE05C":case"\uE05D":return 3;case"\uE050":case"\uE051":case"\uE052":case"\uE053":return 2;default:return 0}}var yr={0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,Abort:3,Help:6,Backspace:8,Tab:9,Numpad5:12,NumpadEnter:13,Enter:13,"\\r":13,"\\n":13,ShiftLeft:16,ShiftRight:16,ControlLeft:17,ControlRight:17,AltLeft:18,AltRight:18,Pause:19,CapsLock:20,Escape:27,Convert:28,NonConvert:29,Space:32,Numpad9:33,PageUp:33,Numpad3:34,PageDown:34,End:35,Numpad1:35,Home:36,Numpad7:36,ArrowLeft:37,Numpad4:37,Numpad8:38,ArrowUp:38,ArrowRight:39,Numpad6:39,Numpad2:40,ArrowDown:40,Select:41,Open:43,PrintScreen:44,Insert:45,Numpad0:45,Delete:46,NumpadDecimal:46,Digit0:48,Digit1:49,Digit2:50,Digit3:51,Digit4:52,Digit5:53,Digit6:54,Digit7:55,Digit8:56,Digit9:57,KeyA:65,KeyB:66,KeyC:67,KeyD:68,KeyE:69,KeyF:70,KeyG:71,KeyH:72,KeyI:73,KeyJ:74,KeyK:75,KeyL:76,KeyM:77,KeyN:78,KeyO:79,KeyP:80,KeyQ:81,KeyR:82,KeyS:83,KeyT:84,KeyU:85,KeyV:86,KeyW:87,KeyX:88,KeyY:89,KeyZ:90,MetaLeft:91,MetaRight:92,ContextMenu:93,NumpadMultiply:106,NumpadAdd:107,NumpadSubtract:109,NumpadDivide:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,F13:124,F14:125,F15:126,F16:127,F17:128,F18:129,F19:130,F20:131,F21:132,F22:133,F23:134,F24:135,NumLock:144,ScrollLock:145,AudioVolumeMute:173,AudioVolumeDown:174,AudioVolumeUp:175,MediaTrackNext:176,MediaTrackPrevious:177,MediaStop:178,MediaPlayPause:179,Semicolon:186,Equal:187,NumpadEqual:187,Comma:188,Minus:189,Period:190,Slash:191,Backquote:192,BracketLeft:219,Backslash:220,BracketRight:221,Quote:222,AltGraph:225,Props:247,Cancel:3,Clear:12,Shift:16,Control:17,Alt:18,Accept:30,ModeChange:31," ":32,Print:42,Execute:43,"\\u0000":46,a:65,b:66,c:67,d:68,e:69,f:70,g:71,h:72,i:73,j:74,k:75,l:76,m:77,n:78,o:79,p:80,q:81,r:82,s:83,t:84,u:85,v:86,w:87,x:88,y:89,z:90,Meta:91,"*":106,"+":107,"-":109,"/":111,";":186,"=":187,",":188,".":190,"`":192,"[":219,"\\\\":220,"]":221,"'":222,Attn:246,CrSel:247,ExSel:248,EraseEof:249,Play:250,ZoomOut:251,")":48,"!":49,"@":50,"#":51,$:52,"%":53,"^":54,"&":55,"(":57,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,":":186,"<":188,_:189,">":190,"?":191,"~":192,"{":219,"|":220,"}":221,'"':222,Camera:44,EndCall:95,VolumeDown:182,VolumeUp:183};var uo=(n=>{let e=n.getClientRects()[0],t=Math.max(0,Math.min(e.x,e.x+e.width)),s=Math.min(window.innerWidth,Math.max(e.x,e.x+e.width)),r=Math.max(0,Math.min(e.y,e.y+e.height)),i=Math.min(window.innerHeight,Math.max(e.y,e.y+e.height));return[t+(s-t>>1),r+(i-r>>1)]}).toString(),lo=(()=>navigator.platform.toLowerCase().includes("mac")).toString();async function ho(n,e){let s=await(await n.getOrCreateHiddenSandbox()).callFunction(uo,!1,{type:"undefined"},[e]);if(s.type==="exception")throw new ce(`Origin element ${e.sharedId} was not found`);_(s.result.type==="array"),_(s.result.value?.[0]?.type==="number"),_(s.result.value?.[1]?.type==="number");let{result:{value:[{value:r},{value:i}]}}=s;return{x:r,y:i}}var Ce=class{static isMacOS=async e=>{let s=await(await e.getOrCreateHiddenSandbox()).callFunction(lo,!1);return _(s.type!=="exception"),_(s.result.type==="boolean"),s.result.value};#e;#t=0;#s=0;#r;#i;#o;constructor(e,t,s,r){this.#e=t,this.#r=e,this.#i=s,this.#o=r}get#a(){return this.#e.getContext(this.#i)}async dispatchActions(e){await this.#r.queue.run(async()=>{for(let t of e)await this.dispatchTickActions(t)})}async dispatchTickActions(e){this.#t=performance.now(),this.#s=0;for(let{action:s}of e)"duration"in s&&s.duration!==void 0&&(this.#s=Math.max(this.#s,s.duration));let t=[new Promise(s=>setTimeout(s,this.#s))];for(let s of e)t.push(this.#d(s));await Promise.all(t)}async#d({id:e,action:t}){let s=this.#r.get(e),r=this.#r.getGlobalKeyState();switch(t.type){case"keyDown":{await this.#u(s,t),this.#r.cancelList.push({id:e,action:{...t,type:"keyUp"}});break}case"keyUp":{await this.#m(s,t);break}case"pause":break;case"pointerDown":{await this.#n(s,r,t),this.#r.cancelList.push({id:e,action:{...t,type:"pointerUp"}});break}case"pointerMove":{await this.#h(s,r,t);break}case"pointerUp":{await this.#l(s,r,t);break}case"scroll":{await this.#p(s,r,t);break}}}async#n(e,t,s){let{button:r}=s;if(e.pressed.has(r))return;e.pressed.add(r);let{x:i,y:o,subtype:a}=e,{width:c,height:d,pressure:u,twist:l,tangentialPressure:y}=s,{tiltX:f,tiltY:h}=dn(s),{modifiers:p}=t,{radiusX:m,radiusY:v}=un(c??1,d??1);switch(a){case"mouse":case"pen":await this.#a.cdpTarget.cdpClient.sendCommand("Input.dispatchMouseEvent",{type:"mousePressed",x:i,y:o,modifiers:p,button:Xt(r),buttons:e.buttons,clickCount:e.setClickCount(r,new Kt(i,o,performance.now())),pointerType:a,tangentialPressure:y,tiltX:f,tiltY:h,twist:l,force:u});break;case"touch":await this.#a.cdpTarget.cdpClient.sendCommand("Input.dispatchTouchEvent",{type:"touchStart",touchPoints:[{x:i,y:o,radiusX:m,radiusY:v,tangentialPressure:y,tiltX:f,tiltY:h,twist:l,force:u,id:e.pointerId}],modifiers:p});break}e.radiusX=m,e.radiusY=v,e.force=u}#l(e,t,s){let{button:r}=s;if(!e.pressed.has(r))return;e.pressed.delete(r);let{x:i,y:o,force:a,radiusX:c,radiusY:d,subtype:u}=e,{modifiers:l}=t;switch(u){case"mouse":case"pen":return this.#a.cdpTarget.cdpClient.sendCommand("Input.dispatchMouseEvent",{type:"mouseReleased",x:i,y:o,modifiers:l,button:Xt(r),buttons:e.buttons,clickCount:e.getClickCount(r),pointerType:u});case"touch":return this.#a.cdpTarget.cdpClient.sendCommand("Input.dispatchTouchEvent",{type:"touchEnd",touchPoints:[{x:i,y:o,id:e.pointerId,force:a,radiusX:c,radiusY:d}],modifiers:l})}}async#h(e,t,s){let{x:r,y:i,subtype:o}=e,{width:a,height:c,pressure:d,twist:u,tangentialPressure:l,x:y,y:f,origin:h="viewport",duration:p=this.#s}=s,{tiltX:m,tiltY:v}=dn(s),{radiusX:I,radiusY:B}=un(a??1,c??1),{targetX:U,targetY:he}=await this.#f(h,y,f,r,i);if(U<0||he<0)throw new st(`Cannot move beyond viewport (x: ${U}, y: ${he})`);let Ie;do{let De=p>0?(performance.now()-this.#t)/p:1;Ie=De>=1;let Q,ee;if(Ie?(Q=U,ee=he):(Q=Math.round(De*(U-r)+r),ee=Math.round(De*(he-i)+i)),e.x!==Q||e.y!==ee){let{modifiers:Te}=t;switch(o){case"mouse":await this.#a.cdpTarget.cdpClient.sendCommand("Input.dispatchMouseEvent",{type:"mouseMoved",x:Q,y:ee,modifiers:Te,clickCount:0,button:Xt(e.pressed.values().next().value??5),buttons:e.buttons,pointerType:o,tangentialPressure:l,tiltX:m,tiltY:v,twist:u,force:d});break;case"pen":e.pressed.size!==0&&await this.#a.cdpTarget.cdpClient.sendCommand("Input.dispatchMouseEvent",{type:"mouseMoved",x:Q,y:ee,modifiers:Te,clickCount:0,button:Xt(e.pressed.values().next().value??5),buttons:e.buttons,pointerType:o,tangentialPressure:l,tiltX:m,tiltY:v,twist:u,force:d??.5});break;case"touch":e.pressed.size!==0&&await this.#a.cdpTarget.cdpClient.sendCommand("Input.dispatchTouchEvent",{type:"touchMove",touchPoints:[{x:Q,y:ee,radiusX:I,radiusY:B,tangentialPressure:l,tiltX:m,tiltY:v,twist:u,force:d,id:e.pointerId}],modifiers:Te});break}e.x=Q,e.y=ee,e.radiusX=I,e.radiusY=B,e.force=d}}while(!Ie)}async#c(){if(this.#a.id===this.#a.cdpTarget.id)return{x:0,y:0};let{backendNodeId:e}=await this.#a.cdpTarget.cdpClient.sendCommand("DOM.getFrameOwner",{frameId:this.#a.id}),{model:t}=await this.#a.cdpTarget.cdpClient.sendCommand("DOM.getBoxModel",{backendNodeId:e});return{x:t.content[0],y:t.content[1]}}async#f(e,t,s,r,i){let o,a,c=await this.#c();switch(e){case"viewport":o=t+c.x,a=s+c.y;break;case"pointer":o=r+t+c.x,a=i+s+c.y;break;default:{let{x:d,y:u}=await ho(this.#a,e.element);o=d+t+c.x,a=u+s+c.y;break}}return{targetX:o,targetY:a}}async#p(e,t,s){let{deltaX:r,deltaY:i,x:o,y:a,origin:c="viewport",duration:d=this.#s}=s;if(c==="pointer")throw new x('"pointer" origin is invalid for scrolling.');let{targetX:u,targetY:l}=await this.#f(c,o,a,0,0);if(u<0||l<0)throw new st(`Cannot move beyond viewport (x: ${u}, y: ${l})`);let y=0,f=0,h;do{let p=d>0?(performance.now()-this.#t)/d:1;h=p>=1;let m,v;if(h?(m=r-y,v=i-f):(m=Math.round(p*r-y),v=Math.round(p*i-f)),m!==0||v!==0){let{modifiers:I}=t;await this.#a.cdpTarget.cdpClient.sendCommand("Input.dispatchMouseEvent",{type:"mouseWheel",deltaX:m,deltaY:v,x:u,y:l,modifiers:I}),y+=m,f+=v}}while(!h)}async#u(e,t){let s=t.value;if(!zt(s))throw new x(`Invalid key value: ${s}`);let r=fr(s),i=mr(s),o=e.pressed.has(i),a=gr(s),c=wr(s);switch(i){case"Alt":e.alt=!0;break;case"Shift":e.shift=!0;break;case"Control":e.ctrl=!0;break;case"Meta":e.meta=!0;break}e.pressed.add(i);let{modifiers:d}=e,u=an(i,e,r),l=cn(a??"",e)??u,y;if(this.#o&&e.meta)switch(a){case"KeyA":y="SelectAll";break;case"KeyC":y="Copy";break;case"KeyV":y=e.shift?"PasteAndMatchStyle":"Paste";break;case"KeyX":y="Cut";break;case"KeyZ":y=e.shift?"Redo":"Undo";break;default:}let f=[this.#a.cdpTarget.cdpClient.sendCommand("Input.dispatchKeyEvent",{type:l?"keyDown":"rawKeyDown",windowsVirtualKeyCode:yr[i],key:i,code:a,text:l,unmodifiedText:u,autoRepeat:o,isSystemKey:e.alt||void 0,location:c<3?c:void 0,isKeypad:c===3,modifiers:d,commands:y?[y]:void 0})];i==="Escape"&&!e.alt&&(this.#o&&!e.ctrl&&!e.meta||!this.#o)&&f.push(this.#a.cdpTarget.cdpClient.sendCommand("Input.cancelDragging")),await Promise.all(f)}#m(e,t){let s=t.value;if(!zt(s))throw new x(`Invalid key value: ${s}`);let r=fr(s),i=mr(s);if(!e.pressed.has(i))return;let o=gr(s),a=wr(s);switch(i){case"Alt":e.alt=!1;break;case"Shift":e.shift=!1;break;case"Control":e.ctrl=!1;break;case"Meta":e.meta=!1;break}e.pressed.delete(i);let{modifiers:c}=e,d=an(i,e,r),u=cn(o??"",e)??d;return this.#a.cdpTarget.cdpClient.sendCommand("Input.dispatchKeyEvent",{type:"keyUp",windowsVirtualKeyCode:yr[i],key:i,code:o,text:u,unmodifiedText:d,location:a<3?a:void 0,isSystemKey:e.alt||void 0,isKeypad:a===3,modifiers:c})}},an=(n,e,t)=>t?n:n==="Enter"?"\r":[...n].length===1?e.shift?n.toLocaleUpperCase("en-US"):n:void 0,cn=(n,e)=>{if(e.ctrl){switch(n){case"Digit2":if(e.shift)return"\0";break;case"KeyA":return"";case"KeyB":return"";case"KeyC":return"";case"KeyD":return"";case"KeyE":return"";case"KeyF":return"";case"KeyG":return"\x07";case"KeyH":return"\b";case"KeyI":return" ";case"KeyJ":return`
3
+ `;case"KeyK":return"\v";case"KeyL":return"\f";case"KeyM":return"\r";case"KeyN":return"";case"KeyO":return"";case"KeyP":return"";case"KeyQ":return"";case"KeyR":return"";case"KeyS":return"";case"KeyT":return"";case"KeyU":return"";case"KeyV":return"";case"KeyW":return"";case"KeyX":return"";case"KeyY":return"";case"KeyZ":return"";case"BracketLeft":return"\x1B";case"Backslash":return"";case"BracketRight":return"";case"Digit6":if(e.shift)return"";break;case"Minus":return""}return""}if(e.alt)return""};function Xt(n){switch(n){case 0:return"left";case 1:return"middle";case 2:return"right";case 3:return"back";case 4:return"forward";default:return"none"}}function dn(n){let e=n.altitudeAngle??Math.PI/2,t=n.azimuthAngle??0,s=0,r=0;if(e===0&&((t===0||t===2*Math.PI)&&(s=Math.PI/2),t===Math.PI/2&&(r=Math.PI/2),t===Math.PI&&(s=-Math.PI/2),t===3*Math.PI/2&&(r=-Math.PI/2),t>0&&t<Math.PI/2&&(s=Math.PI/2,r=Math.PI/2),t>Math.PI/2&&t<Math.PI&&(s=-Math.PI/2,r=Math.PI/2),t>Math.PI&&t<3*Math.PI/2&&(s=-Math.PI/2,r=-Math.PI/2),t>3*Math.PI/2&&t<2*Math.PI&&(s=Math.PI/2,r=-Math.PI/2)),e!==0){let o=Math.tan(e);s=Math.atan(Math.cos(t)/o),r=Math.atan(Math.sin(t)/o)}let i=180/Math.PI;return{tiltX:Math.round(s*i),tiltY:Math.round(r*i)}}function un(n,e){return{radiusX:n?n/2:.5,radiusY:e?e/2:.5}}var Jt=class{#e=!1;#t=[];acquire(){let e={resolved:!1};return this.#e?new Promise(t=>{this.#t.push(()=>t(this.#s.bind(this,e)))}):(this.#e=!0,Promise.resolve(this.#s.bind(this,e)))}#s(e){if(e.resolved)throw new Error("Cannot release more than once.");e.resolved=!0;let t=this.#t.shift();if(!t){this.#e=!1;return}t()}async run(e){let t=await this.acquire();try{return await e()}finally{t()}}};var Yt=class{cancelList=[];#e=new Map;#t=new Jt;getOrCreate(e,t,s){let r=this.#e.get(e);if(!r){switch(t){case"none":r=new Wt;break;case"key":r=new ot;break;case"pointer":{let i=s==="mouse"?0:2,o=new Set;for(let[,a]of this.#e)a.type==="pointer"&&o.add(a.pointerId);for(;o.has(i);)++i;r=new Vt(i,s);break}case"wheel":r=new Gt;break;default:throw new x(`Expected "none", "key", "pointer", or "wheel". Found unknown source type ${t}.`)}return this.#e.set(e,r),r}if(r.type!==t)throw new x(`Input source type of ${e} is ${r.type}, but received ${t}.`);return r}get(e){let t=this.#e.get(e);if(!t)throw new O("Internal error.");return t}getGlobalKeyState(){let e=new ot;for(let[,t]of this.#e)if(t.type==="key"){for(let s of t.pressed)e.pressed.add(s);e.alt||=t.alt,e.ctrl||=t.ctrl,e.meta||=t.meta,e.shift||=t.shift}return e}get queue(){return this.#t}};var Zt=class extends WeakMap{get(e){return _(e.isTopLevelContext()),this.has(e)||this.set(e,new Yt),super.get(e)}};var Qt=class{#e;#t=new Zt;constructor(e){this.#e=e}async performActions(e){let t=this.#e.getContext(e.context),s=this.#t.get(t.top),r=this.#s(e,s);return await new Ce(s,this.#e,e.context,await Ce.isMacOS(t).catch(()=>!1)).dispatchActions(r),{}}async releaseActions(e){let t=this.#e.getContext(e.context),s=t.top,r=this.#t.get(s);return await new Ce(r,this.#e,e.context,await Ce.isMacOS(t).catch(()=>!1)).dispatchTickActions(r.cancelList.reverse()),this.#t.delete(s),{}}async setFiles(e){let s=await this.#e.getContext(e.context).getOrCreateHiddenSandbox(),r;try{r=await s.callFunction(String(function(c){if(!(this instanceof HTMLInputElement))return this instanceof Element?1:0;if(this.type!=="file")return 2;if(this.disabled)return 3;if(c>1&&!this.multiple)return 4}),!1,e.element,[{type:"number",value:e.files.length}])}catch{throw new Y(`Could not find element ${e.element.sharedId}`)}if(_(r.type==="success"),r.result.type==="number")switch(r.result.value){case 0:throw new ce(`Could not find element ${e.element.sharedId}`);case 1:throw new be(`Element ${e.element.sharedId} is not a input`);case 2:throw new be(`Input element ${e.element.sharedId} is not a file type`);case 3:throw new be(`Input element ${e.element.sharedId} is disabled`);case 4:throw new be("Cannot set multiple files on a non-multiple input element")}if(e.files.length===0)return await s.callFunction(String(function(){if(this.files?.length===0){this.dispatchEvent(new Event("cancel",{bubbles:!0}));return}this.files=new DataTransfer().files,this.dispatchEvent(new Event("input",{bubbles:!0,composed:!0})),this.dispatchEvent(new Event("change",{bubbles:!0}))}),!1,e.element),{};let i=[];for(let a=0;a<e.files.length;++a){let c=await s.callFunction(String(function(y){return this.files?.item(y)}),!1,e.element,[{type:"number",value:0}],"root");if(_(c.type==="success"),c.result.type!=="object")break;let{handle:d}=c.result;_(d!==void 0);let{path:u}=await s.cdpClient.sendCommand("DOM.getFileInfo",{objectId:d});i.push(u),s.disown(d).catch(void 0)}i.sort();let o=[...e.files].sort();if(i.length!==e.files.length||o.some((a,c)=>i[c]!==a)){let{objectId:a}=await s.deserializeForCdp(e.element);_(a!==void 0),await s.cdpClient.sendCommand("DOM.setFileInputFiles",{files:e.files,objectId:a})}else await s.callFunction(String(function(){this.dispatchEvent(new Event("cancel",{bubbles:!0}))}),!1,e.element);return{}}#s(e,t){let s=[];for(let r of e.actions){switch(r.type){case"pointer":{r.parameters??={pointerType:"mouse"},r.parameters.pointerType??="mouse";let o=t.getOrCreate(r.id,"pointer",r.parameters.pointerType);if(o.subtype!==r.parameters.pointerType)throw new x(`Expected input source ${r.id} to be ${o.subtype}; got ${r.parameters.pointerType}.`);o.resetClickCount();break}default:t.getOrCreate(r.id,r.type)}let i=r.actions.map(o=>({id:r.id,action:o}));for(let o=0;o<i.length;o++)s.length===o&&s.push([]),s[o].push(i[o])}return s}};function ln(n){return"atob"in globalThis?globalThis.atob(n):Buffer.from(n,"base64").toString("ascii")}function vr(n){let e=n.reduce((t,s)=>`${t}${s.name}: ${s.value.value}\r
4
+ `,"");return new TextEncoder().encode(e).length}function hn(n){return po(new TextEncoder().encode(n))}function po(n){let t=[];for(let r=0;r<n.length;r+=65534){let i=n.subarray(r,r+65534);t.push(String.fromCodePoint.apply(null,i))}let s=t.join("");return btoa(s)}function es(n){return n?Object.entries(n).map(([e,t])=>({name:e,value:{type:"string",value:t}})):[]}function ts(n){if(n!==void 0)return n.map(({name:e,value:t})=>({name:e,value:t.value}))}function pn(n){return n===void 0?void 0:{name:"Cookie",value:{type:"string",value:n.reduce((t,s,r)=>{r>0&&(t+=";");let i=s.value.type==="base64"?btoa(s.value.value):s.value.value;return t+=`${s.name}=${i}`,t},"")}}}function fn(n){switch(n){case"default":return"Default";case"cancel":return"CancelAuth";case"provideCredentials":return"ProvideCredentials"}}function at(n){let e={name:n.name,value:{type:"string",value:n.value},domain:n.domain,path:n.path,size:n.size,httpOnly:n.httpOnly,secure:n.secure,sameSite:n.sameSite===void 0?"none":fo(n.sameSite),...n.expires>=0?{expiry:Math.round(n.expires)}:void 0};return e["goog:session"]=n.session,e["goog:priority"]=n.priority,e["goog:sourceScheme"]=n.sourceScheme,e["goog:sourcePort"]=n.sourcePort,n.partitionKey!==void 0&&(e["goog:partitionKey"]=n.partitionKey),n.partitionKeyOpaque!==void 0&&(e["goog:partitionKeyOpaque"]=n.partitionKeyOpaque),e}function ss(n){return n.type==="base64"?ln(n.value):n.value}function mn(n,e){let t=ss(n.cookie.value),s={name:n.cookie.name,value:t,domain:n.cookie.domain,path:n.cookie.path??"/",secure:n.cookie.secure??!1,httpOnly:n.cookie.httpOnly??!1,...e.sourceOrigin!==void 0&&{partitionKey:{hasCrossSiteAncestor:!1,topLevelSite:e.sourceOrigin}},...n.cookie.expiry!==void 0&&{expires:n.cookie.expiry},...n.cookie.sameSite!==void 0&&{sameSite:mo(n.cookie.sameSite)}};return n.cookie["goog:url"]!==void 0&&(s.url=n.cookie["goog:url"]),n.cookie["goog:priority"]!==void 0&&(s.priority=n.cookie["goog:priority"]),n.cookie["goog:sourceScheme"]!==void 0&&(s.sourceScheme=n.cookie["goog:sourceScheme"]),n.cookie["goog:sourcePort"]!==void 0&&(s.sourcePort=n.cookie["goog:sourcePort"]),s}function fo(n){switch(n){case"Strict":return"strict";case"None":return"none";case"Lax":return"lax";default:return"lax"}}function mo(n){switch(n){case"none":return"None";case"strict":return"Strict";case"default":case"lax":return"Lax"}throw new x(`Unknown 'sameSite' value ${n}`)}function xr(n){return["ftp","file","http","https","ws","wss"].includes(n.replace(/:$/,""))}function go(n){return n.protocol.replace(/:$/,"")}function gn(n,e){let t=new URL(e);return!(n.protocol!==void 0&&n.protocol!==go(t)||n.hostname!==void 0&&n.hostname!==t.hostname||n.port!==void 0&&n.port!==t.port||n.pathname!==void 0&&n.pathname!==t.pathname||n.search!==void 0&&n.search!==t.search)}function wn(n){let e=0;for(let t of n)e+=atob(t.bytes??"").length;return e}function z(n,e=0){return!n||n<=0||n+e<=0?0:n+e}var je=class n{#e;#t;#s;#r;constructor(e,t,s,r){this.#s=s,this.#e=e,this.#t=t,this.#r=r}async addIntercept(e){this.#e.verifyTopLevelContextsList(e.contexts);let t=e.urlPatterns??[],s=n.parseUrlPatterns(t),r=this.#t.addIntercept({urlPatterns:s,phases:e.phases,contexts:e.contexts});return await this.#i(),{intercept:r}}async continueRequest(e){if(e.url!==void 0&&n.parseUrlString(e.url),e.method!==void 0&&!n.isMethodValid(e.method))throw new x(`Method '${e.method}' is invalid.`);e.headers&&n.validateHeaders(e.headers);let t=this.#a(e.request,["beforeRequestSent"]);try{await t.continueRequest(e)}catch(s){throw n.wrapInterceptionError(s)}return{}}async continueResponse(e){e.headers&&n.validateHeaders(e.headers);let t=this.#a(e.request,["authRequired","responseStarted"]);try{await t.continueResponse(e)}catch(s){throw n.wrapInterceptionError(s)}return{}}async continueWithAuth(e){let t=e.request;return await this.#a(t,["authRequired"]).continueWithAuth(e),{}}async failRequest({request:e}){let t=this.#o(e);if(t.interceptPhase==="authRequired")throw new x(`Request '${e}' in 'authRequired' phase cannot be failed`);if(!t.interceptPhase)throw new Le(`No blocked request found for network id '${e}'`);return await t.failRequest("Failed"),{}}async provideResponse(e){e.headers&&n.validateHeaders(e.headers);let t=this.#a(e.request,["beforeRequestSent","responseStarted","authRequired"]);try{await t.provideResponse(e)}catch(s){throw n.wrapInterceptionError(s)}return{}}async#i(){await Promise.all(this.#e.getAllContexts().map(e=>e.cdpTarget.toggleNetwork()))}async removeIntercept(e){return this.#t.removeIntercept(e.intercept),await this.#i(),{}}async setCacheBehavior(e){let t=this.#e.verifyTopLevelContextsList(e.contexts);if(t.size===0)return this.#t.defaultCacheBehavior=e.cacheBehavior,await Promise.all(this.#e.getAllContexts().map(r=>r.cdpTarget.toggleSetCacheDisabled())),{};let s=e.cacheBehavior==="bypass";return await Promise.all([...t.values()].map(r=>r.cdpTarget.toggleSetCacheDisabled(s))),{}}#o(e){let t=this.#t.getRequestById(e);if(!t)throw new Le(`Network request with ID '${e}' doesn't exist`);return t}#a(e,t){let s=this.#o(e);if(!s.interceptPhase)throw new Le(`No blocked request found for network id '${e}'`);if(s.interceptPhase&&!t.includes(s.interceptPhase))throw new x(`Blocked request for network id '${e}' is in '${s.interceptPhase}' phase`);return s}static validateHeaders(e){for(let t of e){let s;if(t.value.type==="string"?s=t.value.value:s=atob(t.value.value),s!==s.trim()||s.includes(`
5
+ `)||s.includes("\0"))throw new x(`Header value '${s}' is not acceptable value`)}}static isMethodValid(e){return/^[!#$%&'*+\-.^_`|~a-zA-Z\d]+$/.test(e)}static parseUrlString(e){try{return new URL(e)}catch(t){throw new x(`Invalid URL '${e}': ${t}`)}}static parseUrlPatterns(e){return e.map(t=>{let s="",r=!0,i=!0,o=!0,a=!0,c=!0;switch(t.type){case"string":{s=qe(t.pattern);break}case"pattern":{if(t.protocol===void 0)r=!1,s+="http";else{if(t.protocol==="")throw new x("URL pattern must specify a protocol");if(t.protocol=qe(t.protocol),!t.protocol.match(/^[a-zA-Z+-.]+$/))throw new x("Forbidden characters");s+=t.protocol}let u=s.toLocaleLowerCase();if(s+=":",xr(u)&&(s+="//"),t.hostname===void 0)u!=="file"&&(s+="placeholder"),i=!1;else{if(t.hostname==="")throw new x("URL pattern must specify a hostname");if(t.protocol==="file")throw new x("URL pattern protocol cannot be 'file'");t.hostname=qe(t.hostname);let l=!1;for(let y of t.hostname){if(y==="/"||y==="?"||y==="#")throw new x("'/', '?', '#' are forbidden in hostname");if(!l&&y===":")throw new x("':' is only allowed inside brackets in hostname");y==="["&&(l=!0),y==="]"&&(l=!1)}s+=t.hostname}if(t.port===void 0)o=!1;else{if(t.port==="")throw new x("URL pattern must specify a port");if(t.port=qe(t.port),s+=":",!t.port.match(/^\d+$/))throw new x("Forbidden characters");s+=t.port}if(t.pathname===void 0)a=!1;else{if(t.pathname=qe(t.pathname),t.pathname[0]!=="/"&&(s+="/"),t.pathname.includes("#")||t.pathname.includes("?"))throw new x("Forbidden characters");s+=t.pathname}if(t.search===void 0)c=!1;else{if(t.search=qe(t.search),t.search[0]!=="?"&&(s+="?"),t.search.includes("#"))throw new x("Forbidden characters");s+=t.search}break}}let d=u=>{let l={"ftp:":21,"file:":null,"http:":80,"https:":443,"ws:":80,"wss:":443};if(xr(u.protocol)&&l[u.protocol]!==null&&(!u.port||String(l[u.protocol])===u.port))return"";if(u.port)return u.port};try{let u=new URL(s);return{protocol:r?u.protocol.replace(/:$/,""):void 0,hostname:i?u.hostname:void 0,port:o?d(u):void 0,pathname:a&&u.pathname?u.pathname:void 0,search:c?u.search:void 0}}catch(u){throw new x(`${u.message} '${s}'`)}})}static wrapInterceptionError(e){return e?.message.includes("Invalid header")||e?.message.includes("Unsafe header")?new x(e.message):e}async addDataCollector(e){if(e.userContexts!==void 0&&e.contexts!==void 0)throw new x("'contexts' and 'userContexts' are mutually exclusive");if(e.userContexts!==void 0&&await this.#s.verifyUserContextIdList(e.userContexts),e.contexts!==void 0){for(let s of e.contexts)if(!this.#e.getContext(s).isTopLevelContext())throw new x("Data collectors are available only on top-level browsing contexts")}let t=this.#t.addDataCollector(e);return await this.#i(),{collector:t}}async getData(e){return await this.#t.getCollectedData(e)}async removeDataCollector(e){return this.#t.removeDataCollector(e),await this.#i(),{}}disownData(e){return this.#t.disownData(e),{}}async#d(e,t){if(e===void 0&&t===void 0)return this.#e.getTopLevelContexts();if(e!==void 0&&t!==void 0)throw new x("User contexts and browsing contexts are mutually exclusive");let s=[];if(t!==void 0){if(t.length===0)throw new x("user context should be provided");await this.#s.verifyUserContextIdList(t);for(let r of t){let i=this.#e.getTopLevelContexts().filter(o=>o.userContext===r);s.push(...i)}}if(e!==void 0){if(e.length===0)throw new x("browsing context should be provided");for(let r of e){let i=this.#e.getContext(r);if(!i.isTopLevelContext())throw new x("The command is only supported on the top-level context");s.push(i)}}return[...new Set(s).values()]}async setExtraHeaders(e){let t=await this.#d(e.contexts,e.userContexts),s=vo(e.headers);return e.userContexts===void 0&&e.contexts===void 0&&this.#r.updateGlobalConfig({extraHeaders:s}),e.userContexts!==void 0&&e.userContexts.forEach(r=>{this.#r.updateUserContextConfig(r,{extraHeaders:s})}),e.contexts!==void 0&&e.contexts.forEach(r=>{this.#r.updateBrowsingContextConfig(r,{extraHeaders:s})}),await Promise.all(t.map(async r=>{let i=this.#r.getActiveConfig(r.id,r.userContext).extraHeaders??{};await r.setExtraHeaders(i)})),{}}};function qe(n){let e=new Set(["(",")","*","{","}"]),t="",s=!1;for(let r of n){if(!s){if(e.has(r))throw new x("Forbidden characters");if(r==="\\"){s=!0;continue}}t+=r,s=!1}return t}var wo=new Set([" "," ",`
6
+ `,'"',"(",")",",","/",":",";","<","=",">","?","@","[","\\","]","{","}"]),yo=new Set(["\0",`
7
+ `,"\r"]);function yn(n,e){for(let t of n)if(e.has(t))return!0;return!1}function vo(n){let e={};for(let t of n)if(t.value.type==="string"){let s=t.name,r=t.value.value;if(s.length===0)throw new x("Empty header name is not allowed");if(yn(s,wo))throw new x(`Header name '${s}' contains forbidden symbols`);if(yn(r,yo))throw new x(`Header value '${r}' contains forbidden symbols`);if(r.trim()!==r)throw new x("Header value should not contain trailing or ending whitespaces");e[t.name]=t.value.value}else throw new R("Only string headers values are supported");return e}var rs=class{#e;constructor(e){this.#e=e}async setPermissions(e){try{let t=e["goog:userContext"]||e.userContext;await this.#e.sendCommand("Browser.setPermission",{origin:e.origin,embeddedOrigin:e.embeddedOrigin,browserContextId:t&&t!=="default"?t:void 0,permission:{name:e.descriptor.name},setting:e.state})}catch(t){if(t.message==="Permission can't be granted to opaque origins.")return{};throw new x(t.message)}return{}}};function ct(n){return n.reduce((e,t)=>e+t.toString(16).padStart(2,"0"),"")}function $(){if("crypto"in globalThis&&"randomUUID"in globalThis.crypto)return globalThis.crypto.randomUUID();let n=new Uint8Array(16);return"crypto"in globalThis&&"getRandomValues"in globalThis.crypto&&globalThis.crypto.getRandomValues(n),n[6]=n[6]&15|64,n[8]=n[8]&63|128,[ct(n.subarray(0,4)),ct(n.subarray(4,6)),ct(n.subarray(6,8)),ct(n.subarray(8,10)),ct(n.subarray(10,16))].join("-")}var $e=class n{#e;#t=$();#s;constructor(e,t){this.#e=e,this.#s=t}async init(e,t){let s=await n.#i(e),r=await n.#o(e,s);return this.#a(e,s,t),r}async startListenerFromWindow(e,t){try{let s=await this.#d(e);this.#a(e,s,t)}catch(s){this.#s?.(S.debugError)?.(s)}}static#r(){return`(${String(()=>{let t=[],s=null;return{async getMessage(){return await(t.length>0?Promise.resolve():new Promise(i=>{s=i})),t.shift()},sendMessage(r){t.push(r),s!==null&&(s(),s=null)}}})})()`}static async#i(e){let t=await e.cdpClient.sendCommand("Runtime.evaluate",{expression:this.#r(),contextId:e.executionContextId,serializationOptions:{serialization:"idOnly"}});if(t.exceptionDetails||t.result.objectId===void 0)throw new Error("Cannot create channel");return t.result.objectId}static async#o(e,t){return(await e.cdpClient.sendCommand("Runtime.callFunctionOn",{functionDeclaration:String(r=>r.sendMessage),arguments:[{objectId:t}],executionContextId:e.executionContextId,serializationOptions:{serialization:"idOnly"}})).result.objectId}async#a(e,t,s){for(;;)try{let r=await e.cdpClient.sendCommand("Runtime.callFunctionOn",{functionDeclaration:String(async i=>await i.getMessage()),arguments:[{objectId:t}],awaitPromise:!0,executionContextId:e.executionContextId,serializationOptions:{serialization:"deep",maxDepth:this.#e.serializationOptions?.maxObjectDepth??void 0}});if(r.exceptionDetails)throw new Error("Runtime.callFunctionOn in ChannelProxy",{cause:r.exceptionDetails});for(let i of e.associatedBrowsingContexts)s.registerEvent({type:"event",method:C.Script.EventNames.Message,params:{channel:this.#e.channel,data:e.cdpToBidiValue(r,this.#e.ownership??"none"),source:e.source}},i.id)}catch(r){this.#s?.(S.debugError)?.(r);break}}async#d(e){let t=await e.cdpClient.sendCommand("Runtime.callFunctionOn",{functionDeclaration:String(s=>{let r=window;if(r[s]===void 0)return new Promise(o=>r[s]=o);let i=r[s];return delete r[s],i}),arguments:[{value:this.#t}],executionContextId:e.executionContextId,awaitPromise:!0,serializationOptions:{serialization:"idOnly"}});if(t.exceptionDetails!==void 0||t.result.objectId===void 0)throw new Error(`ChannelHandle not found in window["${this.#t}"]`);return t.result.objectId}getEvalInWindowStr(){let e=String((s,r)=>{let i=window;return i[s]===void 0?i[s]=r:(i[s](r),delete i[s]),r.sendMessage}),t=n.#r();return`(${e})('${this.#t}',${t})`}};var is=class{#e=$();#t=[];#s;#r=new Set;#i;#o;#a;#d;get id(){return this.#e}get targetIds(){return this.#r}constructor(e,t){this.#i=e.arguments?.map(s=>new $e(s.value,t))??[],this.#s=e.functionDeclaration,this.#o=e.sandbox,this.#a=e.contexts,this.#d=e.userContexts}get channels(){return this.#i}get contexts(){return this.#a}get userContexts(){return this.#d}#n(){let e=`[${this.channels.map(t=>t.getEvalInWindowStr()).join(", ")}]`;return`(()=>{(${this.#s})(...${e})})()`}async initInTargets(e,t){await Promise.all(Array.from(e).map(s=>this.initInTarget(s,t)))}async initInTarget(e,t){let s=await e.cdpClient.sendCommand("Page.addScriptToEvaluateOnNewDocument",{source:this.#n(),worldName:this.#o,runImmediately:t});this.#t.push({target:e,preloadScriptId:s.identifier}),this.#r.add(e.id)}async remove(){await Promise.all([this.#t.map(async e=>{let t=e.target,s=e.preloadScriptId;return await t.cdpClient.sendCommand("Page.removeScriptToEvaluateOnNewDocument",{identifier:s})})])}dispose(e){this.#t=this.#t.filter(t=>t.target?.id!==e),this.#r.delete(e)}};var ns=class{#e;#t;#s;#r;#i;#o;constructor(e,t,s,r,i,o){this.#t=t,this.#s=s,this.#r=r,this.#i=i,this.#o=o,this.#e=e,this.#e.addSubscribeHook(C.Script.EventNames.RealmCreated,this.#a.bind(this))}#a(e){let t=this.#t.getContext(e),s=[t,...this.#t.getContext(e).allChildren],r=new Set;for(let i of s){let o=this.#s.findRealms({browsingContextId:i.id});for(let a of o)r.add(a)}for(let i of r)this.#e.registerEvent({type:"event",method:C.Script.EventNames.RealmCreated,params:i.realmInfo},t.id);return Promise.resolve()}async addPreloadScript(e){if(e.userContexts?.length&&e.contexts?.length)throw new x("Both userContexts and contexts cannot be specified.");let t=await this.#i.verifyUserContextIdList(e.userContexts??[]),s=this.#t.verifyTopLevelContextsList(e.contexts),r=new is(e,this.#o);this.#r.add(r);let i=[];t.size?i=this.#t.getTopLevelContexts().filter(a=>t.has(a.userContext)):s.size?i=[...s.values()]:i=this.#t.getTopLevelContexts();let o=new Set(i.map(a=>a.cdpTarget));return await r.initInTargets(o,!1),{script:r.id}}async removePreloadScript(e){let{script:t}=e;return await this.#r.getPreloadScript(t).remove(),this.#r.remove(t),{}}async callFunction(e){return await(await this.#d(e.target)).callFunction(e.functionDeclaration,e.awaitPromise,e.this,e.arguments,e.resultOwnership,e.serializationOptions,e.userActivation)}async evaluate(e){return await(await this.#d(e.target)).evaluate(e.expression,e.awaitPromise,e.resultOwnership,e.serializationOptions,e.userActivation)}async disown(e){let t=await this.#d(e.target);return await Promise.all(e.handles.map(async s=>await t.disown(s))),{}}getRealms(e){return e.context!==void 0&&this.#t.getContext(e.context),{realms:this.#s.findRealms({browsingContextId:e.context,type:e.type,isHidden:!1}).map(s=>s.realmInfo)}}async#d(e){return"context"in e?await this.#t.getContext(e.context).getOrCreateUserSandbox(e.sandbox):this.#s.getRealm({realmId:e.realm,isHidden:!1})}};var os=class{#e;#t;#s;#r=!1;constructor(e,t,s){this.#e=e,this.#t=t,this.#s=s}status(){return{ready:!1,message:"already connected"}}#i(e){let t=[];for(let r of e.firstMatch??[{}]){let i={...e.alwaysMatch};for(let o of Object.keys(r)){if(i[o]!==void 0)throw new x(`Capability ${o} in firstMatch is already defined in alwaysMatch`);i[o]=r[o]}t.push(i)}let s=t.find(r=>r.browserName==="chrome")??t[0]??{};return s.unhandledPromptBehavior=this.#o(s.unhandledPromptBehavior),s}#o(e){if(e!==void 0){if(typeof e=="object")return e;if(typeof e!="string")throw new x(`Unexpected 'unhandledPromptBehavior' type: ${typeof e}`);switch(e){case"accept":case"accept and notify":return{default:"accept",beforeUnload:"accept"};case"dismiss":case"dismiss and notify":return{default:"dismiss",beforeUnload:"accept"};case"ignore":return{default:"ignore",beforeUnload:"accept"};default:throw new x(`Unexpected 'unhandledPromptBehavior' value: ${e}`)}}}async new(e){if(this.#r)throw new Error("Session has been already created.");this.#r=!0;let t=this.#i(e.capabilities);await this.#s(t);let s=await this.#t.sendCommand("Browser.getVersion");return{sessionId:"unknown",capabilities:{...t,acceptInsecureCerts:t.acceptInsecureCerts??!1,browserName:s.product,browserVersion:s.revision,platformName:"",setWindowRect:!1,webSocketUrl:"",userAgent:s.userAgent}}}async subscribe(e,t=null){return{subscription:await this.#e.subscribe(e.events,e.contexts??[],e.userContexts??[],t)}}async unsubscribe(e,t=null){return"subscriptions"in e?(await this.#e.unsubscribeByIds(e.subscriptions),{}):(await this.#e.unsubscribe(e.events,t),{})}};var as=class{#e;#t;#s;constructor(e,t,s){this.#t=t,this.#e=e,this.#s=s}async deleteCookies(e){let t=this.#d(e.partition),s;try{s=await this.#e.sendCommand("Storage.getCookies",{browserContextId:this.#i(t)})}catch(i){throw this.#r(i)?new G(i.message):i}let r=s.cookies.filter(i=>t.sourceOrigin===void 0||i.partitionKey?.topLevelSite===t.sourceOrigin).filter(i=>{let o=at(i);return this.#n(o,e.filter)}).map(i=>({...i,expires:1}));return await this.#e.sendCommand("Storage.setCookies",{cookies:r,browserContextId:this.#i(t)}),{partitionKey:t}}async getCookies(e){let t=this.#d(e.partition),s;try{s=await this.#e.sendCommand("Storage.getCookies",{browserContextId:this.#i(t)})}catch(i){throw this.#r(i)?new G(i.message):i}return{cookies:s.cookies.filter(i=>t.sourceOrigin===void 0||i.partitionKey?.topLevelSite===t.sourceOrigin).map(i=>at(i)).filter(i=>this.#n(i,e.filter)),partitionKey:t}}async setCookie(e){let t=this.#d(e.partition),s=mn(e,t);try{await this.#e.sendCommand("Storage.setCookies",{cookies:[s],browserContextId:this.#i(t)})}catch(r){throw this.#r(r)?new G(r.message):(this.#s?.(S.debugError)?.(r),new At(r.toString()))}return{partitionKey:t}}#r(e){return e.message?.startsWith("Failed to find browser context for id")}#i(e){return e.userContext==="default"?void 0:e.userContext}#o(e){let t=e.context;return{userContext:this.#t.getContext(t).userContext}}#a(e){let t=new Map,s=e.sourceOrigin;if(s!==void 0){let i=je.parseUrlString(s);i.origin==="null"?s=i.origin:s=`${i.protocol}//${i.hostname}`}for(let[i,o]of Object.entries(e))i!==void 0&&o!==void 0&&!["type","sourceOrigin","userContext"].includes(i)&&t.set(i,o);return t.size>0&&this.#s?.(S.debugInfo)?.(`Unsupported partition keys: ${JSON.stringify(Object.fromEntries(t))}`),{userContext:e.userContext??"default",...s===void 0?{}:{sourceOrigin:s}}}#d(e){return e===void 0?{userContext:"default"}:e.type==="context"?this.#o(e):(_(e.type==="storageKey","Unknown partition type"),this.#a(e))}#n(e,t){return t===void 0?!0:(t.domain===void 0||t.domain===e.domain)&&(t.name===void 0||t.name===e.name)&&(t.value===void 0||ss(t.value)===ss(e.value))&&(t.path===void 0||t.path===e.path)&&(t.size===void 0||t.size===e.size)&&(t.httpOnly===void 0||t.httpOnly===e.httpOnly)&&(t.secure===void 0||t.secure===e.secure)&&(t.sameSite===void 0||t.sameSite===e.sameSite)&&(t.expiry===void 0||t.expiry===e.expiry)}};var cs=class{#e;constructor(e){this.#e=e}async install(e){switch(e.extensionData.type){case"archivePath":case"base64":throw new R("Archived and Base64 extensions are not supported");case"path":break}try{return{extension:(await this.#e.sendCommand("Extensions.loadUnpacked",{path:e.extensionData.path})).id}}catch(t){throw t.message.startsWith("invalid web extension")?new Ut(t.message):t}}async uninstall(e){try{return await this.#e.sendCommand("Extensions.uninstall",{id:e.extension}),{}}catch(t){throw t.message==="Uninstall failed. Reason: could not find extension."?new Lt("no such web extension"):t}}};var X=class n{#e;#t;constructor(e,t=null){this.#e=e,this.#t=t}static createFromPromise(e,t){return e.then(s=>s.kind==="success"?{kind:"success",value:new n(s.value,t)}:s)}static createResolved(e,t=null){return Promise.resolve({kind:"success",value:new n(e,t)})}get message(){return this.#e}get googChannel(){return this.#t}};var ds=class extends K{#e;#t;#s;#r;#i;#o;#a;#d;#n;#l;#h;#c;#f;#p;#u;#m;constructor(e,t,s,r,i,o,a,c,d,u,l,y=new Mt,f,h){super(),this.#t=t,this.#u=y,this.#m=h,this.#e=d,this.#o=u,this.#s=new qt(t,r,c,l),this.#r=new $t(t,r,l,c,s),this.#i=new jt(r,i,e,t),this.#a=new Ht(r,l,c),this.#d=new Qt(r),this.#n=new je(r,a,l,c),this.#l=new rs(t),this.#h=new ns(s,r,i,o,l,h),this.#c=new os(s,t,f),this.#f=new as(t,r,h),this.#p=new cs(t)}async#g(e){switch(e.method){case"bluetooth.disableSimulation":return await this.#e.disableSimulation(this.#u.parseDisableSimulationParameters(e.params));case"bluetooth.handleRequestDevicePrompt":return await this.#e.handleRequestDevicePrompt(this.#u.parseHandleRequestDevicePromptParams(e.params));case"bluetooth.simulateAdapter":return await this.#e.simulateAdapter(this.#u.parseSimulateAdapterParameters(e.params));case"bluetooth.simulateAdvertisement":return await this.#e.simulateAdvertisement(this.#u.parseSimulateAdvertisementParameters(e.params));case"bluetooth.simulateCharacteristic":return await this.#e.simulateCharacteristic(this.#u.parseSimulateCharacteristicParameters(e.params));case"bluetooth.simulateCharacteristicResponse":return await this.#e.simulateCharacteristicResponse(this.#u.parseSimulateCharacteristicResponseParameters(e.params));case"bluetooth.simulateDescriptor":return await this.#e.simulateDescriptor(this.#u.parseSimulateDescriptorParameters(e.params));case"bluetooth.simulateDescriptorResponse":return await this.#e.simulateDescriptorResponse(this.#u.parseSimulateDescriptorResponseParameters(e.params));case"bluetooth.simulateGattConnectionResponse":return await this.#e.simulateGattConnectionResponse(this.#u.parseSimulateGattConnectionResponseParameters(e.params));case"bluetooth.simulateGattDisconnection":return await this.#e.simulateGattDisconnection(this.#u.parseSimulateGattDisconnectionParameters(e.params));case"bluetooth.simulatePreconnectedPeripheral":return await this.#e.simulatePreconnectedPeripheral(this.#u.parseSimulatePreconnectedPeripheralParameters(e.params));case"bluetooth.simulateService":return await this.#e.simulateService(this.#u.parseSimulateServiceParameters(e.params));case"browser.close":return this.#s.close();case"browser.createUserContext":return await this.#s.createUserContext(this.#u.parseCreateUserContextParameters(e.params));case"browser.getClientWindows":return await this.#s.getClientWindows();case"browser.getUserContexts":return await this.#s.getUserContexts();case"browser.removeUserContext":return await this.#s.removeUserContext(this.#u.parseRemoveUserContextParameters(e.params));case"browser.setClientWindowState":return await this.#s.setClientWindowState(this.#u.parseSetClientWindowStateParameters(e.params));case"browser.setDownloadBehavior":return await this.#s.setDownloadBehavior(this.#u.parseSetDownloadBehaviorParameters(e.params));case"browsingContext.activate":return await this.#r.activate(this.#u.parseActivateParams(e.params));case"browsingContext.captureScreenshot":return await this.#r.captureScreenshot(this.#u.parseCaptureScreenshotParams(e.params));case"browsingContext.close":return await this.#r.close(this.#u.parseCloseParams(e.params));case"browsingContext.create":return await this.#r.create(this.#u.parseCreateParams(e.params));case"browsingContext.getTree":return this.#r.getTree(this.#u.parseGetTreeParams(e.params));case"browsingContext.handleUserPrompt":return await this.#r.handleUserPrompt(this.#u.parseHandleUserPromptParams(e.params));case"browsingContext.locateNodes":return await this.#r.locateNodes(this.#u.parseLocateNodesParams(e.params));case"browsingContext.navigate":return await this.#r.navigate(this.#u.parseNavigateParams(e.params));case"browsingContext.print":return await this.#r.print(this.#u.parsePrintParams(e.params));case"browsingContext.reload":return await this.#r.reload(this.#u.parseReloadParams(e.params));case"browsingContext.setBypassCSP":throw this.#u.parseSetBypassCspParams(e.params),new R(`Method ${e.method} is not implemented.`);case"browsingContext.setViewport":return await this.#r.setViewport(this.#u.parseSetViewportParams(e.params));case"browsingContext.startScreencast":throw this.#u.parseStartScreencastParams(e.params),new R(`Method ${e.method} is not implemented.`);case"browsingContext.stopScreencast":throw this.#u.parseStopScreencastParams(e.params),new R(`Method ${e.method} is not implemented.`);case"browsingContext.traverseHistory":return await this.#r.traverseHistory(this.#u.parseTraverseHistoryParams(e.params));case"goog:cdp.getSession":return this.#i.getSession(this.#u.parseGetSessionParams(e.params));case"goog:cdp.resolveRealm":return this.#i.resolveRealm(this.#u.parseResolveRealmParams(e.params));case"goog:cdp.sendCommand":return await this.#i.sendCommand(this.#u.parseSendCommandParams(e.params));case"digitalCredentials.setVirtualWalletBehavior":return await this.#o.setVirtualWalletBehavior(this.#u.parseSetVirtualWalletBehaviorParams(e.params));case"emulation.setForcedColorsModeThemeOverride":throw this.#u.parseSetForcedColorsModeThemeOverrideParams(e.params),new R(`Method ${e.method} is not implemented.`);case"emulation.setGeolocationOverride":return await this.#a.setGeolocationOverride(this.#u.parseSetGeolocationOverrideParams(e.params));case"emulation.setLocaleOverride":return await this.#a.setLocaleOverride(this.#u.parseSetLocaleOverrideParams(e.params));case"emulation.setNetworkConditions":return await this.#a.setNetworkConditions(this.#u.parseSetNetworkConditionsParams(e.params));case"emulation.setScreenOrientationOverride":return await this.#a.setScreenOrientationOverride(this.#u.parseSetScreenOrientationOverrideParams(e.params));case"emulation.setScreenSettingsOverride":return await this.#a.setScreenSettingsOverride(this.#u.parseSetScreenSettingsOverrideParams(e.params));case"emulation.setScriptingEnabled":return await this.#a.setScriptingEnabled(this.#u.parseSetScriptingEnabledParams(e.params));case"emulation.setScrollbarTypeOverride":return await this.#a.setScrollbarTypeOverride(this.#u.parseSetScrollbarTypeOverrideParams(e.params));case"emulation.setTimezoneOverride":return await this.#a.setTimezoneOverride(this.#u.parseSetTimezoneOverrideParams(e.params));case"emulation.setTouchOverride":return await this.#a.setTouchOverride(this.#u.parseSetTouchOverrideParams(e.params));case"emulation.setUserAgentOverride":return await this.#a.setUserAgentOverrideParams(this.#u.parseSetUserAgentOverrideParams(e.params));case"userAgentClientHints.setClientHintsOverride":return await this.#a.setClientHintsOverride(this.#u.parseSetClientHintsOverrideParams(e.params));case"input.performActions":return await this.#d.performActions(this.#u.parsePerformActionsParams(e.params));case"input.releaseActions":return await this.#d.releaseActions(this.#u.parseReleaseActionsParams(e.params));case"input.setFiles":return await this.#d.setFiles(this.#u.parseSetFilesParams(e.params));case"network.addDataCollector":return await this.#n.addDataCollector(this.#u.parseAddDataCollectorParams(e.params));case"network.addIntercept":return await this.#n.addIntercept(this.#u.parseAddInterceptParams(e.params));case"network.continueRequest":return await this.#n.continueRequest(this.#u.parseContinueRequestParams(e.params));case"network.continueResponse":return await this.#n.continueResponse(this.#u.parseContinueResponseParams(e.params));case"network.continueWithAuth":return await this.#n.continueWithAuth(this.#u.parseContinueWithAuthParams(e.params));case"network.disownData":return this.#n.disownData(this.#u.parseDisownDataParams(e.params));case"network.failRequest":return await this.#n.failRequest(this.#u.parseFailRequestParams(e.params));case"network.getData":return await this.#n.getData(this.#u.parseGetDataParams(e.params));case"network.provideResponse":return await this.#n.provideResponse(this.#u.parseProvideResponseParams(e.params));case"network.removeDataCollector":return await this.#n.removeDataCollector(this.#u.parseRemoveDataCollectorParams(e.params));case"network.removeIntercept":return await this.#n.removeIntercept(this.#u.parseRemoveInterceptParams(e.params));case"network.setCacheBehavior":return await this.#n.setCacheBehavior(this.#u.parseSetCacheBehaviorParams(e.params));case"network.setExtraHeaders":return await this.#n.setExtraHeaders(this.#u.parseSetExtraHeadersParams(e.params));case"permissions.setPermission":return await this.#l.setPermissions(this.#u.parseSetPermissionsParams(e.params));case"script.addPreloadScript":return await this.#h.addPreloadScript(this.#u.parseAddPreloadScriptParams(e.params));case"script.callFunction":return await this.#h.callFunction(this.#u.parseCallFunctionParams(this.#y(e.params)));case"script.disown":return await this.#h.disown(this.#u.parseDisownParams(this.#y(e.params)));case"script.evaluate":return await this.#h.evaluate(this.#u.parseEvaluateParams(this.#y(e.params)));case"script.getRealms":return this.#h.getRealms(this.#u.parseGetRealmsParams(e.params));case"script.removePreloadScript":return await this.#h.removePreloadScript(this.#u.parseRemovePreloadScriptParams(e.params));case"session.end":throw new R(`Method ${e.method} is not implemented.`);case"session.new":return await this.#c.new(e.params);case"session.status":return this.#c.status();case"session.subscribe":return await this.#c.subscribe(this.#u.parseSubscribeParams(e.params),e["goog:channel"]);case"session.unsubscribe":return await this.#c.unsubscribe(this.#u.parseUnsubscribeParams(e.params),e["goog:channel"]);case"storage.deleteCookies":return await this.#f.deleteCookies(this.#u.parseDeleteCookiesParams(e.params));case"storage.getCookies":return await this.#f.getCookies(this.#u.parseGetCookiesParams(e.params));case"storage.setCookie":return await this.#f.setCookie(this.#u.parseSetCookieParams(e.params));case"webExtension.install":return await this.#p.install(this.#u.parseInstallParams(e.params));case"webExtension.uninstall":return await this.#p.uninstall(this.#u.parseUninstallParams(e.params))}throw new Ft(`Unknown command '${e?.method}'.`)}#y(e){return typeof e=="object"&&e&&"target"in e&&typeof e.target=="object"&&e.target&&"context"in e.target&&delete e.target.realm,e}async processCommand(e){try{let t=await this.#g(e),s={type:"success",id:e.id,result:t};this.emit("response",{message:X.createResolved(s,e["goog:channel"]),event:e.method})}catch(t){if(t instanceof F)this.emit("response",{message:X.createResolved(t.toErrorResponse(e.id),e["goog:channel"]),event:e.method});else{let s=t;this.#m?.(S.bidi)?.(s);let r=this.#t.isCloseError(t)?new V("Browsing context is gone"):new O(s.message,s.stack);this.emit("response",{message:X.createResolved(r.toErrorResponse(e.id),e["goog:channel"]),event:e.method})}}}};var dt=class{id;uuid;constructor(e,t){this.id=e,this.uuid=t}},br=class extends dt{characteristic;constructor(e,t,s){super(e,t),this.characteristic=s}},Cr=class extends dt{descriptors=new Map;service;constructor(e,t,s){super(e,t),this.service=s}},Er=class extends dt{characteristics=new Map;device;constructor(e,t,s){super(e,t),this.device=s}},Sr=class{address;services=new Map;constructor(e){this.address=e}},us=class{#e;#t;#s=new Map;#r=new Map;#i=new Map;constructor(e,t){this.#e=e,this.#t=t}#o(e){let t=this.#s.get(e);if(!t)throw new x(`Bluetooth device with address ${e} does not exist`);return t}#a(e,t){let s=e.services.get(t);if(!s)throw new x(`Service with UUID ${t} on device ${e.address} does not exist`);return s}#d(e,t){let s=e.characteristics.get(t);if(!s)throw new x(`Characteristic with UUID ${t} does not exist for service ${e.uuid} on device ${e.device.address}`);return s}#n(e,t){let s=e.descriptors.get(t);if(!s)throw new x(`Descriptor with UUID ${t} does not exist for characteristic ${e.uuid} on service ${e.service.uuid} on device ${e.service.device.address}`);return s}async simulateAdapter(e){if(e.state===void 0)throw new x('Parameter "state" is required for creating a Bluetooth adapter');let t=this.#t.getContext(e.context);return await t.cdpTarget.browserCdpClient.sendCommand("BluetoothEmulation.disable"),this.#s.clear(),this.#r.clear(),this.#i.clear(),await t.cdpTarget.browserCdpClient.sendCommand("BluetoothEmulation.enable",{state:e.state,leSupported:e.leSupported??!0}),{}}async disableSimulation(e){return await this.#t.getContext(e.context).cdpTarget.browserCdpClient.sendCommand("BluetoothEmulation.disable"),this.#s.clear(),this.#r.clear(),this.#i.clear(),{}}async simulatePreconnectedPeripheral(e){if(this.#s.has(e.address))throw new x(`Bluetooth device with address ${e.address} already exists`);return await this.#t.getContext(e.context).cdpTarget.browserCdpClient.sendCommand("BluetoothEmulation.simulatePreconnectedPeripheral",{address:e.address,name:e.name,knownServiceUuids:e.knownServiceUuids,manufacturerData:e.manufacturerData}),this.#s.set(e.address,new Sr(e.address)),{}}async simulateAdvertisement(e){return await this.#t.getContext(e.context).cdpTarget.browserCdpClient.sendCommand("BluetoothEmulation.simulateAdvertisement",{entry:e.scanEntry}),{}}async simulateCharacteristic(e){let t=this.#o(e.address),s=this.#a(t,e.serviceUuid),r=this.#t.getContext(e.context);switch(e.type){case"add":{if(e.characteristicProperties===void 0)throw new x('Parameter "characteristicProperties" is required for adding a Bluetooth characteristic');if(s.characteristics.has(e.characteristicUuid))throw new x(`Characteristic with UUID ${e.characteristicUuid} already exists`);let i=await r.cdpTarget.browserCdpClient.sendCommand("BluetoothEmulation.addCharacteristic",{serviceId:s.id,characteristicUuid:e.characteristicUuid,properties:e.characteristicProperties}),o=new Cr(i.characteristicId,e.characteristicUuid,s);return s.characteristics.set(e.characteristicUuid,o),this.#r.set(o.id,o),{}}case"remove":{if(e.characteristicProperties!==void 0)throw new x('Parameter "characteristicProperties" should not be provided for removing a Bluetooth characteristic');let i=this.#d(s,e.characteristicUuid);return await r.cdpTarget.browserCdpClient.sendCommand("BluetoothEmulation.removeCharacteristic",{characteristicId:i.id}),s.characteristics.delete(e.characteristicUuid),this.#r.delete(i.id),{}}default:throw new x(`Parameter "type" of ${e.type} is not supported`)}}async simulateCharacteristicResponse(e){let t=this.#t.getContext(e.context),s=this.#o(e.address),r=this.#a(s,e.serviceUuid),i=this.#d(r,e.characteristicUuid);return await t.cdpTarget.browserCdpClient.sendCommand("BluetoothEmulation.simulateCharacteristicOperationResponse",{characteristicId:i.id,type:e.type,code:e.code,...e.data&&{data:btoa(String.fromCharCode(...e.data))}}),{}}async simulateDescriptor(e){let t=this.#o(e.address),s=this.#a(t,e.serviceUuid),r=this.#d(s,e.characteristicUuid),i=this.#t.getContext(e.context);switch(e.type){case"add":{if(r.descriptors.has(e.descriptorUuid))throw new x(`Descriptor with UUID ${e.descriptorUuid} already exists`);let o=await i.cdpTarget.browserCdpClient.sendCommand("BluetoothEmulation.addDescriptor",{characteristicId:r.id,descriptorUuid:e.descriptorUuid}),a=new br(o.descriptorId,e.descriptorUuid,r);return r.descriptors.set(e.descriptorUuid,a),this.#i.set(a.id,a),{}}case"remove":{let o=this.#n(r,e.descriptorUuid);return await i.cdpTarget.browserCdpClient.sendCommand("BluetoothEmulation.removeDescriptor",{descriptorId:o.id}),r.descriptors.delete(e.descriptorUuid),this.#i.delete(o.id),{}}default:throw new x(`Parameter "type" of ${e.type} is not supported`)}}async simulateDescriptorResponse(e){let t=this.#t.getContext(e.context),s=this.#o(e.address),r=this.#a(s,e.serviceUuid),i=this.#d(r,e.characteristicUuid),o=this.#n(i,e.descriptorUuid);return await t.cdpTarget.browserCdpClient.sendCommand("BluetoothEmulation.simulateDescriptorOperationResponse",{descriptorId:o.id,type:e.type,code:e.code,...e.data&&{data:btoa(String.fromCharCode(...e.data))}}),{}}async simulateGattConnectionResponse(e){return await this.#t.getContext(e.context).cdpTarget.browserCdpClient.sendCommand("BluetoothEmulation.simulateGATTOperationResponse",{address:e.address,type:"connection",code:e.code}),{}}async simulateGattDisconnection(e){return await this.#t.getContext(e.context).cdpTarget.browserCdpClient.sendCommand("BluetoothEmulation.simulateGATTDisconnection",{address:e.address}),{}}async simulateService(e){let t=this.#o(e.address),s=this.#t.getContext(e.context);switch(e.type){case"add":{if(t.services.has(e.uuid))throw new x(`Service with UUID ${e.uuid} already exists`);let r=await s.cdpTarget.browserCdpClient.sendCommand("BluetoothEmulation.addService",{address:e.address,serviceUuid:e.uuid});return t.services.set(e.uuid,new Er(r.serviceId,e.uuid,t)),{}}case"remove":{let r=this.#a(t,e.uuid);return await s.cdpTarget.browserCdpClient.sendCommand("BluetoothEmulation.removeService",{serviceId:r.id}),t.services.delete(e.uuid),{}}default:throw new x(`Parameter "type" of ${e.type} is not supported`)}}onCdpTargetCreated(e){e.cdpClient.on("DeviceAccess.deviceRequestPrompted",t=>{this.#e.registerEvent({type:"event",method:"bluetooth.requestDevicePromptUpdated",params:{context:e.id,prompt:t.id,devices:t.devices}},e.id)}),e.browserCdpClient.on("BluetoothEmulation.gattOperationReceived",async t=>{switch(t.type){case"connection":this.#e.registerEvent({type:"event",method:"bluetooth.gattConnectionAttempted",params:{context:e.id,address:t.address}},e.id);return;case"discovery":await e.browserCdpClient.sendCommand("BluetoothEmulation.simulateGATTOperationResponse",{address:t.address,type:"discovery",code:0})}}),e.browserCdpClient.on("BluetoothEmulation.characteristicOperationReceived",t=>{if(!this.#r.has(t.characteristicId))return;let s;if(t.type==="write"){if(t.writeType==="write-default-deprecated")return;s=t.writeType}else s=t.type;let r=this.#r.get(t.characteristicId);this.#e.registerEvent({type:"event",method:"bluetooth.characteristicEventGenerated",params:{context:e.id,address:r.service.device.address,serviceUuid:r.service.uuid,characteristicUuid:r.uuid,type:s,...t.data&&{data:Array.from(atob(t.data),i=>i.charCodeAt(0))}}},e.id)}),e.browserCdpClient.on("BluetoothEmulation.descriptorOperationReceived",t=>{if(!this.#i.has(t.descriptorId))return;let s=this.#i.get(t.descriptorId);this.#e.registerEvent({type:"event",method:"bluetooth.descriptorEventGenerated",params:{context:e.id,address:s.characteristic.service.device.address,serviceUuid:s.characteristic.service.uuid,characteristicUuid:s.characteristic.uuid,descriptorUuid:s.uuid,type:t.type,...t.data&&{data:Array.from(atob(t.data),r=>r.charCodeAt(0))}}},e.id)})}async handleRequestDevicePrompt(e){let t=this.#t.getContext(e.context);return e.accept?await t.cdpTarget.cdpClient.sendCommand("DeviceAccess.selectPrompt",{id:e.prompt,deviceId:e.device}):await t.cdpTarget.cdpClient.sendCommand("DeviceAccess.cancelPrompt",{id:e.prompt}),{}}};var de=class n{acceptInsecureCerts;clientHints;devicePixelRatio;digitalCredentialsBehavior;disableNetworkDurableMessages;downloadBehavior;emulatedNetworkConditions;extraHeaders;geolocation;locale;maxTouchPoints;prerenderingDisabled;screenArea;screenOrientation;scriptingEnabled;scrollbarType;timezone;userAgent;userPromptHandler;viewport;static merge(...e){let t=new n;for(let s of e)if(s)for(let r in s){let i=s[r];i===null?delete t[r]:i!==void 0&&(t[r]=i)}return t}};var ls=class{#e=new de;#t=new Map;#s=new Map;updateGlobalConfig(e){this.#e=de.merge(this.#e,e)}updateBrowsingContextConfig(e,t){this.#s.set(e,de.merge(this.#s.get(e),t))}updateUserContextConfig(e,t){this.#t.set(e,de.merge(this.#t.get(e),t))}getGlobalConfig(){return this.#e}#r(e,t){let s=this.#e.extraHeaders??{},r=this.#t.get(t)?.extraHeaders??{},i=e===void 0?{}:this.#s.get(e)?.extraHeaders??{};return{...s,...r,...i}}getActiveConfig(e,t){let s=de.merge(this.#e,this.#t.get(t));e!==void 0&&(s=de.merge(s,this.#s.get(e)));let r=this.#r(e,t);return s.extraHeaders=Object.keys(r).length>0?r:void 0,s}};var hs=class{#e;constructor(e){this.#e=e}async getUserContexts(){let e=await this.#e.sendCommand("Target.getBrowserContexts");return[{userContext:"default"},...e.browserContextIds.map(t=>({userContext:t}))]}async verifyUserContextIdList(e){let t=new Set;if(!e.length)return t;let s=await this.getUserContexts(),r=new Set(s.map(i=>i.userContext));for(let i of e){if(!r.has(i))throw new G(`User context ${i} not found`);t.add(i)}return t}};var M=class{#e=!1;#t;#s;#r;#i;get isFinished(){return this.#e}get result(){if(!this.#e)throw new Error("Deferred is not finished yet");return this.#s}constructor(){this.#t=new Promise((e,t)=>{this.#r=e,this.#i=t}),this.#t.catch(e=>{})}then(e,t){return this.#t.then(e,t)}catch(e){return this.#t.catch(e)}resolve(e){this.#s=e,this.#e||(this.#e=!0,this.#r(e))}reject(e){this.#e||(this.#e=!0,this.#i(e))}finally(e){return this.#t.finally(e)}[Symbol.toStringTag]="Promise"};function ue(){return new Date().getTime()}function Ee(n){return n/2.54}var xo="_element_";function ps(n,e,t){return`f.${n}.d.${e}.e.${t}`}function bo(n){let e=n.match(new RegExp(`(.*)${xo}(.*)`));if(!e)return null;let t=e[1],s=e[2];if(t===void 0||s===void 0)return null;let r=parseInt(s??"");return isNaN(r)?null:{documentId:t,backendNodeId:r}}function fs(n){let e=bo(n);if(e!==null)return{...e,frameId:void 0};let t=n.match(/f\.(.*)\.d\.(.*)\.e\.([0-9]*)/);if(!t)return null;let s=t[1],r=t[2],i=t[3];if(s===void 0||r===void 0||i===void 0)return null;let o=parseInt(i??"");return isNaN(o)?null:{frameId:s,documentId:r,backendNodeId:o}}var He=class n{#e;#t;#s;#r;#i;#o;realmStorage;constructor(e,t,s,r,i,o,a){this.#e=e,this.#t=t,this.#s=s,this.#r=r,this.#i=i,this.#o=o,this.realmStorage=a,this.realmStorage.addRealm(this)}cdpToBidiValue(e,t){let s=this.serializeForBiDi(e.result.deepSerializedValue,new Map);if(e.result.objectId){let r=e.result.objectId;t==="root"?(s.handle=r,this.realmStorage.knownHandlesToRealmMap.set(r,this.realmId)):this.#m(r).catch(i=>this.#r?.(S.debugError)?.(i))}return s}isHidden(){return!1}serializeForBiDi(e,t){if(Object.hasOwn(e,"weakLocalObjectReference")){let r=e.weakLocalObjectReference;t.has(r)||t.set(r,$()),e.internalId=t.get(r),delete e.weakLocalObjectReference}if(e.type==="node"&&e.value&&Object.hasOwn(e.value,"frameId")&&delete e.value.frameId,e.type==="platformobject")return{type:"object"};let s=e.value;if(s===void 0)return e;if(["array","set","htmlcollection","nodelist"].includes(e.type))for(let r in s)s[r]=this.serializeForBiDi(s[r],t);if(["object","map"].includes(e.type))for(let r in s)s[r]=[this.serializeForBiDi(s[r][0],t),this.serializeForBiDi(s[r][1],t)];return e}get realmId(){return this.#o}get executionContextId(){return this.#s}get origin(){return this.#i}get source(){return{realm:this.realmId}}get cdpClient(){return this.#e}get baseInfo(){return{realm:this.realmId,origin:this.origin}}async evaluate(e,t,s="none",r={},i=!1,o=!1){let a=await this.cdpClient.sendCommand("Runtime.evaluate",{contextId:this.executionContextId,expression:e,awaitPromise:t,serializationOptions:n.#f("deep",r),userGesture:i,includeCommandLineAPI:o});return a.exceptionDetails?await this.#c(a.exceptionDetails,0,s):{realm:this.realmId,result:this.cdpToBidiValue(a,s),type:"success"}}#a(e){if(this.associatedBrowsingContexts.length===0)this.#t.registerGlobalEvent(e);else for(let t of this.associatedBrowsingContexts)this.#t.registerEvent(e,t.id)}initialize(){this.isHidden()||this.#a({type:"event",method:C.Script.EventNames.RealmCreated,params:this.realmInfo})}async serializeCdpObject(e,t){let s=n.#d(e),r=await this.cdpClient.sendCommand("Runtime.callFunctionOn",{functionDeclaration:String(i=>i),awaitPromise:!1,arguments:[s],serializationOptions:{serialization:"deep"},executionContextId:this.executionContextId});return this.cdpToBidiValue(r,t)}static#d(e){return e.objectId!==void 0?{objectId:e.objectId}:e.unserializableValue!==void 0?{unserializableValue:e.unserializableValue}:{value:e.value}}async stringifyObject(e){let{result:t}=await this.cdpClient.sendCommand("Runtime.callFunctionOn",{functionDeclaration:String(s=>String(s)),awaitPromise:!1,arguments:[e],returnByValue:!0,executionContextId:this.executionContextId});return t.value}async#n(e){return(await Promise.all(e.map(async([s,r])=>{let i;typeof s=="string"?i={value:s}:i=await this.deserializeForCdp(s);let o=await this.deserializeForCdp(r);return[i,o]}))).flat()}async#l(e){return await Promise.all(e.map(t=>this.deserializeForCdp(t)))}async#h(e,t,s){let r=e.stackTrace?.callFrames.map(o=>({url:o.url,functionName:o.functionName,lineNumber:o.lineNumber-t,columnNumber:o.columnNumber}))??[],i=e.exception;return{exception:await this.serializeCdpObject(i,s),columnNumber:e.columnNumber,lineNumber:e.lineNumber-t,stackTrace:{callFrames:r},text:await this.stringifyObject(i)||e.text}}async callFunction(e,t,s={type:"undefined"},r=[],i="none",o={},a=!1){let c=`(...args) => {
8
+ function callFunction(f, args) {
9
+ const deserializedThis = args.shift();
10
+ const deserializedArgs = args;
11
+ return f.apply(deserializedThis, deserializedArgs);
12
+ }
13
+ return callFunction((
14
+ ${e}
15
+ ), args);
16
+ }`,d=[await this.deserializeForCdp(s),...await Promise.all(r.map(async l=>await this.deserializeForCdp(l)))],u;try{u=await this.cdpClient.sendCommand("Runtime.callFunctionOn",{functionDeclaration:c,awaitPromise:t,arguments:d,serializationOptions:n.#f("deep",o),executionContextId:this.executionContextId,userGesture:a})}catch(l){throw l.code===-32e3&&["Could not find object with given id","Argument should belong to the same JavaScript world as target object","Invalid remote object id"].includes(l.message)?new rt("Handle was not found."):l}return u.exceptionDetails?await this.#c(u.exceptionDetails,1,i):{type:"success",result:this.cdpToBidiValue(u,i),realm:this.realmId}}async deserializeForCdp(e){if("handle"in e&&e.handle)return{objectId:e.handle};if("handle"in e||"sharedId"in e)throw new rt("Handle was not found.");switch(e.type){case"undefined":return{unserializableValue:"undefined"};case"null":return{unserializableValue:"null"};case"string":return{value:e.value};case"number":return e.value==="NaN"?{unserializableValue:"NaN"}:e.value==="-0"?{unserializableValue:"-0"}:e.value==="Infinity"?{unserializableValue:"Infinity"}:e.value==="-Infinity"?{unserializableValue:"-Infinity"}:{value:e.value};case"boolean":return{value:!!e.value};case"bigint":return{unserializableValue:`BigInt(${JSON.stringify(e.value)})`};case"date":return{unserializableValue:`new Date(Date.parse(${JSON.stringify(e.value)}))`};case"regexp":return{unserializableValue:`new RegExp(${JSON.stringify(e.value.pattern)}, ${JSON.stringify(e.value.flags)})`};case"map":{let t=await this.#n(e.value),{result:s}=await this.cdpClient.sendCommand("Runtime.callFunctionOn",{functionDeclaration:String((...r)=>{let i=new Map;for(let o=0;o<r.length;o+=2)i.set(r[o],r[o+1]);return i}),awaitPromise:!1,arguments:t,returnByValue:!1,executionContextId:this.executionContextId});return{objectId:s.objectId}}case"object":{let t=await this.#n(e.value),{result:s}=await this.cdpClient.sendCommand("Runtime.callFunctionOn",{functionDeclaration:String((...r)=>{let i={};for(let o=0;o<r.length;o+=2){let a=r[o];i[a]=r[o+1]}return i}),awaitPromise:!1,arguments:t,returnByValue:!1,executionContextId:this.executionContextId});return{objectId:s.objectId}}case"array":{let t=await this.#l(e.value),{result:s}=await this.cdpClient.sendCommand("Runtime.callFunctionOn",{functionDeclaration:String((...r)=>r),awaitPromise:!1,arguments:t,returnByValue:!1,executionContextId:this.executionContextId});return{objectId:s.objectId}}case"set":{let t=await this.#l(e.value),{result:s}=await this.cdpClient.sendCommand("Runtime.callFunctionOn",{functionDeclaration:String((...r)=>new Set(r)),awaitPromise:!1,arguments:t,returnByValue:!1,executionContextId:this.executionContextId});return{objectId:s.objectId}}case"channel":return{objectId:await new $e(e.value,this.#r).init(this,this.#t)}}throw new Error(`Value ${JSON.stringify(e)} is not deserializable.`)}async#c(e,t,s){return{exceptionDetails:await this.#h(e,t,s),realm:this.realmId,type:"exception"}}static#f(e,t){return{serialization:e,additionalParameters:n.#p(t),...n.#u(t)}}static#p(e){let t={};return e.maxDomDepth!==void 0&&(t.maxNodeDepth=e.maxDomDepth===null?1e3:e.maxDomDepth),e.includeShadowTree!==void 0&&(t.includeShadowTree=e.includeShadowTree),t}static#u(e){return e.maxObjectDepth===void 0||e.maxObjectDepth===null?{}:{maxDepth:e.maxObjectDepth}}async#m(e){try{await this.cdpClient.sendCommand("Runtime.releaseObject",{objectId:e})}catch(t){if(!(t.code===-32e3&&t.message==="Invalid remote object id"))throw t}}async disown(e){this.realmStorage.knownHandlesToRealmMap.get(e)===this.realmId&&(await this.#m(e),this.realmStorage.knownHandlesToRealmMap.delete(e))}dispose(){this.isHidden()||this.#a({type:"event",method:C.Script.EventNames.RealmDestroyed,params:{realm:this.realmId}})}};var ze=class extends He{#e;#t;sandbox;constructor(e,t,s,r,i,o,a,c,d,u){super(s,r,i,o,a,c,d),this.#e=e,this.#t=t,this.sandbox=u,this.initialize()}#s(e){return this.#t.getAllContexts().find(s=>s.navigableId===e)?.id??"UNKNOWN"}get browsingContext(){return this.#t.getContext(this.#e)}isHidden(){return this.realmStorage.hiddenSandboxes.has(this.sandbox)}get associatedBrowsingContexts(){return[this.browsingContext]}get realmType(){return"window"}get realmInfo(){return{...this.baseInfo,type:this.realmType,context:this.#e,sandbox:this.sandbox}}get source(){return{realm:this.realmId,context:this.browsingContext.id}}serializeForBiDi(e,t){let s=e.value;if(e.type==="node"&&s!==void 0){if(Object.hasOwn(s,"backendNodeId")){let r=this.browsingContext.navigableId??"UNKNOWN";Object.hasOwn(s,"loaderId")&&(r=s.loaderId,delete s.loaderId),e.sharedId=ps(this.#s(r),r,s.backendNodeId),delete s.backendNodeId}if(Object.hasOwn(s,"children"))for(let r in s.children)s.children[r]=this.serializeForBiDi(s.children[r],t);Object.hasOwn(s,"shadowRoot")&&s.shadowRoot!==null&&(s.shadowRoot=this.serializeForBiDi(s.shadowRoot,t)),s.namespaceURI===""&&(s.namespaceURI=null)}return super.serializeForBiDi(e,t)}async deserializeForCdp(e){if("sharedId"in e&&e.sharedId){let t=fs(e.sharedId);if(t===null)throw new Y(`SharedId "${e.sharedId}" was not found.`);let{documentId:s,backendNodeId:r}=t;if(this.browsingContext.navigableId!==s)throw new Y(`SharedId "${e.sharedId}" belongs to different document. Current document is ${this.browsingContext.navigableId}.`);try{let{object:i}=await this.cdpClient.sendCommand("DOM.resolveNode",{backendNodeId:r,executionContextId:this.executionContextId});return{objectId:i.objectId}}catch(i){throw i.code===-32e3&&i.message==="No node with given id found"?new Y(`SharedId "${e.sharedId}" was not found.`):new O(i.message,i.stack)}}return await super.deserializeForCdp(e)}async evaluate(e,t,s,r,i,o){return await this.#t.getContext(this.#e).targetUnblockedOrThrow(),await super.evaluate(e,t,s,r,i,o)}async callFunction(e,t,s,r,i,o,a){return await this.#t.getContext(this.#e).targetUnblockedOrThrow(),await super.callFunction(e,t,s,r,i,o,a)}};function Pr(n){if(n==="")return!0;try{let e=new URL(n);return e.protocol.replace(/:$/,"").toLowerCase()==="about"&&e.pathname.toLowerCase()==="blank"&&e.username===""&&e.password===""&&e.host===""}catch(e){if(e instanceof TypeError)return!1;throw e}}var ge=class{eventName;message;constructor(e,t){this.eventName=e,this.message=t}},ut=class{navigationId=$();#e;#t=!1;#s=new M;url;loaderId;#r;#i;committed=new M;isFragmentNavigation;get finished(){return this.#s}constructor(e,t,s,r){this.#e=t,this.url=e,this.#r=s,this.#i=r}navigationInfo(){return{context:this.#e,navigation:this.navigationId,timestamp:ue(),url:this.url}}start(){!this.#r&&!this.#t&&!this.isFragmentNavigation&&this.#i.registerEvent({type:"event",method:C.BrowsingContext.EventNames.NavigationStarted,params:this.navigationInfo()},this.#e),this.#t=!0}#o(e){this.#t=!0,!this.#r&&!this.#s.isFinished&&e.eventName!=="browsingContext.load"&&this.#i.registerEvent({type:"event",method:e.eventName,params:this.navigationInfo()},this.#e),this.#s.resolve(e)}frameNavigated(){this.committed.resolve(),this.#r||this.#i.registerEvent({type:"event",method:C.BrowsingContext.EventNames.NavigationCommitted,params:this.navigationInfo()},this.#e)}fragmentNavigated(){this.committed.resolve(),this.#o(new ge("browsingContext.fragmentNavigated"))}load(){this.#o(new ge("browsingContext.load"))}fail(e){this.#o(new ge(this.committed.isFinished?"browsingContext.navigationAborted":"browsingContext.navigationFailed",e))}},ms=class n{#e;#t;#s=new Map;#r;#i;#o;#a=!0;constructor(e,t,s,r){this.#r=t,this.#e=s,this.#t=r,this.#a=!0,this.#i=new ut(e,t,Pr(e),this.#e)}get currentNavigationId(){return this.#o?.isFragmentNavigation===!1?this.#o.navigationId:this.#i.navigationId}get isInitialNavigation(){return this.#a}get url(){return this.#i.url}createPendingNavigation(e,t=!1){this.#t?.(S.debug)?.("createCommandNavigation"),this.#a=t&&this.#a&&Pr(e),this.#o?.fail("navigation canceled by concurrent navigation");let s=new ut(e,this.#r,this.#a,this.#e);return this.#o=s,s}dispose(){this.#o?.fail("navigation canceled by context disposal"),this.#i.fail("navigation canceled by context disposal")}onTargetInfoChanged(e){this.#t?.(S.debug)?.(`onTargetInfoChanged ${e}`),this.#i.url=e}#d(e,t){return this.#s.has(t)?this.#s.get(t):this.#o!==void 0&&this.#o.loaderId===void 0?this.#o:this.createPendingNavigation(e,!0)}frameNavigated(e,t,s){if(this.#t?.(S.debug)?.(`frameNavigated ${e}`),s!==void 0){let i=this.#s.get(t)??this.#o??this.createPendingNavigation(s,!0);i.url=s,i.start(),i.fail("the requested url is unreachable");return}let r=this.#d(e,t);r!==this.#i&&this.#i.fail("navigation canceled by concurrent navigation"),r.url=e,r.loaderId=t,this.#s.set(t,r),r.start(),r.frameNavigated(),this.#i=r,this.#o===r&&(this.#o=void 0)}navigatedWithinDocument(e,t){if(this.#t?.(S.debug)?.(`navigatedWithinDocument ${e}, ${t}`),this.#i.url=e,t!=="fragment")return;let s=this.#o?.isFragmentNavigation===!0?this.#o:new ut(e,this.#r,!1,this.#e);s.fragmentNavigated(),s===this.#o&&(this.#o=void 0)}loadPageEvent(e){this.#t?.(S.debug)?.("loadPageEvent"),this.#a=!1,this.#s.get(e)?.load()}failNavigation(e,t){this.#t?.(S.debug)?.("failCommandNavigation"),e.fail(t)}navigationCommandFinished(e,t){this.#t?.(S.debug)?.(`finishCommandNavigation ${e.navigationId}, ${t}`),t!==void 0&&(e.loaderId=t,this.#s.set(t,e)),e.isFragmentNavigation=t===void 0}frameStartedNavigating(e,t,s){if(this.#t?.(S.debug)?.(`frameStartedNavigating ${e}, ${t}`),this.#o&&this.#o?.loaderId!==void 0&&this.#o?.loaderId!==t&&(this.#o?.fail("navigation canceled by concurrent navigation"),this.#o=void 0),this.#s.has(t)){let i=this.#s.get(t);i.isFragmentNavigation=n.#n(s),this.#o=i;return}let r=this.#o??this.createPendingNavigation(e,!0);this.#s.set(t,r),r.isFragmentNavigation=n.#n(s),r.url=e,r.loaderId=t,r.start()}static#n(e){return["historySameDocument","sameDocument"].includes(e)}networkLoadingFailed(e,t){this.#s.get(e)?.fail(t)}};var We,we=class{static LOGGER_PREFIX=`${S.debug}:browsingContext`;#e=new Set;#t;userContext;#s=$();#r=new Map;#i;#o=null;#a;#d={DOMContentLoaded:new M,load:new M};#n;#l=new M;#h;#c;#f;#p;#u;#m;#g;constructor(e,t,s,r,i,o,a,c,d,u,l){this.#n=r,this.#t=e,this.#o=t,this.userContext=s,this.#c=i,this.#h=o,this.#u=a,this.#m=c,this.#f=l,this.#a=u,this.#u.hiddenSandboxes.add(this.#s),this.#p=new ms(d,e,i,l)}static create(e,t,s,r,i,o,a,c,d,u,l){let y=new We(e,t,s,r,i,o,a,c,d,u,l);return y.#x(),o.addContext(y),y.isTopLevelContext()||y.parent.addChild(y.id),i.registerPromiseEvent(y.targetUnblockedOrThrow().then(()=>({kind:"success",value:{type:"event",method:C.BrowsingContext.EventNames.ContextCreated,params:{...y.serializeToBidiValue(),url:d}}}),f=>({kind:"error",error:f})),y.id,C.BrowsingContext.EventNames.ContextCreated),y}get navigableId(){return this.#i}get navigationId(){return this.#p.currentNavigationId}dispose(e){this.#p.dispose(),this.#u.deleteRealms({browsingContextId:this.id}),this.isTopLevelContext()||this.parent.#e.delete(this.id),this.#E(),e&&this.#c.registerEvent({type:"event",method:C.BrowsingContext.EventNames.ContextDestroyed,params:this.serializeToBidiValue(null)},this.id),this.#y(),this.#c.clearBufferedEvents(this.id),this.#h.deleteContextById(this.id)}get id(){return this.#t}get parentId(){return this.#o}set parentId(e){if(this.#o!==null){this.#f?.(S.debugError)?.("Parent context already set");return}this.#o=e,this.isTopLevelContext()||this.parent.addChild(this.id)}get parent(){return this.parentId===null?null:this.#h.getContext(this.parentId)}get directChildren(){return[...this.#e].map(e=>this.#h.getContext(e))}get allChildren(){let e=this.directChildren;return e.concat(...e.map(t=>t.allChildren))}isTopLevelContext(){return this.#o===null}get top(){let e=this,t=e.parent;for(;t;)e=t,t=e.parent;return e}addChild(e){this.#e.add(e)}#y(e=!1){this.directChildren.map(t=>t.dispose(e))}get cdpTarget(){return this.#n}updateCdpTarget(e){this.#n=e,this.#x()}get url(){return this.#p.url}async lifecycleLoaded(){await this.#d.load}async targetUnblockedOrThrow(){let e=await this.#n.unblocked;if(e.kind==="error")throw e.error}async getOrCreateHiddenSandbox(){return await this.#C(this.#s)}async getOrCreateUserSandbox(e){let t=await this.#C(e);if(t.isHidden())throw new V(`Realm "${e}" not found`);return t}async#C(e){if(e===void 0||e==="")return await this.#l;let t=this.#u.findRealms({browsingContextId:this.id,sandbox:e});return t.length===0&&(await this.#n.cdpClient.sendCommand("Page.createIsolatedWorld",{frameId:this.id,worldName:e}),t=this.#u.findRealms({browsingContextId:this.id,sandbox:e}),_(t.length!==0)),t[0]}serializeToBidiValue(e=0,t=!0){return{context:this.#t,url:this.url,userContext:this.userContext,originalOpener:this.#a??null,clientWindow:`${this.cdpTarget.windowId}`,children:e===null||e>0?this.directChildren.map(s=>s.serializeToBidiValue(e===null?e:e-1,!1)):null,...t?{parent:this.#o}:{}}}onTargetInfoChanged(e){this.#p.onTargetInfoChanged(e.targetInfo.url)}#x(){this.#n.cdpClient.on("Network.loadingFailed",e=>{this.#p.networkLoadingFailed(e.requestId,e.errorText)}),this.#n.cdpClient.on("Page.fileChooserOpened",e=>{if(this.id!==e.frameId)return;if(this.#i===void 0){this.#f?.(S.debugError)?.("LoaderId should be defined when file upload is shown",e);return}let t=e.backendNodeId===void 0?void 0:{sharedId:ps(this.id,this.#i,e.backendNodeId)};this.#c.registerEvent({type:"event",method:C.Input.EventNames.FileDialogOpened,params:{context:this.id,multiple:e.mode==="selectMultiple",element:t}},this.id)}),this.#n.cdpClient.on("Page.frameNavigated",e=>{this.id===e.frame.id&&(this.#p.frameNavigated(e.frame.url+(e.frame.urlFragment??""),e.frame.loaderId,e.frame.unreachableUrl),this.#y(),this.#b(e.frame.loaderId))}),this.#n.cdpClient.on("Page.frameStartedNavigating",e=>{this.id===e.frameId&&this.#p.frameStartedNavigating(e.url,e.loaderId,e.navigationType)}),this.#n.cdpClient.on("Page.navigatedWithinDocument",e=>{if(this.id===e.frameId&&(this.#p.navigatedWithinDocument(e.url,e.navigationType),e.navigationType==="historyApi")){this.#c.registerEvent({type:"event",method:"browsingContext.historyUpdated",params:{context:this.id,timestamp:ue(),url:this.#p.url}},this.id);return}}),this.#n.cdpClient.on("Page.lifecycleEvent",e=>{if(this.id===e.frameId){if(e.name==="init"){this.#b(e.loaderId);return}if(e.name==="commit"){this.#i=e.loaderId;return}if(this.#i||(this.#i=e.loaderId),e.loaderId===this.#i)switch(e.name){case"DOMContentLoaded":this.#p.isInitialNavigation||this.#c.registerEvent({type:"event",method:C.BrowsingContext.EventNames.DomContentLoaded,params:{context:this.id,navigation:this.#p.currentNavigationId,timestamp:ue(),url:this.#p.url}},this.id),this.#d.DOMContentLoaded.resolve();break;case"load":this.#p.isInitialNavigation||this.#c.registerEvent({type:"event",method:C.BrowsingContext.EventNames.Load,params:{context:this.id,navigation:this.#p.currentNavigationId,timestamp:ue(),url:this.#p.url}},this.id),this.#p.loadPageEvent(e.loaderId),this.#d.load.resolve();break}}}),this.#n.cdpClient.on("Runtime.executionContextCreated",e=>{let{auxData:t,name:s,uniqueId:r,id:i}=e.context;if(!t||t.frameId!==this.id||t.type==="isolated"&&s==="")return;let o,a;switch(t.type){case"isolated":a=s,this.#l.isFinished||this.#f?.(S.debugError)?.("Unexpectedly, isolated realm created before the default one"),o=this.#l.isFinished?this.#l.result.origin:"";break;case"default":o=Ir(e.context.origin);break;default:return}let c=new ze(this.id,this.#h,this.#n.cdpClient,this.#c,i,this.#f,o,r,this.#u,a);t.isDefault&&(this.#l.resolve(c),Promise.all(this.#n.getChannels().map(d=>d.startListenerFromWindow(c,this.#c))))}),this.#n.cdpClient.on("Runtime.executionContextDestroyed",e=>{this.#l.isFinished&&this.#l.result.executionContextId===e.executionContextId&&(this.#l=new M),this.#u.deleteRealms({cdpSessionId:this.#n.cdpSessionId,executionContextId:e.executionContextId})}),this.#n.cdpClient.on("Runtime.executionContextsCleared",()=>{this.#l.isFinished||this.#l.reject(new O("execution contexts cleared")),this.#l=new M,this.#u.deleteRealms({cdpSessionId:this.#n.cdpSessionId})}),this.#n.cdpClient.on("Page.javascriptDialogClosed",e=>{if(e.frameId&&this.id!==e.frameId||!e.frameId&&this.#o&&this.#n.cdpClient!==this.#h.getContext(this.#o)?.cdpTarget.cdpClient)return;let t=e.result;this.#g===void 0&&this.#f?.(S.debugError)?.("Unexpectedly no opening prompt event before closing one"),this.#c.registerEvent({type:"event",method:C.BrowsingContext.EventNames.UserPromptClosed,params:{context:this.id,accepted:t,type:this.#g??"UNKNOWN",userText:t&&e.userInput?e.userInput:void 0}},this.id),this.#g=void 0}),this.#n.cdpClient.on("Page.javascriptDialogOpening",e=>{if(e.frameId&&this.id!==e.frameId||!e.frameId&&this.#o&&this.#n.cdpClient!==this.#h.getContext(this.#o)?.cdpTarget.cdpClient)return;let t=We.#P(e.type);this.#g=t;let s=this.#I(t);switch(this.#c.registerEvent({type:"event",method:C.BrowsingContext.EventNames.UserPromptOpened,params:{context:this.id,handler:s,type:t,message:e.message,...e.type==="prompt"?{defaultValue:e.defaultPrompt}:{}}},this.id),s){case"accept":this.handleUserPrompt(!0);break;case"dismiss":this.handleUserPrompt(!1);break;case"ignore":break}}),this.#n.browserCdpClient.on("Browser.downloadWillBegin",e=>{this.id===e.frameId&&(this.#r.set(e.guid,e.url),this.#c.registerEvent({type:"event",method:C.BrowsingContext.EventNames.DownloadWillBegin,params:{context:this.id,suggestedFilename:e.suggestedFilename,navigation:e.guid,timestamp:ue(),url:e.url}},this.id))}),this.#n.browserCdpClient.on("Browser.downloadProgress",e=>{if(!this.#r.has(e.guid)||e.state==="inProgress")return;let t=this.#r.get(e.guid);switch(e.state){case"canceled":this.#c.registerEvent({type:"event",method:C.BrowsingContext.EventNames.DownloadEnd,params:{status:"canceled",context:this.id,navigation:e.guid,timestamp:ue(),url:t}},this.id);break;case"completed":this.#c.registerEvent({type:"event",method:C.BrowsingContext.EventNames.DownloadEnd,params:{filepath:e.filePath??null,status:"complete",context:this.id,navigation:e.guid,timestamp:ue(),url:t}},this.id);break;default:throw new O(`Unknown download state: ${e.state}`)}})}static#P(e){switch(e){case"alert":return"alert";case"beforeunload":return"beforeunload";case"confirm":return"confirm";case"prompt":return"prompt"}}#I(e){let t="dismiss",s=this.#m.getActiveConfig(this.top.id,this.userContext);switch(e){case"alert":return s.userPromptHandler?.alert??s.userPromptHandler?.default??t;case"beforeunload":return s.userPromptHandler?.beforeUnload??s.userPromptHandler?.default??"accept";case"confirm":return s.userPromptHandler?.confirm??s.userPromptHandler?.default??t;case"prompt":return s.userPromptHandler?.prompt??s.userPromptHandler?.default??t}}#b(e){e===void 0||this.#i===e||(this.#k(),this.#i=e,this.#y(!0))}#k(){this.#d.DOMContentLoaded.isFinished?this.#d.DOMContentLoaded=new M:this.#f?.(We.LOGGER_PREFIX)?.("Document changed (DOMContentLoaded)"),this.#d.load.isFinished?this.#d.load=new M:this.#f?.(We.LOGGER_PREFIX)?.("Document changed (load)")}#E(){this.#d.DOMContentLoaded.isFinished||this.#d.DOMContentLoaded.reject(new O("navigation canceled")),this.#d.load.isFinished||this.#d.load.reject(new O("navigation canceled"))}async navigate(e,t){try{new URL(e)}catch{throw new x(`Invalid URL: ${e}`)}let s=this.#p.createPendingNavigation(e),r=(async()=>{let o=await this.#n.cdpClient.sendCommand("Page.navigate",{url:e,frameId:this.id});if(o.errorText)throw this.#p.failNavigation(s,o.errorText),new O(o.errorText);this.#p.navigationCommandFinished(s,o.loaderId),this.#b(o.loaderId)})(),i=await Promise.race([this.#v(t,r,s),s.finished]);if(i instanceof ge&&(i.eventName==="browsingContext.navigationAborted"||i.eventName==="browsingContext.navigationFailed"))throw new O(i.message??"unknown exception");return{navigation:s.navigationId,url:s.url}}async#v(e,t,s){if(await Promise.all([s.committed,t]),e!=="none"){if(s.isFragmentNavigation===!0){await s.finished;return}if(e==="interactive"){await this.#d.DOMContentLoaded;return}if(e==="complete"){await this.#d.load;return}throw new x(`Wait condition ${e} is not supported`)}}async reload(e,t){await this.targetUnblockedOrThrow(),this.#k();let s=this.#p.createPendingNavigation(this.#p.url),r=this.#n.cdpClient.sendCommand("Page.reload",{ignoreCache:e}),i=await Promise.race([this.#v(t,r,s),s.finished]);if(i instanceof ge&&(i.eventName==="browsingContext.navigationAborted"||i.eventName==="browsingContext.navigationFailed"))throw new O(i.message??"unknown exception");return{navigation:s.navigationId,url:s.url}}async setViewport(e,t,s){let r=this.#m.getActiveConfig(this.id,this.userContext);await this.cdpTarget.setDeviceMetricsOverride(e,t,s,r.screenArea??null,r.scrollbarType??null)}async handleUserPrompt(e,t){await this.top.#n.cdpClient.sendCommand("Page.handleJavaScriptDialog",{accept:e??!0,promptText:t})}async activate(){await this.#n.cdpClient.sendCommand("Page.bringToFront")}async captureScreenshot(e){if(!this.isTopLevelContext())throw new R(`Non-top-level 'context' (${e.context}) is currently not supported`);let t=Co(e),s=!1,r;switch(e.origin??="viewport",e.origin){case"document":{r=String(()=>{let d=document.documentElement;return{x:0,y:0,width:d.scrollWidth,height:d.scrollHeight}}),s=!0;break}case"viewport":{r=String(()=>{let d=window.visualViewport;return{x:d.pageLeft,y:d.pageTop,width:d.width,height:d.height}});break}}let o=await(await this.getOrCreateHiddenSandbox()).callFunction(r,!1);_(o.type==="success");let a=vn(o.result);_(a);let c=a;if(e.clip){let d=e.clip;e.origin==="viewport"&&d.type==="box"&&(d.x+=a.x,d.y+=a.y),c=Eo(await this.#D(d),a)}if(c.width===0||c.height===0)throw new nt(`Unable to capture screenshot with zero dimensions: width=${c.width}, height=${c.height}`);return await this.#n.cdpClient.sendCommand("Page.captureScreenshot",{clip:{...c,scale:1},...t,captureBeyondViewport:s})}async print(e){if(!this.isTopLevelContext())throw new R("Printing of non-top level contexts is not supported");let t={};if(e.background!==void 0&&(t.printBackground=e.background),e.margin?.bottom!==void 0&&(t.marginBottom=Ee(e.margin.bottom)),e.margin?.left!==void 0&&(t.marginLeft=Ee(e.margin.left)),e.margin?.right!==void 0&&(t.marginRight=Ee(e.margin.right)),e.margin?.top!==void 0&&(t.marginTop=Ee(e.margin.top)),e.orientation!==void 0&&(t.landscape=e.orientation==="landscape"),e.page?.height!==void 0&&(t.paperHeight=Ee(e.page.height)),e.page?.width!==void 0&&(t.paperWidth=Ee(e.page.width)),e.pageRanges!==void 0){for(let s of e.pageRanges){if(typeof s=="number")continue;let r=s.split("-");if(r.length<1||r.length>2)throw new x(`Invalid page range: ${s} is not a valid integer range.`);if(r.length===1){kr(r[0]??"");continue}let i,o,[a="",c=""]=r;if(a===""?i=1:i=kr(a),c===""?o=Number.MAX_SAFE_INTEGER:o=kr(c),i>o)throw new x(`Invalid page range: ${a} > ${c}`)}t.pageRanges=e.pageRanges.join(",")}e.scale!==void 0&&(t.scale=e.scale),e.shrinkToFit!==void 0&&(t.preferCSSPageSize=!e.shrinkToFit);try{return{data:(await this.#n.cdpClient.sendCommand("Page.printToPDF",t)).data}}catch(s){throw s.message==="invalid print parameters: content area is empty"?new R(s.message):s}}async#D(e){switch(e.type){case"box":return{x:e.x,y:e.y,width:e.width,height:e.height};case"element":{let t=await this.getOrCreateHiddenSandbox(),s=await t.callFunction(String(r=>r instanceof Element),!1,{type:"undefined"},[e.element]);if(s.type==="exception")throw new ce(`Element '${e.element.sharedId}' was not found`);if(_(s.result.type==="boolean"),!s.result.value)throw new ce(`Node '${e.element.sharedId}' is not an Element`);{let r=await t.callFunction(String(o=>{let a=o.getBoundingClientRect();return{x:a.x,y:a.y,height:a.height,width:a.width}}),!1,{type:"undefined"},[e.element]);_(r.type==="success");let i=vn(r.result);if(!i)throw new nt(`Could not get bounding box for Element '${e.element.sharedId}'`);return i}}}}async close(){await this.#n.cdpClient.sendCommand("Page.close")}async traverseHistory(e){if(e===0)return;let t=await this.#n.cdpClient.sendCommand("Page.getNavigationHistory"),s=t.entries[t.currentIndex+e];if(!s)throw new _t(`No history entry at delta ${e}`);await this.#n.cdpClient.sendCommand("Page.navigateToHistoryEntry",{entryId:s.id})}async toggleModulesIfNeeded(){await Promise.all([this.#n.toggleNetworkIfNeeded(),this.#n.toggleDeviceAccessIfNeeded(),this.#n.togglePreloadIfNeeded()])}async locateNodes(e){return await this.#B(await this.#l,e.locator,e.startNodes??[],e.maxNodeCount,e.serializationOptions)}#T(e,t,s){switch(e.type){case"context":case"accessibility":throw new Error("Unreachable");case"css":return{functionDeclaration:String((r,i,...o)=>{let a=d=>{if(!(d instanceof HTMLElement||d instanceof Document||d instanceof DocumentFragment||d instanceof SVGElement))throw new Error("startNodes in css selector should be HTMLElement, SVGElement or Document or DocumentFragment");return[...d.querySelectorAll(r)]};o=o.length>0?o:[document];let c=o.map(d=>a(d)).flat(1);return i===0?c:c.slice(0,i)}),argumentsLocalValues:[{type:"string",value:e.value},{type:"number",value:t??0},...s]};case"xpath":return{functionDeclaration:String((r,i,...o)=>{let c=new XPathEvaluator().createExpression(r),d=l=>{let y=c.evaluate(l,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE),f=[];for(let h=0;h<y.snapshotLength;h++)f.push(y.snapshotItem(h));return f};o=o.length>0?o:[document];let u=o.map(l=>d(l)).flat(1);return i===0?u:u.slice(0,i)}),argumentsLocalValues:[{type:"string",value:e.value},{type:"number",value:t??0},...s]};case"innerText":if(e.value==="")throw new xe("innerText locator cannot be empty");return{functionDeclaration:String((r,i,o,a,c,...d)=>{let u=o?r.toUpperCase():r,l=(f,h)=>{let p=[];if(f instanceof DocumentFragment||f instanceof Document)return[...f.children].forEach(U=>p.push(...l(U,h))),p;if(!(f instanceof HTMLElement))return[];let m=f,v=o?m.innerText?.toUpperCase():m.innerText;if(!v.includes(u))return[];let I=[];for(let B of m.children)B instanceof HTMLElement&&I.push(B);if(I.length===0)i&&v===u?p.push(m):i||p.push(m);else{let B=h<=0?[]:I.map(U=>l(U,h-1)).flat(1);B.length===0?(!i||v===u)&&p.push(m):p.push(...B)}return p};d=d.length>0?d:[document];let y=d.map(f=>l(f,c)).flat(1);return a===0?y:y.slice(0,a)}),argumentsLocalValues:[{type:"string",value:e.value},{type:"boolean",value:e.matchType!=="partial"},{type:"boolean",value:e.ignoreCase===!0},{type:"number",value:t??0},{type:"number",value:e.maxDepth??1e3},...s]}}}async#B(e,t,s,r,i){if(t.type==="context")return await this.#F(t,s,e,i);if(t.type==="accessibility")return await this.#_(t,s,r,e);let o=this.#T(t,r,s);i={...i,maxObjectDepth:1};let a=await e.callFunction(o.functionDeclaration,!1,{type:"undefined"},o.argumentsLocalValues,"none",i);if(a.type!=="success")throw this.#f?.(We.LOGGER_PREFIX)?.("Failed locateNodesByLocator",a),a.exceptionDetails.text?.endsWith("is not a valid selector.")||a.exceptionDetails.text?.endsWith("is not a valid XPath expression.")?new xe(`Not valid selector ${typeof t.value=="string"?t.value:JSON.stringify(t.value)}`):a.exceptionDetails.text==="Error: startNodes in css selector should be HTMLElement, SVGElement or Document or DocumentFragment"?new x("startNodes in css selector should be HTMLElement, SVGElement or Document or DocumentFragment"):new O(`Unexpected error in selector script: ${a.exceptionDetails.text}`);if(a.result.type!=="array")throw new O(`Unexpected selector script result type: ${a.result.type}`);return{nodes:a.result.value.map(d=>{if(d.type!=="node")throw new O(`Unexpected selector script result element: ${d.type}`);return d})}}async#F(e,t,s,r){if(t.length!==0)throw new x("Start nodes are not supported");let i=e.value.context;if(!i)throw new xe("Invalid context");let a=this.#h.getContext(i).parent;if(!a)throw new x("This context has no container");try{let{backendNodeId:c}=await a.#n.cdpClient.sendCommand("DOM.getFrameOwner",{frameId:i}),{object:d}=await a.#n.cdpClient.sendCommand("DOM.resolveNode",{backendNodeId:c}),u=await s.callFunction("function () { return this; }",!1,{handle:d.objectId},[],"none",r);if(u.type==="exception")throw new Error("Unknown exception");return{nodes:[u.result]}}catch{throw new x("Context does not exist")}}async#_(e,t,s,r){if(!e.value.name&&!e.value.role)throw new xe("Either name or role has to be specified");await this.#n.cdpClient.sendCommand("Accessibility.enable");let i=[];if(t.length===0){let{root:c}=await this.#n.cdpClient.sendCommand("DOM.getDocument");i.push(c.backendNodeId)}else for(let c of t)if(c.sharedId){let d=fs(c.sharedId);if(!d)throw new Y(`Invalid sharedId: ${c.sharedId}`);i.push(d.backendNodeId)}else if(c.handle){let{nodeId:d}=await this.#n.cdpClient.sendCommand("DOM.requestNode",{objectId:c.handle}),{node:u}=await this.#n.cdpClient.sendCommand("DOM.describeNode",{nodeId:d});i.push(u.backendNodeId)}else throw new Y("Start node must have sharedId or handle");let o=new Set;for(let c of i){let{nodes:d}=await this.#n.cdpClient.sendCommand("Accessibility.queryAXTree",{backendNodeId:c,accessibleName:e.value.name,role:e.value.role});for(let u of d)if(u.backendDOMNodeId&&u.role?.type==="role"&&(o.add(u.backendDOMNodeId),s!==void 0&&s>0&&o.size>=s))break}return{nodes:(await Promise.all(Array.from(o).map(async c=>{let{object:d}=await this.#n.cdpClient.sendCommand("DOM.resolveNode",{backendNodeId:c});return await r.serializeCdpObject(d,"none")}))).filter(c=>c.type==="node")}}#w(){let e=new Set;return e.add(this.cdpTarget),this.allChildren.forEach(t=>e.add(t.cdpTarget)),Array.from(e)}async setTimezoneOverride(e){await Promise.all(this.#w().map(async t=>await t.setTimezoneOverride(e)))}async setLocaleOverride(e){await Promise.all(this.#w().map(async t=>await t.setLocaleOverride(e)))}async setGeolocationOverride(e){await Promise.all(this.#w().map(async t=>await t.setGeolocationOverride(e)))}async setScriptingEnabled(e){await Promise.all(this.#w().map(async t=>await t.setScriptingEnabled(e)))}async setUserAgentAndAcceptLanguage(e,t,s){await Promise.all(this.#w().map(async r=>await r.setUserAgentAndAcceptLanguage(e,t,s)))}async setEmulatedNetworkConditions(e){await Promise.all(this.#w().map(async t=>await t.setEmulatedNetworkConditions(e)))}async setTouchOverride(e){await Promise.allSettled(this.#w().map(async t=>await t.setTouchOverride(e)))}async setExtraHeaders(e){await Promise.all(this.#w().map(async t=>await t.setExtraHeaders(e)))}async setScrollbarTypeOverride(e){let t=this.#m.getActiveConfig(this.id,this.userContext);await this.cdpTarget.setDeviceMetricsOverride(t.viewport??null,t.devicePixelRatio??null,t.screenOrientation??null,t.screenArea??null,e)}};We=we;function Ir(n){return["://",""].includes(n)&&(n="null"),n}function Co(n){let{quality:e,type:t}=n.format??{type:"image/png"};switch(t){case"image/png":return{format:"png"};case"image/jpeg":return{format:"jpeg",...e===void 0?{}:{quality:Math.round(e*100)}};case"image/webp":return{format:"webp",...e===void 0?{}:{quality:Math.round(e*100)}}}throw new x(`Image format '${t}' is not a supported format`)}function vn(n){if(n.type!=="object"||n.value===void 0)return;let e=n.value.find(([i])=>i==="x")?.[1],t=n.value.find(([i])=>i==="y")?.[1],s=n.value.find(([i])=>i==="height")?.[1],r=n.value.find(([i])=>i==="width")?.[1];if(!(e?.type!=="number"||t?.type!=="number"||s?.type!=="number"||r?.type!=="number"))return{x:e.value,y:t.value,width:r.value,height:s.value}}function xn(n){return{...n.width<0?{x:n.x+n.width,width:-n.width}:{x:n.x,width:n.width},...n.height<0?{y:n.y+n.height,height:-n.height}:{y:n.y,height:n.height}}}function Eo(n,e){n=xn(n),e=xn(e);let t=Math.max(n.x,e.x),s=Math.max(n.y,e.y);return{x:t,y:s,width:Math.max(Math.min(n.x+n.width,e.x+e.width)-t,0),height:Math.max(Math.min(n.y+n.height,e.y+e.height)-s,0)}}function kr(n){if(n=n.trim(),!/^[0-9]+$/.test(n))throw new x(`Invalid integer: ${n}`);return parseInt(n)}var gs=class extends He{#e;#t;constructor(e,t,s,r,i,o,a,c,d){super(e,t,s,r,i,a,c),this.#t=o,this.#e=d,this.initialize()}get associatedBrowsingContexts(){return this.#t.flatMap(e=>e.associatedBrowsingContexts)}get realmType(){return this.#e}get source(){return{realm:this.realmId,context:this.associatedBrowsingContexts[0]?.id}}get realmInfo(){let e=this.#t.map(s=>s.realmId),{realmType:t}=this;switch(t){case"dedicated-worker":{let s=e[0];if(s===void 0||e.length!==1)throw new Error("Dedicated worker must have exactly one owner");return{...this.baseInfo,type:t,owners:[s]}}case"service-worker":case"shared-worker":return{...this.baseInfo,type:t}}}};var bn=["%s","%d","%i","%f","%o","%O","%c"];function Cn(n){return bn.some(e=>n.includes(e))}function So(n){let e="",t=n[0].value.toString(),s=n.slice(1,void 0),r=t.split(new RegExp(bn.map(i=>`(${i})`).join("|"),"g"));for(let i of r)if(!(i===void 0||i===""))if(Cn(i)){let o=s.shift();_(o,`Less value is provided: "${ws(n,!1)}"`),i==="%s"?e+=Tr(o):i==="%d"||i==="%i"?o.type==="bigint"||o.type==="number"||o.type==="string"?e+=parseInt(o.value.toString(),10):e+="NaN":i==="%f"?o.type==="bigint"||o.type==="number"||o.type==="string"?e+=parseFloat(o.value.toString()):e+="NaN":e+=Dr(o)}else e+=i;if(s.length>0)throw new Error(`More value is provided: "${ws(n,!1)}"`);return e}function Dr(n){if(n.type!=="array"&&n.type!=="bigint"&&n.type!=="date"&&n.type!=="number"&&n.type!=="object"&&n.type!=="string")return Tr(n);if(n.type==="bigint")return`${n.value.toString()}n`;if(n.type==="number")return n.value.toString();if(["date","string"].includes(n.type))return JSON.stringify(n.value);if(n.type==="object")return`{${n.value.map(e=>`${JSON.stringify(e[0])}:${Dr(e[1])}`).join(",")}}`;if(n.type==="array")return`[${n.value?.map(e=>Dr(e)).join(",")??""}]`;throw Error(`Invalid value type: ${n}`)}function Tr(n){if(!Object.hasOwn(n,"value"))return n.type;switch(n.type){case"string":case"number":case"boolean":case"bigint":return String(n.value);case"regexp":return`/${n.value.pattern}/${n.value.flags??""}`;case"date":return new Date(n.value).toString();case"object":return`Object(${n.value?.length??""})`;case"array":return`Array(${n.value?.length??""})`;case"map":return`Map(${n.value?.length})`;case"set":return`Set(${n.value?.length})`;default:return n.type}}function ws(n,e){let t=n[0];return t?t.type==="string"&&Cn(t.value.toString())&&e?So(n):n.map(s=>Tr(s)).join(" "):""}var Rr;function En(n){let e=n?.callFrames.map(t=>({columnNumber:t.columnNumber,functionName:t.functionName,lineNumber:t.lineNumber,url:t.url}));return e?{callFrames:e}:void 0}function Po(n){return["error","assert"].includes(n)?"error":["debug","trace"].includes(n)?"debug":["warn","warning"].includes(n)?"warn":"info"}function ko(n){switch(n){case"warning":return"warn";case"startGroup":return"group";case"startGroupCollapsed":return"groupCollapsed";case"endGroup":return"groupEnd"}return n}var lt=class{#e;#t;#s;#r;constructor(e,t,s,r){this.#s=e,this.#t=t,this.#e=s,this.#r=r}static create(e,t,s,r){let i=new Rr(e,t,s,r);return i.#o(),i}async#i(e,t){switch(e.type){case"undefined":return{type:"undefined"};case"boolean":return{type:"boolean",value:e.value};case"string":return{type:"string",value:e.value};case"number":return{type:"number",value:e.unserializableValue??e.value};case"bigint":if(e.unserializableValue!==void 0&&e.unserializableValue[e.unserializableValue.length-1]==="n")return{type:e.type,value:e.unserializableValue.slice(0,-1)};break;case"object":if(e.subtype==="null")return{type:"null"};break;default:break}return await t.serializeCdpObject(e,"none")}#o(){this.#s.cdpClient.on("Runtime.consoleAPICalled",e=>{let t=this.#t.findRealm({cdpSessionId:this.#s.cdpSessionId,executionContextId:e.executionContextId});if(t===void 0){this.#r?.(S.cdp)?.(e);return}let s=Promise.all(e.args.map(r=>this.#i(r,t)));for(let r of t.associatedBrowsingContexts)this.#e.registerPromiseEvent(s.then(i=>({kind:"success",value:{type:"event",method:C.Log.EventNames.LogEntryAdded,params:{level:Po(e.type),source:t.source,text:ws(i,!0),timestamp:Math.round(e.timestamp),stackTrace:En(e.stackTrace),type:"console",method:ko(e.type),args:i}}}),i=>({kind:"error",error:i})),r.id,C.Log.EventNames.LogEntryAdded)}),this.#s.cdpClient.on("Runtime.exceptionThrown",e=>{let t=this.#t.findRealm({cdpSessionId:this.#s.cdpSessionId,executionContextId:e.exceptionDetails.executionContextId});if(t===void 0){this.#r?.(S.cdp)?.(e);return}for(let s of t.associatedBrowsingContexts)this.#e.registerPromiseEvent(Rr.#a(e,t).then(r=>({kind:"success",value:{type:"event",method:C.Log.EventNames.LogEntryAdded,params:{level:"error",source:t.source,text:r,timestamp:Math.round(e.timestamp),stackTrace:En(e.exceptionDetails.stackTrace),type:"javascript"}}}),r=>({kind:"error",error:r})),s.id,C.Log.EventNames.LogEntryAdded)})}static async#a(e,t){return e.exceptionDetails.exception?t===void 0?JSON.stringify(e.exceptionDetails.exception):await t.stringifyObject(e.exceptionDetails.exception):e.exceptionDetails.text}};Rr=lt;var ys=class{#e=new Map;#t=new Map;#s=new Map;#r;#i;constructor(e,t){this.#r=e,this.#i=t}addDataCollector(e){if(e.maxEncodedDataSize<1||e.maxEncodedDataSize>this.#r)throw new x(`Max encoded data size should be between 1 and ${this.#r}`);let t=$();return this.#e.set(t,e),t}isCollected(e,t,s){if(s!==void 0&&!this.#e.has(s))throw new Me(`Unknown collector ${s}`);if(t===void 0)return this.isCollected(e,"response",s)||this.isCollected(e,"request",s);let r=this.#o(t).get(e);return r===void 0||r.size===0?!1:s===void 0?!0:!!r.has(s)}#o(e){switch(e){case"response":return this.#t;case"request":return this.#s;default:throw new R(`Unsupported data type ${e}`)}}disownData(e,t,s){let r=this.#o(t);s!==void 0&&r.get(e)?.delete(s),(s===void 0||r.get(e)?.size===0)&&r.delete(e)}#a(e,t,s,r,i){let o=this.#e.get(e);if(o===void 0)throw new Me(`Unknown collector ${e}`);return o.userContexts&&!o.userContexts.includes(i)||o.contexts&&!o.contexts.includes(r)||!o.dataTypes.includes(s)?!1:s==="request"&&t.bodySize>o.maxEncodedDataSize?(this.#i?.(S.debug)?.(`Request's ${t.id} body size is too big for the collector ${e}`),!1):s==="response"&&t.encodedResponseBodySize>o.maxEncodedDataSize?(this.#i?.(S.debug)?.(`Request's ${t.id} response is too big for the collector ${e}`),!1):(this.#i?.(S.debug)?.(`Collector ${e} collected ${s} of ${t.id}`),!0)}collectIfNeeded(e,t,s,r){let i=[...this.#e.keys()].filter(o=>this.#a(o,e,t,s,r));i.length>0&&this.#o(t).set(e.id,new Set(i))}removeDataCollector(e){if(!this.#e.has(e))throw new Me(`Collector ${e} does not exist`);this.#e.delete(e);let t=[];for(let[s,r]of this.#t)r.has(e)&&(r.delete(e),r.size===0&&(this.#t.delete(s),t.push(s)));for(let[s,r]of this.#s)r.has(e)&&(r.delete(e),r.size===0&&(this.#s.delete(s),t.push(s)));return t}};var Se=class extends Map{#e;constructor(e,t){super(t),this.#e=e}get(e){return this.has(e)||this.set(e,this.#e(e)),super.get(e)}};var vs,Io=/(?<=realm=").*(?=")/,Ke=class{static unknownParameter="UNKNOWN";#e;#t;#s;#r=!1;#i;#o=0;#a=0;#d=0;#n={};#l;#h;#c={};#f;#p;#u;#m;#g={[C.Network.EventNames.AuthRequired]:!1,[C.Network.EventNames.BeforeRequestSent]:!1,[C.Network.EventNames.FetchError]:!1,[C.Network.EventNames.ResponseCompleted]:!1,[C.Network.EventNames.ResponseStarted]:!1};waitNextPhase=new M;constructor(e,t,s,r,i=0,o){this.#e=e,this.#f=t,this.#p=s,this.#u=r,this.#i=i,this.#m=o}get id(){return this.#e}get fetchId(){return this.#t}get interceptPhase(){return this.#s}get url(){let e=this.#n.info?.request.urlFragment??this.#n.paused?.request.urlFragment??"";return`${this.#c.paused?.request.url??this.#l?.url??this.#c.info?.url??this.#n.auth?.request.url??this.#n.info?.request.url??this.#n.paused?.request.url??vs.unknownParameter}${e}`}get redirectCount(){return this.#i}get cdpTarget(){return this.#u}updateCdpTarget(e){e!==this.#u&&(this.#m?.(S.debugInfo)?.(`Request ${this.id} was moved from ${this.#u.id} to ${e.id}`),this.#u=e)}get cdpClient(){return this.#u.cdpClient}isRedirecting(){return!!this.#n.info}#y(){return this.url.startsWith("data:")}#C(){return this.#y()||this.#r}get#x(){return this.#l?.method??this.#n.info?.request.method??this.#n.paused?.request.method??this.#n.auth?.request.method??this.#c.paused?.request.method}get#P(){return!this.#n.info||!this.#n.info.loaderId||this.#n.info.loaderId!==this.#n.info.requestId?null:this.#p.getNavigationId(this.#E??void 0)}get#I(){let e=[];return this.#n.extraInfo&&(e=this.#n.extraInfo.associatedCookies.filter(({blockedReasons:t})=>!Array.isArray(t)||t.length===0).map(({cookie:t})=>at(t))),e}#b(e){if(e!==void 0&&e["Content-Length"]!==void 0){let t=Number.parseInt(e["Content-Length"]);if(Number.isInteger(t))return t;this.#m?.(S.debugError)?.("Unexpected non-integer 'Content-Length' header")}}#k(){if(typeof this.#l?.bodySize=="number"){this.#o=this.#l.bodySize;return}if(this.#n.info?.request.postDataEntries!==void 0){this.#o=wn(this.#n.info?.request.postDataEntries);return}this.#o=this.#b(this.#n.info?.request.headers)??this.#b(this.#n.extraInfo?.headers)??0}get bodySize(){return this.#o}get#E(){let e=this.#c.paused?.frameId??this.#n.info?.frameId??this.#n.paused?.frameId??this.#n.auth?.frameId;if(e!==void 0)return e;if(this.#n?.info?.initiator.type==="preflight"&&this.#n?.info?.initiator.requestId!==void 0){let t=this.#p.getRequestById(this.#n?.info?.initiator.requestId);if(t!==void 0)return t.#n.info?.frameId??null}return null}get#v(){return this.#h?.statusCode??this.#c.paused?.responseStatusCode??this.#c.extraInfo?.statusCode??this.#c.info?.status}get#D(){let e=[];if(this.#l?.headers){let t=new Se(()=>[]);for(let s of this.#l.headers)t.get(s.name).push(s.value.value);for(let[s,r]of t.entries())e.push({name:s,value:{type:"string",value:r.join(`
17
+ `).trimEnd()}})}else e=[...es(this.#n.info?.request.headers),...es(this.#n.extraInfo?.headers)];return e}get#T(){if(!this.#c.info||!(this.#v===401||this.#v===407))return;let e=this.#v===401?"WWW-Authenticate":"Proxy-Authenticate",t=[];for(let[s,r]of Object.entries(this.#c.info.headers))s.localeCompare(e,void 0,{sensitivity:"base"})===0&&t.push({scheme:r.split(" ").at(0)??"",realm:r.match(Io)?.at(0)??""});return t}get#B(){let e=z(z(this.#c.info?.timing?.requestTime)-z(this.#n.info?.timestamp));return{timeOrigin:Math.round(z(this.#n.info?.wallTime)*1e3),requestTime:0,redirectStart:0,redirectEnd:0,fetchStart:z(this.#c.info?.timing?.workerFetchStart,e),dnsStart:z(this.#c.info?.timing?.dnsStart,e),dnsEnd:z(this.#c.info?.timing?.dnsEnd,e),connectStart:z(this.#c.info?.timing?.connectStart,e),connectEnd:z(this.#c.info?.timing?.connectEnd,e),tlsStart:z(this.#c.info?.timing?.sslStart,e),requestStart:z(this.#c.info?.timing?.sendStart,e),responseStart:z(this.#c.info?.timing?.receiveHeadersStart,e),responseEnd:z(this.#c.info?.timing?.receiveHeadersEnd,e)}}#F(){this.waitNextPhase.resolve(),this.waitNextPhase=new M}#_(e){return this.#C()||!this.#u.isSubscribedTo(`network.${e}`)?new Set:this.#p.getInterceptsForPhase(this,e)}#w(e){return this.#_(e).size>0}handleRedirect(e){this.#c.hasExtraInfo=!1,this.#d=0,this.#a=0,this.#c.info=e.redirectResponse,this.#S({wasRedirected:!0})}#S(e={}){let t=e.wasRedirected||!!this.#c.loadingFailed||this.#y()||!!this.#n.extraInfo||this.#w("authRequired")||this.#r||!!(this.#c.info&&!this.#c.hasExtraInfo),s=this.#C(),r=!s&&this.#w("beforeRequestSent"),i=!r||r&&!!this.#n.paused;this.#n.info&&(r?i:t)&&this.#O(this.#H.bind(this));let o=!!this.#c.extraInfo||this.#r||!!(this.#c.info&&!this.#c.hasExtraInfo),a=!s&&this.#w("responseStarted");(this.#c.info||a&&this.#c.paused)&&this.#O(this.#z.bind(this));let c=!a||a&&!!this.#c.paused,d=!!this.#c.loadingFailed||!!this.#c.loadingFinished;this.#c.info&&o&&c&&(d||e.wasRedirected)&&(this.#O(this.#W.bind(this)),this.#p.disposeRequest(this.id))}onRequestWillBeSentEvent(e){this.#n.info=e,this.#k(),this.#p.collectIfNeeded(this,"request"),this.#S()}onRequestWillBeSentExtraInfoEvent(e){this.#n.extraInfo=e,this.#k(),this.#S()}onResponseReceivedExtraInfoEvent(e){e.statusCode>=300&&e.statusCode<=399&&this.#n.info&&e.headers.location===this.#n.info.request.url||(this.#c.extraInfo=e,this.#S())}onResponseReceivedEvent(e){this.#c.hasExtraInfo=e.hasExtraInfo,this.#c.info=e.response,this.#a=e.response.encodedDataLength,this.#p.collectIfNeeded(this,"response"),this.#S()}onServedFromCache(){this.#r=!0,this.#S()}onLoadingFinishedEvent(e){this.#c.loadingFinished=e,this.#a=e.encodedDataLength,this.#S()}onDataReceivedEvent(e){this.#d+=e.dataLength,this.#a+=e.encodedDataLength}onLoadingFailedEvent(e){this.#c.loadingFailed=e,this.#S(),this.#O(()=>({method:C.Network.EventNames.FetchError,params:{...this.#N(),errorText:e.errorText}})),this.disposeData()}async failRequest(e){_(this.#t,"Network Interception not set-up."),await this.cdpClient.sendCommand("Fetch.failRequest",{requestId:this.#t,errorReason:e}),this.#s=void 0}onRequestPaused(e){this.#t=e.requestId,e.responseStatusCode||e.responseErrorReason?(this.#c.paused=e,this.#w("responseStarted")&&!this.#g[C.Network.EventNames.ResponseStarted]&&this.#t!==this.id?this.#s="responseStarted":this.#M()):(this.#n.paused=e,this.#w("beforeRequestSent")&&!this.#g[C.Network.EventNames.BeforeRequestSent]&&this.#t!==this.id?this.#s="beforeRequestSent":this.#A()),this.#S()}onAuthRequired(e){this.#t=e.requestId,this.#n.auth=e,this.#w("authRequired")&&this.#t!==this.id?(this.#s="authRequired",this.#S()):this.#R({response:"Default"}),this.#O(()=>({method:C.Network.EventNames.AuthRequired,params:{...this.#N("authRequired"),response:this.#U()}}))}async continueRequest(e={}){let t=this.#L(e.headers,e.cookies),s=ts(t),r=Sn(e.body);await this.#A({url:e.url,method:e.method,headers:s,postData:r}),this.#l={url:e.url,method:e.method,headers:e.headers,cookies:e.cookies,bodySize:Do(e.body)}}async#A(e={}){_(this.#t,"Network Interception not set-up."),await this.cdpClient.sendCommand("Fetch.continueRequest",{requestId:this.#t,url:e.url,method:e.method,headers:e.headers,postData:e.postData}),this.#s=void 0}async continueResponse(e={}){if(this.interceptPhase==="authRequired")if(e.credentials)await Promise.all([this.waitNextPhase,await this.#R({response:"ProvideCredentials",username:e.credentials.username,password:e.credentials.password})]);else return await this.#R({response:"ProvideCredentials"});if(this.#s==="responseStarted"){let t=this.#L(e.headers,e.cookies),s=ts(t);await this.#M({responseCode:e.statusCode??this.#c.paused?.responseStatusCode,responsePhrase:e.reasonPhrase??this.#c.paused?.responseStatusText,responseHeaders:s??this.#c.paused?.responseHeaders}),this.#h={statusCode:e.statusCode,headers:t}}}async#M({responseCode:e,responsePhrase:t,responseHeaders:s}={}){_(this.#t,"Network Interception not set-up."),await this.cdpClient.sendCommand("Fetch.continueResponse",{requestId:this.#t,responseCode:e,responsePhrase:t,responseHeaders:s}),this.#s=void 0}async continueWithAuth(e){let t,s;if(e.action==="provideCredentials"){let{credentials:i}=e;t=i.username,s=i.password}let r=fn(e.action);await this.#R({response:r,username:t,password:s})}async provideResponse(e){if(_(this.#t,"Network Interception not set-up."),this.interceptPhase==="authRequired")return await this.#R({response:"ProvideCredentials"});if(!e.body&&!e.headers)return await this.#A();let t=this.#L(e.headers,e.cookies),s=ts(t),r=e.statusCode??this.#v??200;await this.cdpClient.sendCommand("Fetch.fulfillRequest",{requestId:this.#t,responseCode:r,responsePhrase:e.reasonPhrase,responseHeaders:s,body:Sn(e.body)}),this.#s=void 0}dispose(){this.waitNextPhase.reject(new Error("waitNextPhase disposed"))}disposeData(){this.#n={},this.#c={},this.#l=void 0,this.#h=void 0}async#R(e){_(this.#t,"Network Interception not set-up."),await this.cdpClient.sendCommand("Fetch.continueWithAuth",{requestId:this.#t,authChallengeResponse:e}),this.#s=void 0}#O(e){let t;try{t=e()}catch(s){this.#m?.(S.debugError)?.(s);return}this.#K()||this.#g[t.method]&&t.method!==C.Network.EventNames.AuthRequired||(this.#F(),this.#g[t.method]=!0,this.#E?this.#f.registerEvent(Object.assign(t,{type:"event"}),this.#E):this.#f.registerGlobalEvent(Object.assign(t,{type:"event"})))}#N(e){let t={isBlocked:!1};if(e){let s=this.#_(e);t.isBlocked=s.size>0,t.isBlocked&&(t.intercepts=[...s])}return{context:this.#E,navigation:this.#P,redirectCount:this.#i,request:this.#q(),timestamp:Math.round(z(this.#n.info?.wallTime)*1e3),...t}}#U(){this.#c.info?.fromDiskCache&&(this.#c.extraInfo=void 0);let e=this.#c.info?.headers??{},t=this.#c.extraInfo?.headers??{};for(let[o,a]of Object.entries(t))e[o]=a;let s=es(e),r=this.#T;return{...{url:this.url,protocol:this.#c.info?.protocol??"",status:this.#v??-1,statusText:this.#c.info?.statusText||this.#c.paused?.responseStatusText||"",fromCache:this.#c.info?.fromDiskCache||this.#c.info?.fromPrefetchCache||this.#r,headers:this.#h?.headers??s,mimeType:this.#c.info?.mimeType||"",bytesReceived:this.encodedResponseBodySize,headersSize:vr(s),bodySize:this.encodedResponseBodySize,content:{size:this.#d},...r?{authChallenges:r}:{}},"goog:securityDetails":this.#c.info?.securityDetails}}get encodedResponseBodySize(){return this.#a}get decodedResponseBodySize(){return this.#d}#q(){let e=this.#D;return{...{request:this.#e,url:this.url,method:this.#x??vs.unknownParameter,headers:e,cookies:this.#I,headersSize:vr(e),bodySize:this.bodySize,destination:this.#j(),initiatorType:this.#$(),timings:this.#B},"goog:postData":this.#n.info?.request?.postData,"goog:hasPostData":this.#n.info?.request?.hasPostData,"goog:resourceType":this.#n.info?.type,"goog:resourceInitiator":this.#n.info?.initiator}}#j(){switch(this.#n.info?.type){case"Script":return"script";case"Stylesheet":return"style";case"Image":return"image";case"Document":return this.#n.info?.initiator.type==="parser"?"iframe":"document";default:return""}}#$(){if(this.#n.info?.initiator.type==="parser")switch(this.#n.info?.type){case"Document":return"iframe";case"Font":return this.#n.info?.initiator?.url===this.#n.info?.documentURL?"font":"css";case"Image":return this.#n.info?.initiator?.url===this.#n.info?.documentURL?"img":"css";case"Script":return"script";case"Stylesheet":return"link";default:return null}return this.#n?.info?.type==="Fetch"?"fetch":null}#H(){return _(this.#n.info,"RequestWillBeSentEvent is not set"),{method:C.Network.EventNames.BeforeRequestSent,params:{...this.#N("beforeRequestSent"),initiator:{type:vs.#V(this.#n.info.initiator.type),columnNumber:this.#n.info.initiator.columnNumber,lineNumber:this.#n.info.initiator.lineNumber,stackTrace:this.#n.info.initiator.stack,request:this.#n.info.initiator.requestId}}}}#z(){return{method:C.Network.EventNames.ResponseStarted,params:{...this.#N("responseStarted"),response:this.#U()}}}#W(){return{method:C.Network.EventNames.ResponseCompleted,params:{...this.#N(),response:this.#U()}}}#K(){let e="/favicon.ico";return this.#n.paused?.request.url.endsWith(e)??this.#n.info?.request.url.endsWith(e)??!1}#L(e,t){if(!e&&!t)return;let s=e,r=pn(t);return r&&!s&&(s=this.#D),r&&s&&(s.filter(i=>i.name.localeCompare("cookie",void 0,{sensitivity:"base"})!==0),s.push(r)),s}static#V(e){switch(e){case"parser":case"script":case"preflight":return e;default:return"other"}}};vs=Ke;function Sn(n){let e;return n?.type==="string"?e=hn(n.value):n?.type==="base64"&&(e=n.value),e}function Do(n){return n?.type==="string"?n.value.length:n?.type==="base64"?atob(n.value).length:0}var Or=2e8,xs=class{#e;#t;#s;#r;#i=new Map;#o=new Map;#a="default";constructor(e,t,s,r){this.#e=t,this.#t=e,this.#s=new ys(Or,r),s.on("Target.detachedFromTarget",({sessionId:i})=>{this.disposeRequestMap(i)}),this.#r=r}#d(e,t,s){let r=this.getRequestById(e);return s===void 0&&r||(r=new Ke(e,this.#t,this,t,s,this.#r),this.addRequest(r)),r}onCdpTargetCreated(e){let t=e.cdpClient,s=[["Network.requestWillBeSent",r=>{let i=this.getRequestById(r.requestId);i?.updateCdpTarget(e),i&&i.isRedirecting()?(i.handleRedirect(r),this.disposeRequest(r.requestId),this.#d(r.requestId,e,i.redirectCount+1).onRequestWillBeSentEvent(r)):this.#d(r.requestId,e).onRequestWillBeSentEvent(r)}],["Network.requestWillBeSentExtraInfo",r=>{let i=this.#d(r.requestId,e);i.updateCdpTarget(e),i.onRequestWillBeSentExtraInfoEvent(r)}],["Network.responseReceived",r=>{let i=this.#d(r.requestId,e);i.updateCdpTarget(e),i.onResponseReceivedEvent(r)}],["Network.responseReceivedExtraInfo",r=>{let i=this.#d(r.requestId,e);i.updateCdpTarget(e),i.onResponseReceivedExtraInfoEvent(r)}],["Network.requestServedFromCache",r=>{let i=this.#d(r.requestId,e);i.updateCdpTarget(e),i.onServedFromCache()}],["Fetch.requestPaused",r=>{let i=this.#d(r.networkId??r.requestId,e);i.updateCdpTarget(e),i.onRequestPaused(r)}],["Fetch.authRequired",r=>{let i=this.getRequestByFetchId(r.requestId);i||(i=this.#d(r.requestId,e)),i.updateCdpTarget(e),i.onAuthRequired(r)}],["Network.dataReceived",r=>{let i=this.getRequestById(r.requestId);i?.updateCdpTarget(e),i?.onDataReceivedEvent(r)}],["Network.loadingFailed",r=>{let i=this.#d(r.requestId,e);i.updateCdpTarget(e),i.onLoadingFailedEvent(r)}],["Network.loadingFinished",r=>{let i=this.getRequestById(r.requestId);i?.updateCdpTarget(e),i?.onLoadingFinishedEvent(r)}]];for(let[r,i]of s)t.on(r,i)}async getCollectedData(e){if(!this.#s.isCollected(e.request,e.dataType,e.collector))throw new me(e.collector===void 0?`No collected ${e.dataType} data`:`Collector ${e.collector} didn't collect ${e.dataType} data`);if(e.disown&&e.collector===void 0)throw new x("Cannot disown collected data without collector ID");let t=this.getRequestById(e.request);if(t===void 0)throw new me(`No data for ${e.request}`);let s;switch(e.dataType){case"response":s=await this.#n(t);break;case"request":s=await this.#l(t);break;default:throw new R(`Unsupported data type ${e.dataType}`)}return e.disown&&e.collector!==void 0&&(this.#s.disownData(t.id,e.dataType,e.collector),this.disposeRequest(t.id)),s}async#n(e){try{let t=await e.cdpClient.sendCommand("Network.getResponseBody",{requestId:e.id});return{bytes:{type:t.base64Encoded?"base64":"string",value:t.body}}}catch(t){throw t.code===-32e3&&t.message==="No resource with given identifier found"?new me("Response data was disposed"):t.code===-32001?new me("Response data is disposed after the related page"):t}}async#l(e){return{bytes:{type:"string",value:(await e.cdpClient.sendCommand("Network.getRequestPostData",{requestId:e.id})).postData}}}collectIfNeeded(e,t){this.#s.collectIfNeeded(e,t,e.cdpTarget.topLevelId,e.cdpTarget.userContext)}getInterceptionStages(e){let t={request:!1,response:!1,auth:!1};for(let s of this.#o.values())s.contexts&&!s.contexts.includes(e)||(t.request||=s.phases.includes("beforeRequestSent"),t.response||=s.phases.includes("responseStarted"),t.auth||=s.phases.includes("authRequired"));return t}getInterceptsForPhase(e,t){if(e.url===Ke.unknownParameter)return new Set;let s=new Set;for(let[r,i]of this.#o.entries())if(!(!i.phases.includes(t)||i.contexts&&!i.contexts.includes(e.cdpTarget.topLevelId))){if(i.urlPatterns.length===0){s.add(r);continue}for(let o of i.urlPatterns)if(gn(o,e.url)){s.add(r);break}}return s}disposeRequestMap(e){for(let t of this.#i.values())t.cdpClient.sessionId===e&&(this.#i.delete(t.id),t.dispose())}addIntercept(e){let t=$();return this.#o.set(t,e),t}removeIntercept(e){if(!this.#o.has(e))throw new Bt(`Intercept '${e}' does not exist.`);this.#o.delete(e)}getRequestsByTarget(e){let t=[];for(let s of this.#i.values())s.cdpTarget===e&&t.push(s);return t}getRequestById(e){return this.#i.get(e)}getRequestByFetchId(e){for(let t of this.#i.values())if(t.fetchId===e)return t}addRequest(e){this.#i.set(e.id,e)}disposeRequest(e){if(this.#s.isCollected(e)){this.#i.get(e)?.disposeData();return}this.#i.delete(e)}getNavigationId(e){return e===void 0?null:this.#e.findContext(e)?.navigationId??null}set defaultCacheBehavior(e){this.#a=e}get defaultCacheBehavior(){return this.#a}addDataCollector(e){return this.#s.addDataCollector(e)}removeDataCollector(e){this.#s.removeDataCollector(e.collector).map(s=>this.disposeRequest(s))}disownData(e){if(!this.#s.isCollected(e.request,e.dataType,e.collector))throw new me(`Collector ${e.collector} didn't collect ${e.dataType} data`);this.#s.disownData(e.request,e.dataType,e.collector),this.disposeRequest(e.request)}};var bs=class n{#e;userContext;#t;#s;#r;#i;#o;#a;#d;#n;contextConfigStorage;#l=new M;#h;#c;#f;#p=!1;#u=!1;#m=!1;#g={request:!1,response:!1,auth:!1};static create(e,t,s,r,i,o,a,c,d,u,l,y,f){let h=new n(e,t,s,r,o,i,a,c,u,d,l,y,f);return lt.create(h,i,o,f),h.#P(),h.#y(),h}constructor(e,t,s,r,i,o,a,c,d,u,l,y,f){this.#h=y,this.userContext=l,this.#e=e,this.#t=t,this.#s=s,this.#r=r,this.#o=i,this.#i=o,this.#a=a,this.#n=u,this.#d=c,this.contextConfigStorage=d,this.#c=f}get unblocked(){return this.#l}get id(){return this.#e}get cdpClient(){return this.#t}get parentCdpClient(){return this.#r}get browserCdpClient(){return this.#s}get cdpSessionId(){return this.#t.sessionId}get windowId(){return this.#f===void 0&&this.#c?.(S.debugError)?.("Getting windowId before it was set, returning 0"),this.#f??0}async#y(){let e=this.contextConfigStorage.getActiveConfig(this.topLevelId,this.userContext),t=await Promise.allSettled([this.#t.sendCommand("Page.enable",{enableFileChooserOpenedEvent:!0}),...this.#D()?[]:[this.#t.sendCommand("Page.setInterceptFileChooserDialog",{enabled:!0,cancel:!0})],this.#t.sendCommand("Page.getFrameTree").then(s=>this.#C(s.frameTree)),this.#t.sendCommand("Runtime.enable"),this.#t.sendCommand("Page.setLifecycleEventsEnabled",{enabled:!0}),this.#t.sendCommand("Network.enable",{enableDurableMessages:e.disableNetworkDurableMessages!==!0,maxTotalBufferSize:Or}).then(()=>this.toggleNetworkIfNeeded()),this.#t.sendCommand("Target.setAutoAttach",{autoAttach:!0,waitForDebuggerOnStart:!0,flatten:!0}),this.#k(),this.#v(e),this.#E(),this.#t.sendCommand("Runtime.runIfWaitingForDebugger"),this.#r.sendCommand("Runtime.runIfWaitingForDebugger"),this.toggleDeviceAccessIfNeeded(),this.togglePreloadIfNeeded()]);for(let s of t)s instanceof Error&&this.#c?.(S.debugError)?.("Error happened when configuring a new target",s);this.#l.resolve({kind:"success",value:void 0})}#C(e){let t=e.frame,s=this.#d.findContext(t.id);if(s!==void 0&&s.parentId===null&&t.parentId!==null&&t.parentId!==void 0&&(s.parentId=t.parentId),s===void 0&&t.parentId!==void 0){let r=this.#d.getContext(t.parentId);we.create(t.id,t.parentId,this.userContext,r.cdpTarget,this.#o,this.#d,this.#i,this.contextConfigStorage,t.url,void 0,this.#c)}e.childFrames?.map(r=>this.#C(r))}async toggleFetchIfNeeded(){let e=this.#n.getInterceptionStages(this.topLevelId);if(this.#g.request===e.request&&this.#g.response===e.response&&this.#g.auth===e.auth)return;let t=[];if(this.#g=e,(e.request||e.auth)&&t.push({urlPattern:"*",requestStage:"Request"}),e.response&&t.push({urlPattern:"*",requestStage:"Response"}),t.length)await this.#t.sendCommand("Fetch.enable",{patterns:t,handleAuthRequests:e.auth});else{let s=this.#n.getRequestsByTarget(this).filter(r=>r.interceptPhase);Promise.allSettled(s.map(r=>r.waitNextPhase)).then(async()=>this.#n.getRequestsByTarget(this).filter(i=>i.interceptPhase).length?await this.toggleFetchIfNeeded():await this.#t.sendCommand("Fetch.disable")).catch(r=>{this.#c?.(S.bidi)?.("Disable failed",r)})}}async toggleNetworkIfNeeded(){try{await Promise.all([this.toggleSetCacheDisabled(),this.toggleFetchIfNeeded()])}catch(e){if(this.#c?.(S.debugError)?.(e),!this.#x(e))throw e}}async toggleSetCacheDisabled(e){let t=this.#n.defaultCacheBehavior==="bypass",s=e??t;if(this.#u!==s){this.#u=s;try{await this.#t.sendCommand("Network.setCacheDisabled",{cacheDisabled:s})}catch(r){if(this.#c?.(S.debugError)?.(r),this.#u=!s,!this.#x(r))throw r}}}async toggleDeviceAccessIfNeeded(){let e=this.isSubscribedTo(Ae.EventNames.RequestDevicePromptUpdated);if(this.#p!==e){this.#p=e;try{await this.#t.sendCommand(e?"DeviceAccess.enable":"DeviceAccess.disable")}catch(t){if(this.#c?.(S.debugError)?.(t),this.#p=!e,!this.#x(t))throw t}}}async togglePreloadIfNeeded(){let e=this.isSubscribedTo(Ue.EventNames.PrefetchStatusUpdated);if(this.#m!==e){this.#m=e;try{await this.#t.sendCommand(e?"Preload.enable":"Preload.disable")}catch(t){if(this.#c?.(S.debugError)?.(t),this.#m=!e,!this.#x(t))throw t}}}#x(e){let t=e;return t.code===-32001&&t.message==="Session with given id not found."||this.#t.isCloseError(e)}#P(){this.#t.on("*",(e,t)=>{typeof e=="string"&&this.#o.registerEvent({type:"event",method:`goog:cdp.${e}`,params:{event:e,params:t,session:this.cdpSessionId}},this.id)})}async#I(e){let t=[];if((e.request||e.auth)&&t.push({urlPattern:"*",requestStage:"Request"}),e.response&&t.push({urlPattern:"*",requestStage:"Response"}),t.length){let s=this.#g;this.#g=e;try{await this.#t.sendCommand("Fetch.enable",{patterns:t,handleAuthRequests:e.auth})}catch{this.#g=s}}}async#b(){this.#n.getRequestsByTarget(this).filter(t=>t.interceptPhase).length===0&&(this.#g={request:!1,response:!1,auth:!1},await this.#t.sendCommand("Fetch.disable"))}async toggleNetwork(){let e=this.#n.getInterceptionStages(this.topLevelId),t=Object.values(e).some(r=>r),s=this.#g.request!==e.request||this.#g.response!==e.response||this.#g.auth!==e.auth;this.#c?.(S.debugInfo)?.("Toggle Network",`Fetch (${t}) ${s}`),t&&s&&await this.#I(e),!t&&s&&await this.#b()}getChannels(){return this.#a.find().flatMap(e=>e.channels)}async#k(){let{windowId:e}=await this.#s.sendCommand("Browser.getWindowForTarget",{targetId:this.id});this.#f=e}async#E(){await Promise.all(this.#a.find({targetId:this.topLevelId}).map(e=>e.initInTarget(this,!0)))}async setDeviceMetricsOverride(e,t,s,r,i=null){if(e===null&&t===null&&s===null&&r===null&&i===null){await this.cdpClient.sendCommand("Emulation.clearDeviceMetricsOverride");return}let o={width:e?.width??0,height:e?.height??0,deviceScaleFactor:t??0,screenOrientation:this.#T(s)??void 0,mobile:!1,screenWidth:r?.width,screenHeight:r?.height,scrollbarType:i==="overlay"?"overlay":"default"};await this.cdpClient.sendCommand("Emulation.setDeviceMetricsOverride",o)}async#v(e){let t=[];t.push(this.#t.sendCommand("Page.setPrerenderingAllowed",{isAllowed:!e.prerenderingDisabled}).catch(()=>{})),(e.viewport!==void 0||e.devicePixelRatio!==void 0||e.screenOrientation!==void 0||e.screenArea!==void 0)&&t.push(this.setDeviceMetricsOverride(e.viewport??null,e.devicePixelRatio??null,e.screenOrientation??null,e.screenArea??null,e.scrollbarType??null).catch(()=>{})),e.geolocation!==void 0&&e.geolocation!==null&&t.push(this.setGeolocationOverride(e.geolocation)),e.locale!==void 0&&t.push(this.setLocaleOverride(e.locale)),e.timezone!==void 0&&t.push(this.setTimezoneOverride(e.timezone)),e.extraHeaders!==void 0&&t.push(this.setExtraHeaders(e.extraHeaders)),(e.userAgent!==void 0||e.locale!==void 0||e.clientHints!==void 0)&&t.push(this.setUserAgentAndAcceptLanguage(e.userAgent,e.locale,e.clientHints)),e.scriptingEnabled!==void 0&&t.push(this.setScriptingEnabled(e.scriptingEnabled)),e.acceptInsecureCerts!==void 0&&t.push(this.cdpClient.sendCommand("Security.setIgnoreCertificateErrors",{ignore:e.acceptInsecureCerts})),e.emulatedNetworkConditions!==void 0&&t.push(this.setEmulatedNetworkConditions(e.emulatedNetworkConditions)),e.maxTouchPoints!==void 0&&t.push(this.setTouchOverride(e.maxTouchPoints)),e.digitalCredentialsBehavior&&this.id===this.topLevelId&&t.push(this.cdpClient.sendCommand("DigitalCredentials.setVirtualWalletBehavior",{action:e.digitalCredentialsBehavior.action,behavior:e.digitalCredentialsBehavior.action,protocol:e.digitalCredentialsBehavior.protocol,response:e.digitalCredentialsBehavior.response}).catch(()=>{})),await Promise.all(t)}get topLevelId(){return this.#d.findTopLevelContextId(this.id)??this.id}isSubscribedTo(e){return this.#o.subscriptionManager.isSubscribedTo(e,this.topLevelId)}#D(){let e=this.contextConfigStorage.getActiveConfig(this.topLevelId,this.userContext);return(e.userPromptHandler?.file??e.userPromptHandler?.default??"ignore")==="ignore"}async setGeolocationOverride(e){if(e===null)await this.cdpClient.sendCommand("Emulation.clearGeolocationOverride");else if("type"in e){if(e.type!=="positionUnavailable")throw new O(`Unknown geolocation error ${e.type}`);await this.cdpClient.sendCommand("Emulation.setGeolocationOverride",{})}else if("latitude"in e)await this.cdpClient.sendCommand("Emulation.setGeolocationOverride",{latitude:e.latitude,longitude:e.longitude,accuracy:e.accuracy??1,altitude:e.altitude??void 0,altitudeAccuracy:e.altitudeAccuracy??void 0,heading:e.heading??void 0,speed:e.speed??void 0});else throw new O("Unexpected geolocation coordinates value")}async setTouchOverride(e){let t={enabled:e!==null};e!==null&&(t.maxTouchPoints=e),await this.cdpClient.sendCommand("Emulation.setTouchEmulationEnabled",t)}#T(e){if(e===null)return null;if(e.natural==="portrait")switch(e.type){case"portrait-primary":return{angle:0,type:"portraitPrimary"};case"landscape-primary":return{angle:90,type:"landscapePrimary"};case"portrait-secondary":return{angle:180,type:"portraitSecondary"};case"landscape-secondary":return{angle:270,type:"landscapeSecondary"};default:throw new O(`Unexpected screen orientation type ${e.type}`)}if(e.natural==="landscape")switch(e.type){case"landscape-primary":return{angle:0,type:"landscapePrimary"};case"portrait-primary":return{angle:90,type:"portraitPrimary"};case"landscape-secondary":return{angle:180,type:"landscapeSecondary"};case"portrait-secondary":return{angle:270,type:"portraitSecondary"};default:throw new O(`Unexpected screen orientation type ${e.type}`)}throw new O(`Unexpected orientation natural ${e.natural}`)}async setLocaleOverride(e){e===null?await this.cdpClient.sendCommand("Emulation.setLocaleOverride",{}):await this.cdpClient.sendCommand("Emulation.setLocaleOverride",{locale:e})}async setScriptingEnabled(e){await this.cdpClient.sendCommand("Emulation.setScriptExecutionDisabled",{value:e===!1})}async setTimezoneOverride(e){e===null?await this.cdpClient.sendCommand("Emulation.setTimezoneOverride",{timezoneId:""}):await this.cdpClient.sendCommand("Emulation.setTimezoneOverride",{timezoneId:e})}async setExtraHeaders(e){await this.cdpClient.sendCommand("Network.setExtraHTTPHeaders",{headers:e})}async setUserAgentAndAcceptLanguage(e,t,s){let r=s?{brands:s.brands?.map(i=>({brand:i.brand,version:i.version})),fullVersionList:s.fullVersionList,platform:s.platform??"",platformVersion:s.platformVersion??"",architecture:s.architecture??"",model:s.model??"",mobile:s.mobile??!1,bitness:s.bitness??void 0,wow64:s.wow64??void 0,formFactors:s.formFactors??void 0}:void 0;await this.cdpClient.sendCommand("Emulation.setUserAgentOverride",{userAgent:e||(r?this.#h:""),acceptLanguage:t??void 0,platform:s?.platform??void 0,userAgentMetadata:r})}async setEmulatedNetworkConditions(e){if(e!==null&&e.type!=="offline")throw new R(`Unsupported network conditions ${e.type}`);await Promise.all([this.cdpClient.sendCommand("Network.emulateNetworkConditionsByRule",{offline:e?.type==="offline",matchedNetworkConditions:[{urlPattern:"",latency:0,downloadThroughput:-1,uploadThroughput:-1}]}),this.cdpClient.sendCommand("Network.overrideNetworkState",{offline:e?.type==="offline",latency:0,downloadThroughput:-1,uploadThroughput:-1})])}};var Pn={service_worker:"service-worker",shared_worker:"shared-worker",worker:"dedicated-worker"},Cs=class{#e;#t;#s=new Set;#r;#i;#o;#a;#d;#n;#l;#h;#c;#f;#p;#u;constructor(e,t,s,r,i,o,a,c,d,u,l,y,f,h){this.#t=e,this.#e=t,this.#s.add(s),this.#r=s,this.#i=r,this.#o=i,this.#n=l,this.#a=a,this.#h=c,this.#d=d,this.#c=u,this.#l=o,this.#f=y,this.#p=f,this.#u=h,this.#m(t)}#m(e){e.on("Target.attachedToTarget",t=>{this.#C(t,e)}),e.on("Target.detachedFromTarget",this.#k.bind(this)),e.on("Target.targetInfoChanged",this.#E.bind(this)),e.on("Inspector.targetCrashed",()=>{this.#v(e)}),e.on("Page.frameAttached",this.#g.bind(this)),e.on("Page.frameSubtreeWillBeDetached",this.#y.bind(this))}#g(e){let t=this.#o.findContext(e.parentFrameId);t!==void 0&&we.create(e.frameId,e.parentFrameId,t.userContext,t.cdpTarget,this.#i,this.#o,this.#l,this.#h,"about:blank",void 0,this.#u)}#y(e){this.#o.findContext(e.frameId)?.dispose(!0)}#C(e,t){let{sessionId:s,targetInfo:r}=e,i=this.#t.getCdpClient(s),o=async()=>{await i.sendCommand("Runtime.runIfWaitingForDebugger").then(()=>t.sendCommand("Target.detachFromTarget",e)).catch(d=>this.#u?.(S.debugError)?.(d))};if(this.#r===r.targetId){o();return}let a=r.type==="service_worker"?`${t.sessionId}_${r.targetId}`:r.targetId;if(this.#s.has(a))return;this.#s.add(a);let c=r.browserContextId&&r.browserContextId!==this.#f?r.browserContextId:"default";switch(r.type){case"tab":{this.#m(i),(async()=>await i.sendCommand("Target.setAutoAttach",{autoAttach:!0,waitForDebuggerOnStart:!0,flatten:!0}))();return}case"page":case"iframe":{let d=this.#P(i,t,r,c),u=this.#o.findContext(r.targetId);if(u&&r.type==="iframe")u.updateCdpTarget(d);else{let l=this.#x(r,t.sessionId);we.create(r.targetId,l,c,d,this.#i,this.#o,this.#l,this.#h,r.url===""?"about:blank":r.url,r.openerFrameId??r.openerId,this.#u)}return}case"service_worker":case"worker":{let d=this.#l.findRealm({cdpSessionId:t.sessionId,sandbox:null});if(!d){o();return}let u=this.#P(i,t,r,c);this.#b(Pn[r.type],u,d);return}case"shared_worker":{let d=this.#P(i,t,r,c);this.#b(Pn[r.type],d);return}}o()}#x(e,t){if(e.type!=="iframe")return null;let s=e.openerFrameId??e.openerId;return s!==void 0?s:t!==void 0?this.#o.findContextBySession(t)?.id??null:null}#P(e,t,s,r){this.#m(e),this.#n.onCdpTargetCreated(s.targetId,r);let i=bs.create(s.targetId,e,this.#e,t,this.#l,this.#i,this.#n,this.#o,this.#a,this.#h,r,this.#p,this.#u);return this.#a.onCdpTargetCreated(i),this.#d.onCdpTargetCreated(i),this.#c.onCdpTargetCreated(i),i}#I=new Map;#b(e,t,s){t.cdpClient.on("Runtime.executionContextCreated",r=>{let{uniqueId:i,id:o,origin:a}=r.context,c=new gs(t.cdpClient,this.#i,o,this.#u,Ir(a),s?[s]:[],i,this.#l,e);this.#I.set(t.cdpSessionId,c)})}#k({sessionId:e,targetId:t}){t&&this.#n.find({targetId:t}).map(i=>{i.dispose(t)});let s=this.#o.findContextBySession(e);if(s){s.dispose(!0);return}let r=this.#I.get(e);r&&this.#l.deleteRealms({cdpSessionId:r.cdpClient.sessionId})}#E(e){let t=this.#o.findContext(e.targetInfo.targetId);t&&t.onTargetInfoChanged(e)}#v(e){let t=this.#l.findRealms({cdpSessionId:e.sessionId});for(let s of t)s.dispose()}};var Es=class{#e=new Map;#t=new K;getTopLevelContexts(){return this.getAllContexts().filter(e=>e.isTopLevelContext())}getAllContexts(){return Array.from(this.#e.values())}deleteContextById(e){this.#e.delete(e)}deleteContext(e){this.#e.delete(e.id)}addContext(e){this.#e.set(e.id,e),this.#t.emit("added",{browsingContext:e})}waitForContext(e){return this.#e.has(e)?Promise.resolve(this.getContext(e)):new Promise(t=>{let s=r=>{r.browsingContext.id===e&&(this.#t.off("added",s),t(r.browsingContext))};this.#t.on("added",s)})}hasContext(e){return this.#e.has(e)}findContext(e){return this.#e.get(e)}findTopLevelContextId(e){if(e===null)return null;let t=this.findContext(e);if(!t)return null;let s=t.parentId??null;return s===null?e:this.findTopLevelContextId(s)}findContextBySession(e){for(let t of this.#e.values())if(t.cdpTarget.cdpSessionId===e)return t}getContext(e){let t=this.findContext(e);if(t===void 0)throw new V(`Context ${e} not found`);return t}verifyTopLevelContextsList(e){let t=new Set;if(!e)return t;for(let s of e){let r=this.getContext(s);if(r.isTopLevelContext())t.add(r);else throw new x(`Non top-level context '${s}' given.`)}return t}verifyContextsList(e){if(e.length)for(let t of e)this.getContext(t)}};var Ss=class{#e=new Set;find(e){return e?[...this.#e].filter(t=>!!(t.contexts===void 0&&t.userContexts===void 0||e.targetId!==void 0&&t.targetIds.has(e.targetId))):[...this.#e]}add(e){this.#e.add(e)}remove(e){let t=[...this.#e].find(s=>s.id===e);if(t===void 0)throw new it(`No preload script with id '${e}'`);this.#e.delete(t)}getPreloadScript(e){let t=[...this.#e].find(s=>s.id===e);if(t===void 0)throw new it(`No preload script with id '${e}'`);return t}onCdpTargetCreated(e,t){let s=[...this.#e].filter(r=>!r.userContexts&&!r.contexts?!0:r.userContexts?.includes(t));for(let r of s)r.targetIds.add(e)}};var Ps=class{#e=new Map;#t=new Map;hiddenSandboxes=new Set;get knownHandlesToRealmMap(){return this.#e}addRealm(e){this.#t.set(e.realmId,e)}findRealms(e){let t=e.sandbox===null?void 0:e.sandbox;return Array.from(this.#t.values()).filter(s=>!(e.realmId!==void 0&&e.realmId!==s.realmId||e.browsingContextId!==void 0&&!s.associatedBrowsingContexts.map(r=>r.id).includes(e.browsingContextId)||e.sandbox!==void 0&&(!(s instanceof ze)||t!==s.sandbox)||e.executionContextId!==void 0&&e.executionContextId!==s.executionContextId||e.origin!==void 0&&e.origin!==s.origin||e.type!==void 0&&e.type!==s.realmType||e.cdpSessionId!==void 0&&e.cdpSessionId!==s.cdpClient.sessionId||e.isHidden!==void 0&&e.isHidden!==s.isHidden()))}findRealm(e){return this.findRealms(e)[0]}getRealm(e){let t=this.findRealm(e);if(t===void 0)throw new V(`Realm ${JSON.stringify(e)} not found`);return t}deleteRealms(e){this.findRealms(e).map(t=>{t.dispose(),this.#t.delete(t.realmId),Array.from(this.knownHandlesToRealmMap.entries()).filter(([,s])=>s===t.realmId).map(([s])=>this.knownHandlesToRealmMap.delete(s))})}};var ks=class{#e;#t=[];#s;constructor(e,t){this.#e=e,this.#s=t}get(){return this.#t}add(e){for(this.#t.push(e);this.#t.length>this.#e;){let t=this.#t.shift();t!==void 0&&this.#s?.(t)}}};var Is=class n{static#e=0;#t;constructor(){this.#t=++n.#e}get id(){return this.#t}};function To(n){return n.split(".").at(0)?.startsWith(C.BiDiModule.Cdp)??!1}function Nr(n){if(!C.EVENT_NAMES.has(n)&&!To(n))throw new x(`Unknown event: ${n}`)}function Ds(n){let e=new Set;function t(s){for(let r of s)e.add(r)}for(let s of n)switch(s){case C.BiDiModule.Bluetooth:t(Object.values(C.Bluetooth.EventNames));break;case C.BiDiModule.BrowsingContext:t(Object.values(C.BrowsingContext.EventNames));break;case C.BiDiModule.Input:t(Object.values(C.Input.EventNames));break;case C.BiDiModule.Log:t(Object.values(C.Log.EventNames));break;case C.BiDiModule.Network:t(Object.values(C.Network.EventNames));break;case C.BiDiModule.Script:t(Object.values(C.Script.EventNames));break;case C.BiDiModule.Speculation:t(Object.values(C.Speculation.EventNames));break;default:e.add(s)}return e.values()}var Ts=class{#e=[];#t=new Set;#s;constructor(e){this.#s=e}getGoogChannelsSubscribedToEvent(e,t){let s=new Set;for(let r of this.#e)this.#r(r,e,t)&&s.add(r.googChannel);return Array.from(s)}getGoogChannelsSubscribedToEventGlobally(e){let t=new Set;for(let s of this.#e)this.#r(s,e)&&t.add(s.googChannel);return Array.from(t)}#r(e,t,s){let r=!1;for(let i of e.eventNames)if(i===t||i===t.split(".").at(0)||i.split(".").at(0)===t){r=!0;break}if(!r)return!1;if(e.userContextIds.size!==0){if(!s)return!1;let i=this.#s.findContext(s);return i?e.userContextIds.has(i.userContext):!1}if(e.topLevelTraversableIds.size!==0){if(!s)return!1;let i=this.#s.findTopLevelContextId(s);return i!==null&&e.topLevelTraversableIds.has(i)}return!0}isSubscribedTo(e,t){for(let s of this.#e)if(this.#r(s,e,t))return!0;return!1}subscribe(e,t,s,r){let i={id:$(),eventNames:new Set(Ds(e)),topLevelTraversableIds:new Set(t.map(o=>{let a=this.#s.findTopLevelContextId(o);if(!a)throw new V(`Top-level navigable not found for context id ${o}`);return a})),userContextIds:new Set(s),googChannel:r};return this.#e.push(i),this.#t.add(i.id),i}unsubscribe(e,t){let s=new Set(Ds(e)),r=[],i=new Set;for(let o of this.#e){if(o.googChannel!==t){r.push(o);continue}if(o.userContextIds.size!==0){r.push(o);continue}if(Ro(o.eventNames,s).size===0){r.push(o);continue}if(o.topLevelTraversableIds.size!==0){r.push(o);continue}let a=new Set(o.eventNames);for(let c of s)a.has(c)&&(i.add(c),a.delete(c));a.size!==0&&r.push({...o,eventNames:a})}if(!Oo(i,s))throw new x("No subscription found");this.#e=r}unsubscribeById(e){let t=new Set(e);if(Rs(t,this.#t).size!==0)throw new x("No subscription found");this.#e=this.#e.filter(r=>!t.has(r.id)),this.#t=Rs(this.#t,t)}};function Ro(n,e){let t=new Set;for(let s of n)e.has(s)&&t.add(s);return t}function Rs(n,e){let t=new Set;for(let s of n)e.has(s)||t.add(s);return t}function Oo(n,e){if(n.size!==e.size)return!1;for(let t of n)if(!e.has(t))return!1;return!0}var ht,Ns=class{#e=new Is;#t;#s;constructor(e,t){this.#s=e,this.#t=t}get id(){return this.#e.id}get contextId(){return this.#t}get event(){return this.#s}},Os=new Map([[C.Log.EventNames.LogEntryAdded,100]]),pt=class extends K{#e=new Se(()=>new Set);#t=new Map;#s=new Map;#r;#i;#o;#a;constructor(e,t){super(),this.#i=e,this.#a=t,this.#r=new Ts(e),this.#o=new Se(()=>[])}get subscriptionManager(){return this.#r}static#d(e,t){return JSON.stringify({eventName:e,browsingContext:t})}addSubscribeHook(e,t){this.#o.get(e).push(t)}registerEvent(e,t){this.registerPromiseEvent(Promise.resolve({kind:"success",value:e}),t,e.method)}registerGlobalEvent(e){this.registerGlobalPromiseEvent(Promise.resolve({kind:"success",value:e}),e.method)}registerPromiseEvent(e,t,s){let r=new Ns(e,t),i=this.#r.getGoogChannelsSubscribedToEvent(s,t);this.#n(r,s);for(let o of i)this.emit("event",{message:X.createFromPromise(e,o),event:s}),this.#l(r,o,s)}registerGlobalPromiseEvent(e,t){let s=new Ns(e,null),r=this.#r.getGoogChannelsSubscribedToEventGlobally(t);this.#n(s,t);for(let i of r)this.emit("event",{message:X.createFromPromise(e,i),event:t}),this.#l(s,i,t)}async subscribe(e,t,s,r){for(let d of e)Nr(d);if(s.length&&t.length)throw new x("Both userContexts and contexts cannot be specified.");this.#i.verifyContextsList(t),await this.#a.verifyUserContextIdList(s);let i=new Set(Ds(e)),o=new Map,a=new Set(t.length?t.map(d=>{let u=this.#i.findTopLevelContextId(d);if(!u)throw new x("Invalid context id");return u}):this.#i.getTopLevelContexts().map(d=>d.id));for(let d of i){let u=new Set(this.#i.getTopLevelContexts().map(l=>l.id).filter(l=>this.#r.isSubscribedTo(d,l)));o.set(d,Rs(a,u))}let c=this.#r.subscribe(e,t,s,r);for(let d of c.eventNames)for(let u of a)for(let l of this.#h(d,u,r))this.emit("event",{message:X.createFromPromise(l.event,r),event:d}),this.#l(l,r,d);for(let[d,u]of o)for(let l of u)this.#o.get(d).forEach(y=>y(l));return await this.toggleModulesIfNeeded(),c.id}async unsubscribe(e,t){for(let s of e)Nr(s);this.#r.unsubscribe(e,t),await this.toggleModulesIfNeeded()}async unsubscribeByIds(e){this.#r.unsubscribeById(e),await this.toggleModulesIfNeeded()}async toggleModulesIfNeeded(){await Promise.all(this.#i.getAllContexts().map(async e=>await e.toggleModulesIfNeeded()))}clearBufferedEvents(e){for(let t of Os.keys()){let s=ht.#d(t,e);this.#t.delete(s)}}#n(e,t){if(!Os.has(t))return;let s=ht.#d(t,e.contextId);this.#t.has(s)||this.#t.set(s,new ks(Os.get(t))),this.#t.get(s).add(e),this.#e.get(t).add(e.contextId)}#l(e,t,s){if(!Os.has(s))return;let r=ht.#d(s,e.contextId),i=Math.max(this.#s.get(r)?.get(t)??0,e.id),o=this.#s.get(r);o?o.set(t,i):this.#s.set(r,new Map([[t,i]]))}#h(e,t,s){let r=ht.#d(e,t),i=this.#s.get(r)?.get(s)??-1/0,o=this.#t.get(r)?.get().filter(a=>a.id>i)??[];return t===null&&Array.from(this.#e.get(e).keys()).filter(a=>a!==null&&this.#i.hasContext(a)).map(a=>this.#h(e,a,s)).forEach(a=>o.push(...a)),o.sort((a,c)=>a.id-c.id)}};ht=pt;var _s=class{#e;#t;constructor(e,t){this.#e=e,this.#t=t}onCdpTargetCreated(e){e.cdpClient.on("Preload.prefetchStatusUpdated",t=>{let s;switch(t.status){case"Running":s="pending";break;case"Ready":s="ready";break;case"Success":s="success";break;case"Failure":s="failure";break;default:this.#t?.(S.debugWarn)?.(`Unknown prefetch status: ${t.status}`);return}this.#e.registerEvent({type:"event",method:"speculation.prefetchStatusUpdated",params:{context:t.initiatingFrameId,url:t.prefetchUrl,status:s}},e.id)})}};var Bs=class{#e;#t;constructor(e,t){this.#e=e,this.#t=t}async setVirtualWalletBehavior(e){let{context:t,action:s,protocol:r,response:i}=e;if(s==="respond"){if(r===void 0||i===void 0)throw new x("Protocol and response are required when action is 'respond'")}else if(r!==void 0||i!==void 0)throw new x("Protocol and response are only allowed when action is 'respond'");if(t===void 0)s==="clear"?this.#t.updateGlobalConfig({digitalCredentialsBehavior:null}):this.#t.updateGlobalConfig({digitalCredentialsBehavior:{action:s,protocol:r,response:i}});else{if(this.#e.getContext(t).parentId!==null)throw new R("Only top-level contexts are supported");s==="clear"?this.#t.updateBrowsingContextConfig(t,{digitalCredentialsBehavior:null}):this.#t.updateBrowsingContextConfig(t,{digitalCredentialsBehavior:{action:s,protocol:r,response:i}})}return await this.#s(),{}}async#s(){let e=this.#e.getAllContexts(),t=new Set;for(let s of e)t.add(s.cdpTarget);await Promise.all(Array.from(t).map(s=>this.#r(s)))}async#r(e){if(e.id!==e.topLevelId)return;let s=this.#t.getActiveConfig(e.topLevelId,e.userContext).digitalCredentialsBehavior;if(s==null){await this.#i(e,{action:"clear"});return}await this.#i(e,s)}async#i(e,t){await e.cdpClient.sendCommand("DigitalCredentials.setVirtualWalletBehavior",{action:t.action,behavior:t.action,protocol:t.protocol,response:t.response})}};var Fs=class n extends K{#e;#t;#s;#r;#i=new Es;#o=new Ps;#a=new Ss;#d;#n;#l;#h;#c=e=>{this.#s.processCommand(e).catch(t=>{this.#h?.(S.debugError)?.(t)})};#f=async e=>{let t=e.message;e.googChannel!==null&&(t["goog:channel"]=e.googChannel),await this.#t.sendMessage(t)};constructor(e,t,s,r,i,o,a,c){super(),this.#h=c,this.#e=new tt(this.#f,this.#h),this.#t=e,this.#t.setOnMessage(this.#c);let d=new ls,u=new hs(s);this.#r=new pt(this.#i,u);let l=new xs(this.#r,this.#i,s,c);this.#d=new us(this.#r,this.#i),this.#n=new _s(this.#r,this.#h),this.#l=new Bs(this.#i,d),this.#s=new ds(t,s,this.#r,this.#i,this.#o,this.#a,l,d,this.#d,this.#l,u,a,async y=>{await s.sendCommand("Security.setIgnoreCertificateErrors",{ignore:y.acceptInsecureCerts??!1}),d.updateGlobalConfig({acceptInsecureCerts:y.acceptInsecureCerts??!1,userPromptHandler:y.unhandledPromptBehavior,prerenderingDisabled:y?.["goog:prerenderingDisabled"]??!1,disableNetworkDurableMessages:y?.["goog:disableNetworkDurableMessages"]}),new Cs(t,s,r,this.#r,this.#i,this.#o,l,d,this.#d,this.#n,this.#a,i,o,c),await s.sendCommand("Target.setDiscoverTargets",{discover:!0}),await s.sendCommand("Target.setAutoAttach",{autoAttach:!0,waitForDebuggerOnStart:!0,flatten:!0,filter:[{type:"page",exclude:!0},{}]}),await this.#u()},this.#h),this.#r.on("event",({message:y,event:f})=>{this.emitOutgoingMessage(y,f)}),this.#s.on("response",({message:y,event:f})=>{this.emitOutgoingMessage(y,f)})}static async createAndStart(e,t,s,r,i,o){let[a,c]=await Promise.all([this.#p(s),s.sendCommand("Browser.getVersion"),s.sendCommand("Browser.setDownloadBehavior",{behavior:"default",eventsEnabled:!0})]);return new n(e,t,s,r,a,c.userAgent,i,o)}static async#p(e){let[{defaultBrowserContextId:t,browserContextIds:s},{targetInfos:r}]=await Promise.all([e.sendCommand("Target.getBrowserContexts"),e.sendCommand("Target.getTargets")]);if(t)return t;for(let i of r)if(i.browserContextId&&!s.includes(i.browserContextId))return i.browserContextId;return"default"}emitOutgoingMessage(e,t){this.#e.add(e,t)}close(){this.#t.close()}async#u(){await Promise.all(this.#i.getTopLevelContexts().map(e=>e.lifecycleLoaded()))}};var Pe=class n extends ki{static sessions=new Map;#e=!1;#t;#s=Fe.create();frame;constructor(e,t){if(super(),this.frame=e,!this.frame.page().browser().cdpSupported)return;let s=this.frame.page().browser().connection;this.#t=s,t?(this.#s.resolve(t),n.sessions.set(t,this)):(async()=>{try{let{result:r}=await s.send("goog:cdp.getSession",{context:e._id});this.#s.resolve(r.session),n.sessions.set(r.session,this)}catch(r){this.#s.reject(r)}})(),n.sessions.set(this.#s.value(),this)}connection(){}get detached(){return this.#e}async send(e,t,s){if(this.#t===void 0)throw new b("CDP support is required for this feature. The current browser does not support CDP.");if(this.#e)throw new Ne(`Protocol error (${e}): Session closed. Most likely the page has been closed.`);let r=await this.#s.valueOrThrow(),{result:i}=await this.#t.send("goog:cdp.sendCommand",{method:e,params:t,session:r},s?.timeout);return i.result}async detach(){if(!(this.#t===void 0||this.#t.closed||this.#e))try{await this.frame.client.send("Target.detachFromTarget",{sessionId:this.id()})}finally{this.onClose()}}onClose=()=>{n.sessions.delete(this.id()),this.#e=!0};id(){let e=this.#s.value();return typeof e=="string"?e:""}};var As=class extends P{#e;#t;#s;#r=0;#i=!1;#o;#a;#d=[];#n;#l;constructor(e,t,s,r=0,i=void 0,o){super(),this.#e=e,this.#s=r,this.#r=i??18e4,this.#a=new Zi(s,o),this.#n=o?.(T.bidiSend),this.#l=o?.(T.bidiReceive),this.#t=t,this.#t.onmessage=this.onMessage.bind(this),this.#t.onclose=this.unbind.bind(this)}get closed(){return this.#i}get url(){return this.#e}pipeTo(e){this.#d.push(e)}#h(e){for(let t in e)t.startsWith("goog:")?delete e[t]:typeof e[t]=="object"&&e[t]!==null&&this.#h(e[t])}emit(e,t){process.env.PUPPETEER_WEBDRIVER_BIDI_ONLY==="true"&&this.#h(t);for(let s of this.#d)s.emit(e,t);return super.emit(e,t)}send(e,t,s){return this.#i?Promise.reject(new mi("Connection closed.")):this.#a.create(e,s??this.#r,r=>{let i=JSON.stringify({id:r,method:e,params:t});this.#n?.(i),this.#t.send(i)})}async onMessage(e){this.#s&&await new Promise(s=>setTimeout(s,this.#s)),this.#l?.(e);let t=JSON.parse(e);if("type"in t)switch(t.type){case"success":this.#a.resolve(t.id,t);return;case"error":if(t.id===null)break;this.#a.reject(t.id,No(t),`${t.error}: ${t.message}`);return;case"event":if(_o(t)){Pe.sessions.get(t.params.session)?.emit(t.params.event,t.params.params);return}this.emit(t.method,t.params);return}"id"in t&&this.#a.reject(t.id,`Protocol Error. Message is not in BiDi protocol format: '${e}'`,t.message),this.#o?.(T.error)?.(t)}unbind(){this.#i||(this.#i=!0,this.#t.onmessage=()=>{},this.#t.onclose=()=>{},this.#a.clear())}dispose(){this.unbind(),this.#t.close()}getPendingProtocolErrors(){return this.#a.getPendingProtocolErrors()}};function No(n){let e=`${n.error} ${n.message}`;return n.stacktrace&&(e+=` ${n.stacktrace}`),e}function _o(n){return n.method.startsWith("goog:cdp.")}async function Bl(n,e){let t=e?c=>e(`bidi:${c}`):void 0,s=new Br,r=new _r(n),i={send(c){s.emitMessage(JSON.parse(c))},close(){a.close(),r.close(),n.dispose()},onmessage(c){}};s.on("bidiResponse",c=>{i.onmessage(JSON.stringify(c))});let o=new As(n.url(),i,n._idGenerator,n.delay,n.timeout,e),a=await Ve.BidiServer.createAndStart(s,r,r.browserClient(),"",void 0,t);return o}var _r=class{#e;#t=new Map;#s;constructor(e){this.#e=e,this.#s=new Us(e)}browserClient(){return this.#s}getCdpClient(e){let t=this.#e.session(e);if(!t)throw new Error(`Unknown CDP session with id ${e}`);if(!this.#t.has(t)){let s=new Us(t,e,this.#s);return this.#t.set(t,s),s}return this.#t.get(t)}close(){this.#s.close();for(let e of this.#t.values())e.close()}},Us=class extends Ve.EventEmitter{#e=!1;#t;sessionId=void 0;#s;constructor(e,t,s){super(),this.#t=e,this.sessionId=t,this.#s=s,this.#t.on("*",this.#r)}browserClient(){return this.#s}#r=(e,t)=>{this.emit(e,t)};async sendCommand(e,...t){if(!this.#e)try{return await this.#t.send(e,...t)}catch(s){if(this.#e)return;throw s}}close(){this.#t.off("*",this.#r),this.#e=!0}isCloseError(e){return e instanceof Ne}},Br=class extends Ve.EventEmitter{#e=async e=>{};emitMessage(e){this.#e(e)}setOnMessage(e){this.#e=e}async sendMessage(e){this.emit("bidiResponse",e)}close(){this.#e=async e=>{}}};var Ls=class{#e;#t;constructor(e,t){this.#t=e,this.#e=t}async emulateAdapter(e,t=!0){await this.#e.send("bluetooth.simulateAdapter",{context:this.#t,state:e,leSupported:t})}async disableEmulation(){await this.#e.send("bluetooth.disableSimulation",{context:this.#t})}async simulatePreconnectedPeripheral(e){await this.#e.send("bluetooth.simulatePreconnectedPeripheral",{context:this.#t,address:e.address,name:e.name,manufacturerData:e.manufacturerData,knownServiceUuids:e.knownServiceUuids})}};var Ms=class{#e;#t;#s=!1;constructor(e,t){this.#e=t,this.#t=e}async#r(){this.#s||(this.#s=!0,await this.#e.subscribe(["bluetooth.requestDevicePromptUpdated"],[this.#t]))}async waitForDevicePrompt(e,t){let s=Fe.create({message:`Waiting for \`DeviceRequestPrompt\` failed: ${e}ms exceeded`,timeout:e}),r=i=>{i.context===this.#t&&(s.resolve(new Fr(this.#t,i.prompt,this.#e,i.devices)),this.#e.off("bluetooth.requestDevicePromptUpdated",r))};return this.#e.on("bluetooth.requestDevicePromptUpdated",r),t&&t.addEventListener("abort",()=>{s.reject(t.reason)},{once:!0}),await this.#r(),await s.valueOrThrow()}},Fr=class extends Ii{#e;#t;#s;constructor(e,t,s,r){super(),this.#e=s,this.#t=t,this.#s=e,this.devices.push(...r.map(i=>({id:i.id,name:i.name??"UNKNOWN"})))}async cancel(){await this.#e.send("bluetooth.handleRequestDevicePrompt",{context:this.#s,prompt:this.#t,accept:!1})}async select(e){await this.#e.send("bluetooth.handleRequestDevicePrompt",{context:this.#s,prompt:this.#t,accept:!0,device:e.id})}waitForDevice(){throw new b}};var Bo=function(n,e,t){for(var s=arguments.length>2,r=0;r<e.length;r++)t=s?e[r].call(n,t):e[r].call(n);return s?t:void 0},Fo=function(n,e,t,s,r,i){function o(v){if(v!==void 0&&typeof v!="function")throw new TypeError("Function expected");return v}for(var a=s.kind,c=a==="getter"?"get":a==="setter"?"set":"value",d=!e&&n?s.static?n:n.prototype:null,u=e||(d?Object.getOwnPropertyDescriptor(d,s.name):{}),l,y=!1,f=t.length-1;f>=0;f--){var h={};for(var p in s)h[p]=p==="access"?{}:s[p];for(var p in s.access)h.access[p]=s.access[p];h.addInitializer=function(v){if(y)throw new TypeError("Cannot add initializers after decoration has completed");i.push(o(v||null))};var m=(0,t[f])(a==="accessor"?{get:u.get,set:u.set}:u[c],h);if(a==="accessor"){if(m===void 0)continue;if(m===null||typeof m!="object")throw new TypeError("Object expected");(l=o(m.get))&&(u.get=l),(l=o(m.set))&&(u.set=l),(l=o(m.init))&&r.unshift(l)}else(l=o(m))&&(a==="field"?r.unshift(l):u[c]=l)}d&&Object.defineProperty(d,s.name,u),y=!0},kn=(()=>{var n;let e=P,t=[],s;return class Ar extends e{static{let i=typeof Symbol=="function"&&Symbol.metadata?Object.create(e[Symbol.metadata]??null):void 0;Fo(this,null,s,{kind:"method",name:"dispose",static:!1,private:!1,access:{has:o=>"dispose"in o,get:o=>o.dispose},metadata:i},null,t),i&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:i})}static from(i){let o=new Ar(i);return o.#o(),o}#e=Bo(this,t);#t;#s;#r=new L;#i;constructor(i){super(),this.#s=i}#o(){let i=this.#r.use(new P(this.#s));i.once("closed",()=>{this.emit("failed",{url:this.#s.url,timestamp:new Date}),this.dispose()}),i.on("request",a=>{if(a.navigation===void 0||!this.#a(a.navigation))return;this.#e=a,this.emit("request",a),this.#r.use(new P(this.#e)).on("redirect",d=>{this.#e=d})});let o=this.#r.use(new P(this.#d));o.on("browsingContext.navigationStarted",a=>{a.context!==this.#s.id||this.#t!==void 0||(this.#t=Ar.from(this.#s))});for(let a of["browsingContext.domContentLoaded","browsingContext.load","browsingContext.navigationCommitted"])o.on(a,c=>{c.context!==this.#s.id||c.navigation===null||!this.#a(c.navigation)||this.dispose()});for(let[a,c]of[["browsingContext.fragmentNavigated","fragment"],["browsingContext.navigationFailed","failed"],["browsingContext.navigationAborted","aborted"]])o.on(a,d=>{d.context!==this.#s.id||!this.#a(d.navigation)||(this.emit(c,{url:d.url,timestamp:new Date(d.timestamp)}),this.dispose())})}#a(i){return this.#t!==void 0&&!this.#t.disposed?!1:this.#i===void 0?(this.#i=i,!0):this.#i===i}get#d(){return this.#s.userContext.browser.session}get disposed(){return this.#r.disposed}get request(){return this.#e}get navigation(){return this.#t}dispose(){this[D]()}[(s=[j],D)](){this.#r.dispose(),super[D]()}}})();var Ao=function(n,e,t){for(var s=arguments.length>2,r=0;r<e.length;r++)t=s?e[r].call(n,t):e[r].call(n);return s?t:void 0},ft=function(n,e,t,s,r,i){function o(v){if(v!==void 0&&typeof v!="function")throw new TypeError("Function expected");return v}for(var a=s.kind,c=a==="getter"?"get":a==="setter"?"set":"value",d=!e&&n?s.static?n:n.prototype:null,u=e||(d?Object.getOwnPropertyDescriptor(d,s.name):{}),l,y=!1,f=t.length-1;f>=0;f--){var h={};for(var p in s)h[p]=p==="access"?{}:s[p];for(var p in s.access)h.access[p]=s.access[p];h.addInitializer=function(v){if(y)throw new TypeError("Cannot add initializers after decoration has completed");i.push(o(v||null))};var m=(0,t[f])(a==="accessor"?{get:u.get,set:u.set}:u[c],h);if(a==="accessor"){if(m===void 0)continue;if(m===null||typeof m!="object")throw new TypeError("Object expected");(l=o(m.get))&&(u.get=l),(l=o(m.set))&&(u.set=l),(l=o(m.init))&&r.unshift(l)}else(l=o(m))&&(a==="field"?r.unshift(l):u[c]=l)}d&&Object.defineProperty(d,s.name,u),y=!0},Ur,Lr=(()=>{let n=P,e=[],t,s,r,i,o;return class extends n{static{let c=typeof Symbol=="function"&&Symbol.metadata?Object.create(n[Symbol.metadata]??null):void 0;ft(this,null,t,{kind:"method",name:"dispose",static:!1,private:!1,access:{has:d=>"dispose"in d,get:d=>d.dispose},metadata:c},null,e),ft(this,null,s,{kind:"method",name:"disown",static:!1,private:!1,access:{has:d=>"disown"in d,get:d=>d.disown},metadata:c},null,e),ft(this,null,r,{kind:"method",name:"callFunction",static:!1,private:!1,access:{has:d=>"callFunction"in d,get:d=>d.callFunction},metadata:c},null,e),ft(this,null,i,{kind:"method",name:"evaluate",static:!1,private:!1,access:{has:d=>"evaluate"in d,get:d=>d.evaluate},metadata:c},null,e),ft(this,null,o,{kind:"method",name:"resolveExecutionContextId",static:!1,private:!1,access:{has:d=>"resolveExecutionContextId"in d,get:d=>d.resolveExecutionContextId},metadata:c},null,e),c&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:c})}#e=Ao(this,e);disposables=new L;id;origin;executionContextId;constructor(c,d){super(),this.id=c,this.origin=d}get disposed(){return this.#e!==void 0}get target(){return{realm:this.id}}dispose(c){this.#e=c,this[D]()}async disown(c){await this.session.send("script.disown",{target:this.target,handles:c})}async callFunction(c,d,u={}){let{result:l}=await this.session.send("script.callFunction",{functionDeclaration:c,awaitPromise:d,target:this.target,...u});return l}async evaluate(c,d,u={}){let{result:l}=await this.session.send("script.evaluate",{expression:c,awaitPromise:d,target:this.target,...u});return l}async resolveExecutionContextId(){if(!this.executionContextId){let{result:c}=await this.session.connection.send("goog:cdp.resolveRealm",{realm:this.id});this.executionContextId=c.executionContextId}return this.executionContextId}[(t=[j],s=[E(c=>c.#e)],r=[E(c=>c.#e)],i=[E(c=>c.#e)],o=[E(c=>c.#e)],D)](){this.#e??="Realm already destroyed, probably because all associated browsing contexts closed.",this.emit("destroyed",this.#e),this.disposables.dispose(),super[D]()}}})();var qs=class n extends Lr{static from(e,t){let s=new n(e,t);return s.#t(),s}browsingContext;sandbox;#e=new Map;constructor(e,t){super("",""),this.browsingContext=e,this.sandbox=t}#t(){this.disposables.use(new P(this.browsingContext)).on("closed",s=>{this.dispose(s)});let t=this.disposables.use(new P(this.session));t.on("script.realmCreated",s=>{s.type!=="window"||s.context!==this.browsingContext.id||s.sandbox!==this.sandbox||(this.id=s.realm,this.origin=s.origin,this.executionContextId=void 0,this.emit("updated",this))}),t.on("script.realmCreated",s=>{if(s.type!=="dedicated-worker"||!s.owners.includes(this.id))return;let r=mt.from(this,s.realm,s.origin);this.#e.set(r.id,r);let i=this.disposables.use(new P(r));i.once("destroyed",()=>{i.removeAllListeners(),this.#e.delete(r.id)}),this.emit("worker",r)}),t.on("log.entryAdded",s=>{s.source.realm===this.id&&this.emit("log",s)})}get session(){return this.browsingContext.userContext.browser.session}get target(){return{context:this.browsingContext.id,sandbox:this.sandbox}}},mt=class extends Lr{static from(e,t,s){let r=new Ur(e,t,s);return r.#t(),r}#e=new Map;owners;constructor(e,t,s){super(t,s),this.owners=new Set([e])}#t(){let e=this.disposables.use(new P(this.session));e.on("script.realmDestroyed",t=>{t.realm===this.id&&this.dispose("Realm already destroyed.")}),e.on("script.realmCreated",t=>{if(t.type!=="dedicated-worker"||!t.owners.includes(this.id))return;let s=Ur.from(this,t.realm,t.origin);this.#e.set(s.id,s),this.disposables.use(new P(s)).once("destroyed",()=>{this.#e.delete(s.id)}),this.emit("worker",s)}),e.on("log.entryAdded",t=>{t.source.realm===this.id&&this.emit("log",t)})}get session(){return this.owners.values().next().value.session}};Ur=mt;var js=class n extends Lr{static from(e,t,s){let r=new n(e,t,s);return r.#t(),r}#e=new Map;browser;constructor(e,t,s){super(t,s),this.browser=e}#t(){let e=this.disposables.use(new P(this.session));e.on("script.realmDestroyed",t=>{t.realm===this.id&&this.dispose("Realm already destroyed.")}),e.on("script.realmCreated",t=>{if(t.type!=="dedicated-worker"||!t.owners.includes(this.id))return;let s=mt.from(this,t.realm,t.origin);this.#e.set(s.id,s),this.disposables.use(new P(s)).once("destroyed",()=>{this.#e.delete(s.id)}),this.emit("worker",s)}),e.on("log.entryAdded",t=>{t.source.realm===this.id&&this.emit("log",t)})}get session(){return this.browser.session}};var Uo=function(n,e,t){for(var s=arguments.length>2,r=0;r<e.length;r++)t=s?e[r].call(n,t):e[r].call(n);return s?t:void 0},Lo=function(n,e,t,s,r,i){function o(v){if(v!==void 0&&typeof v!="function")throw new TypeError("Function expected");return v}for(var a=s.kind,c=a==="getter"?"get":a==="setter"?"set":"value",d=!e&&n?s.static?n:n.prototype:null,u=e||(d?Object.getOwnPropertyDescriptor(d,s.name):{}),l,y=!1,f=t.length-1;f>=0;f--){var h={};for(var p in s)h[p]=p==="access"?{}:s[p];for(var p in s.access)h.access[p]=s.access[p];h.addInitializer=function(v){if(y)throw new TypeError("Cannot add initializers after decoration has completed");i.push(o(v||null))};var m=(0,t[f])(a==="accessor"?{get:u.get,set:u.set}:u[c],h);if(a==="accessor"){if(m===void 0)continue;if(m===null||typeof m!="object")throw new TypeError("Object expected");(l=o(m.get))&&(u.get=l),(l=o(m.set))&&(u.set=l),(l=o(m.init))&&r.unshift(l)}else(l=o(m))&&(a==="field"?r.unshift(l):u[c]=l)}d&&Object.defineProperty(d,s.name,u),y=!0},In=(()=>{var n;let e=P,t=[],s;return class Mr extends e{static{let i=typeof Symbol=="function"&&Symbol.metadata?Object.create(e[Symbol.metadata]??null):void 0;Lo(this,null,s,{kind:"method",name:"dispose",static:!1,private:!1,access:{has:o=>"dispose"in o,get:o=>o.dispose},metadata:i},null,t),i&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:i})}static from(i,o){let a=new Mr(i,o);return a.#n(),a}#e=(Uo(this,t),null);#t=null;#s;#r;#i;#o;#a=new L;#d;constructor(i,o){super(),this.#o=i,this.#d=o}#n(){this.#a.use(new P(this.#o)).once("closed",a=>{this.#s=a,this.emit("error",a),this.dispose()});let o=this.#a.use(new P(this.#l));o.on("network.beforeRequestSent",a=>{if(a.context!==this.#o.id||a.request.request!==this.id)return;let c=this.#d.request.headers.find(l=>l.name.toLowerCase()==="authorization"),u=a.request.headers.find(l=>l.name.toLowerCase()==="authorization")&&!c;a.redirectCount!==this.#d.redirectCount+1&&!u||(this.#r=Mr.from(this.#o,a),this.emit("redirect",this.#r),this.dispose())}),o.on("network.authRequired",a=>{a.context!==this.#o.id||a.request.request!==this.id||!a.isBlocked||this.emit("authenticate",void 0)}),o.on("network.fetchError",a=>{a.context!==this.#o.id||a.request.request!==this.id||this.#d.redirectCount!==a.redirectCount||(this.#s=a.errorText,this.emit("error",this.#s),this.dispose())}),o.on("network.responseStarted",a=>{a.context!==this.#o.id||a.request.request!==this.id||this.#d.redirectCount!==a.redirectCount||(this.#i=a.response,this.#d.request.timings=a.request.timings,this.emit("response",this.#i))}),o.on("network.responseCompleted",a=>{a.context!==this.#o.id||a.request.request!==this.id||this.#d.redirectCount!==a.redirectCount||(this.#i=a.response,this.#d.request.timings=a.request.timings,this.emit("success",this.#i),!(this.#i.status>=300&&this.#i.status<400)&&this.dispose())})}get#l(){return this.#o.userContext.browser.session}get disposed(){return this.#a.disposed}get error(){return this.#s}get headers(){return this.#d.request.headers}get id(){return this.#d.request.request}get initiator(){return{...this.#d.initiator,url:this.#d.request["goog:resourceInitiator"]?.url,stack:this.#d.request["goog:resourceInitiator"]?.stack}}get method(){return this.#d.request.method}get navigation(){return this.#d.navigation??void 0}get redirect(){return this.#r}get lastRedirect(){let i=this.#r;for(;i;){if(i&&!i.#r)return i;i=i.#r}return i}get response(){return this.#i}get url(){return this.#d.request.url}get isBlocked(){return this.#d.isBlocked}get resourceType(){return this.#d.request["goog:resourceType"]??void 0}get postData(){return this.#d.request["goog:postData"]??void 0}get hasPostData(){return(this.#d.request.bodySize??0)>0}async continueRequest({url:i,method:o,headers:a,cookies:c,body:d}){await this.#l.send("network.continueRequest",{request:this.id,url:i,method:o,headers:a,body:d,cookies:c})}async failRequest(){await this.#l.send("network.failRequest",{request:this.id})}async provideResponse({statusCode:i,reasonPhrase:o,headers:a,body:c}){await this.#l.send("network.provideResponse",{request:this.id,statusCode:i,reasonPhrase:o,headers:a,body:c})}async fetchPostData(){if(this.hasPostData)return this.#t||(this.#t=(async()=>{let i=await this.#l.send("network.getData",{dataType:"request",request:this.id});if(i.result.bytes.type==="string")return i.result.bytes.value;throw new b(`Collected request body data of type ${i.result.bytes.type} is not supported`)})()),await this.#t}async getResponseContent(){return this.#e||(this.#e=(async()=>{try{let i=await this.#l.send("network.getData",{dataType:"response",request:this.id});return Ct(i.result.bytes.value,i.result.bytes.type==="base64")}catch(i){throw i instanceof ne&&i.originalMessage.includes("No resource with given identifier found")?new ne("Could not load response body for this request. This might happen if the request is a preflight request."):i}})()),await this.#e}async continueWithAuth(i){i.action==="provideCredentials"?await this.#l.send("network.continueWithAuth",{request:this.id,action:i.action,credentials:i.credentials}):await this.#l.send("network.continueWithAuth",{request:this.id,action:i.action})}dispose(){this[D]()}[(s=[j],D)](){this.#a.dispose(),super[D]()}timing(){return this.#d.request.timings}}})();var Mo=function(n,e,t){for(var s=arguments.length>2,r=0;r<e.length;r++)t=s?e[r].call(n,t):e[r].call(n);return s?t:void 0},Dn=function(n,e,t,s,r,i){function o(v){if(v!==void 0&&typeof v!="function")throw new TypeError("Function expected");return v}for(var a=s.kind,c=a==="getter"?"get":a==="setter"?"set":"value",d=!e&&n?s.static?n:n.prototype:null,u=e||(d?Object.getOwnPropertyDescriptor(d,s.name):{}),l,y=!1,f=t.length-1;f>=0;f--){var h={};for(var p in s)h[p]=p==="access"?{}:s[p];for(var p in s.access)h.access[p]=s.access[p];h.addInitializer=function(v){if(y)throw new TypeError("Cannot add initializers after decoration has completed");i.push(o(v||null))};var m=(0,t[f])(a==="accessor"?{get:u.get,set:u.set}:u[c],h);if(a==="accessor"){if(m===void 0)continue;if(m===null||typeof m!="object")throw new TypeError("Object expected");(l=o(m.get))&&(u.get=l),(l=o(m.set))&&(u.set=l),(l=o(m.init))&&r.unshift(l)}else(l=o(m))&&(a==="field"?r.unshift(l):u[c]=l)}d&&Object.defineProperty(d,s.name,u),y=!0},Tn=(()=>{let n=P,e=[],t,s;return class Rn extends n{static{let i=typeof Symbol=="function"&&Symbol.metadata?Object.create(n[Symbol.metadata]??null):void 0;Dn(this,null,t,{kind:"method",name:"dispose",static:!1,private:!1,access:{has:o=>"dispose"in o,get:o=>o.dispose},metadata:i},null,e),Dn(this,null,s,{kind:"method",name:"handle",static:!1,private:!1,access:{has:o=>"handle"in o,get:o=>o.handle},metadata:i},null,e),i&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:i})}static from(i,o){let a=new Rn(i,o);return a.#r(),a}#e=Mo(this,e);#t;#s=new L;browsingContext;info;constructor(i,o){super(),this.browsingContext=i,this.info=o}#r(){this.#s.use(new P(this.browsingContext)).once("closed",a=>{this.dispose(`User prompt already closed: ${a}`)}),this.#s.use(new P(this.#i)).on("browsingContext.userPromptClosed",a=>{a.context===this.browsingContext.id&&(this.#t=a,this.emit("handled",a),this.dispose("User prompt already handled."))})}get#i(){return this.browsingContext.userContext.browser.session}get closed(){return this.#e!==void 0}get disposed(){return this.closed}get handled(){return this.info.handler==="accept"||this.info.handler==="dismiss"?!0:this.#t!==void 0}get result(){return this.#t}dispose(i){this.#e=i,this[D]()}async handle(i={}){return await this.#i.send("browsingContext.handleUserPrompt",{...i,context:this.info.context}),this.#t}[(t=[j],s=[E(i=>i.#e)],D)](){this.#e??="User prompt already closed, probably because the associated browsing context was destroyed.",this.emit("closed",this.#e),this.#s.dispose(),super[D]()}}})();var qo=function(n,e,t){for(var s=arguments.length>2,r=0;r<e.length;r++)t=s?e[r].call(n,t):e[r].call(n);return s?t:void 0},N=function(n,e,t,s,r,i){function o(v){if(v!==void 0&&typeof v!="function")throw new TypeError("Function expected");return v}for(var a=s.kind,c=a==="getter"?"get":a==="setter"?"set":"value",d=!e&&n?s.static?n:n.prototype:null,u=e||(d?Object.getOwnPropertyDescriptor(d,s.name):{}),l,y=!1,f=t.length-1;f>=0;f--){var h={};for(var p in s)h[p]=p==="access"?{}:s[p];for(var p in s.access)h.access[p]=s.access[p];h.addInitializer=function(v){if(y)throw new TypeError("Cannot add initializers after decoration has completed");i.push(o(v||null))};var m=(0,t[f])(a==="accessor"?{get:u.get,set:u.set}:u[c],h);if(a==="accessor"){if(m===void 0)continue;if(m===null||typeof m!="object")throw new TypeError("Object expected");(l=o(m.get))&&(u.get=l),(l=o(m.set))&&(u.set=l),(l=o(m.init))&&r.unshift(l)}else(l=o(m))&&(a==="field"?r.unshift(l):u[c]=l)}d&&Object.defineProperty(d,s.name,u),y=!0},On=(()=>{var n;let e=P,t=[],s,r,i,o,a,c,d,u,l,y,f,h,p,m,v,I,B,U,he,Ie,De,Q,ee,Te,Qr,ei,ti,si,ri,ii,ni;return class qr extends e{static{let g=typeof Symbol=="function"&&Symbol.metadata?Object.create(e[Symbol.metadata]??null):void 0;ii=[E(w=>w.#t)],ni=[E(w=>w.#t)],N(this,null,s,{kind:"method",name:"dispose",static:!1,private:!1,access:{has:w=>"dispose"in w,get:w=>w.dispose},metadata:g},null,t),N(this,null,r,{kind:"method",name:"activate",static:!1,private:!1,access:{has:w=>"activate"in w,get:w=>w.activate},metadata:g},null,t),N(this,null,i,{kind:"method",name:"captureScreenshot",static:!1,private:!1,access:{has:w=>"captureScreenshot"in w,get:w=>w.captureScreenshot},metadata:g},null,t),N(this,null,o,{kind:"method",name:"startScreencast",static:!1,private:!1,access:{has:w=>"startScreencast"in w,get:w=>w.startScreencast},metadata:g},null,t),N(this,null,a,{kind:"method",name:"stopScreencast",static:!1,private:!1,access:{has:w=>"stopScreencast"in w,get:w=>w.stopScreencast},metadata:g},null,t),N(this,null,c,{kind:"method",name:"close",static:!1,private:!1,access:{has:w=>"close"in w,get:w=>w.close},metadata:g},null,t),N(this,null,d,{kind:"method",name:"traverseHistory",static:!1,private:!1,access:{has:w=>"traverseHistory"in w,get:w=>w.traverseHistory},metadata:g},null,t),N(this,null,u,{kind:"method",name:"navigate",static:!1,private:!1,access:{has:w=>"navigate"in w,get:w=>w.navigate},metadata:g},null,t),N(this,null,l,{kind:"method",name:"reload",static:!1,private:!1,access:{has:w=>"reload"in w,get:w=>w.reload},metadata:g},null,t),N(this,null,y,{kind:"method",name:"setCacheBehavior",static:!1,private:!1,access:{has:w=>"setCacheBehavior"in w,get:w=>w.setCacheBehavior},metadata:g},null,t),N(this,null,f,{kind:"method",name:"print",static:!1,private:!1,access:{has:w=>"print"in w,get:w=>w.print},metadata:g},null,t),N(this,null,h,{kind:"method",name:"handleUserPrompt",static:!1,private:!1,access:{has:w=>"handleUserPrompt"in w,get:w=>w.handleUserPrompt},metadata:g},null,t),N(this,null,p,{kind:"method",name:"setViewport",static:!1,private:!1,access:{has:w=>"setViewport"in w,get:w=>w.setViewport},metadata:g},null,t),N(this,null,m,{kind:"method",name:"setTouchOverride",static:!1,private:!1,access:{has:w=>"setTouchOverride"in w,get:w=>w.setTouchOverride},metadata:g},null,t),N(this,null,v,{kind:"method",name:"performActions",static:!1,private:!1,access:{has:w=>"performActions"in w,get:w=>w.performActions},metadata:g},null,t),N(this,null,I,{kind:"method",name:"releaseActions",static:!1,private:!1,access:{has:w=>"releaseActions"in w,get:w=>w.releaseActions},metadata:g},null,t),N(this,null,B,{kind:"method",name:"createWindowRealm",static:!1,private:!1,access:{has:w=>"createWindowRealm"in w,get:w=>w.createWindowRealm},metadata:g},null,t),N(this,null,U,{kind:"method",name:"addPreloadScript",static:!1,private:!1,access:{has:w=>"addPreloadScript"in w,get:w=>w.addPreloadScript},metadata:g},null,t),N(this,null,he,{kind:"method",name:"addIntercept",static:!1,private:!1,access:{has:w=>"addIntercept"in w,get:w=>w.addIntercept},metadata:g},null,t),N(this,null,Ie,{kind:"method",name:"removePreloadScript",static:!1,private:!1,access:{has:w=>"removePreloadScript"in w,get:w=>w.removePreloadScript},metadata:g},null,t),N(this,null,De,{kind:"method",name:"setGeolocationOverride",static:!1,private:!1,access:{has:w=>"setGeolocationOverride"in w,get:w=>w.setGeolocationOverride},metadata:g},null,t),N(this,null,Q,{kind:"method",name:"setTimezoneOverride",static:!1,private:!1,access:{has:w=>"setTimezoneOverride"in w,get:w=>w.setTimezoneOverride},metadata:g},null,t),N(this,null,ee,{kind:"method",name:"setLocaleOverride",static:!1,private:!1,access:{has:w=>"setLocaleOverride"in w,get:w=>w.setLocaleOverride},metadata:g},null,t),N(this,null,Te,{kind:"method",name:"setScreenOrientationOverride",static:!1,private:!1,access:{has:w=>"setScreenOrientationOverride"in w,get:w=>w.setScreenOrientationOverride},metadata:g},null,t),N(this,null,Qr,{kind:"method",name:"getCookies",static:!1,private:!1,access:{has:w=>"getCookies"in w,get:w=>w.getCookies},metadata:g},null,t),N(this,null,ei,{kind:"method",name:"setCookie",static:!1,private:!1,access:{has:w=>"setCookie"in w,get:w=>w.setCookie},metadata:g},null,t),N(this,null,ti,{kind:"method",name:"setFiles",static:!1,private:!1,access:{has:w=>"setFiles"in w,get:w=>w.setFiles},metadata:g},null,t),N(this,null,si,{kind:"method",name:"subscribe",static:!1,private:!1,access:{has:w=>"subscribe"in w,get:w=>w.subscribe},metadata:g},null,t),N(this,null,ri,{kind:"method",name:"addInterception",static:!1,private:!1,access:{has:w=>"addInterception"in w,get:w=>w.addInterception},metadata:g},null,t),N(this,null,ii,{kind:"method",name:"deleteCookie",static:!1,private:!1,access:{has:w=>"deleteCookie"in w,get:w=>w.deleteCookie},metadata:g},null,t),N(this,null,ni,{kind:"method",name:"locateNodes",static:!1,private:!1,access:{has:w=>"locateNodes"in w,get:w=>w.locateNodes},metadata:g},null,t),g&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:g})}static from(g,w,k,H,pe,Ye){let oi=new qr(g,w,k,H,pe,Ye);return oi.#h(),oi}#e=qo(this,t);#t;#s;#r=!1;#i=new Map;#o=new L;#a=new Map;defaultRealm;id;parent;userContext;originalOpener;windowId;#d={javaScriptEnabled:!0};#n;#l;constructor(g,w,k,H,pe,Ye){super(),this.#s=H,this.id=k,this.parent=w,this.userContext=g,this.originalOpener=pe,this.windowId=Ye,this.defaultRealm=this.#f(),this.#n=new Ls(this.id,this.#c),this.#l=new Ms(this.id,this.#c)}#h(){this.#o.use(new P(this.userContext)).once("closed",k=>{this.dispose(`Browsing context already closed: ${k}`)});let w=this.#o.use(new P(this.#c));w.on("input.fileDialogOpened",k=>{this.id===k.context&&this.emit("filedialogopened",k)}),w.on("browsingContext.contextCreated",k=>{if(k.parent!==this.id)return;let H=qr.from(this.userContext,this,k.context,k.url,k.originalOpener,k.clientWindow);this.#i.set(k.context,H);let pe=this.#o.use(new P(H));pe.once("closed",()=>{pe.removeAllListeners(),this.#i.delete(H.id)}),this.emit("browsingcontext",H)}),w.on("browsingContext.contextDestroyed",k=>{k.context===this.id&&this.dispose("Browsing context already closed.")}),w.on("browsingContext.historyUpdated",k=>{k.context===this.id&&(this.#s=k.url,this.emit("historyUpdated",void 0))}),w.on("browsingContext.domContentLoaded",k=>{k.context===this.id&&(this.#s=k.url,this.emit("DOMContentLoaded",void 0))}),w.on("browsingContext.load",k=>{k.context===this.id&&(this.#s=k.url,this.emit("load",void 0))}),w.on("browsingContext.navigationStarted",k=>{if(k.context!==this.id||this.#e!==void 0&&!this.#e.disposed)return;this.#e=kn.from(this);let H=this.#o.use(new P(this.#e));for(let pe of["fragment","failed","aborted"])H.once(pe,({url:Ye})=>{H[D](),this.#s=Ye});this.emit("navigation",this.#e)}),w.on("network.beforeRequestSent",k=>{if(k.context!==this.id||k.redirectCount>0)return;let H=In.from(this,k);this.emit("request",H)}),w.on("log.entryAdded",k=>{k.source.context===this.id&&this.emit("log",k)}),w.on("browsingContext.userPromptOpened",k=>{if(k.context!==this.id)return;let H=Tn.from(this,k);this.emit("userprompt",H)})}get#c(){return this.userContext.browser.session}get children(){return this.#i.values()}get closed(){return this.#t!==void 0}get disposed(){return this.closed}get realms(){let g=this;return(function*(){yield g.defaultRealm,yield*g.#a.values()})()}get top(){let g=this;for(let{parent:w}=g;w;{parent:w}=g)g=w;return g}get url(){return this.#s}#f(g){let w=qs.from(this,g);return w.on("worker",k=>{this.emit("worker",k)}),w}dispose(g){this.#t=g;for(let w of this.#i.values())w.dispose("Parent browsing context was disposed");this[D]()}async activate(){await this.#c.send("browsingContext.activate",{context:this.id})}async captureScreenshot(g={}){let{result:{data:w}}=await this.#c.send("browsingContext.captureScreenshot",{context:this.id,...g});return w}async startScreencast(g={}){let{result:w}=await this.#c.send("browsingContext.startScreencast",{context:this.id,...g});return w}async stopScreencast(g){let{result:w}=await this.#c.send("browsingContext.stopScreencast",{screencast:g});return w}async close(g){await this.#c.send("browsingContext.close",{context:this.id,promptUnload:g})}async traverseHistory(g){await this.#c.send("browsingContext.traverseHistory",{context:this.id,delta:g})}async navigate(g,w){await this.#c.send("browsingContext.navigate",{context:this.id,url:g,wait:w})}async reload(g={}){await this.#c.send("browsingContext.reload",{context:this.id,...g})}async setCacheBehavior(g){await this.#c.send("network.setCacheBehavior",{contexts:[this.id],cacheBehavior:g})}async print(g={}){let{result:{data:w}}=await this.#c.send("browsingContext.print",{context:this.id,...g});return w}async handleUserPrompt(g={}){await this.#c.send("browsingContext.handleUserPrompt",{context:this.id,...g})}async setViewport(g={}){await this.#c.send("browsingContext.setViewport",{context:this.id,...g})}async setTouchOverride(g){await this.#c.send("emulation.setTouchOverride",{contexts:[this.id],maxTouchPoints:g})}async performActions(g){await this.#c.send("input.performActions",{context:this.id,actions:g})}async releaseActions(){await this.#c.send("input.releaseActions",{context:this.id})}createWindowRealm(g){return this.#f(g)}async addPreloadScript(g,w={}){return await this.userContext.browser.addPreloadScript(g,{...w,contexts:[this]})}async addIntercept(g){let{result:{intercept:w}}=await this.userContext.browser.session.send("network.addIntercept",{...g,contexts:[this.id]});return w}async removePreloadScript(g){await this.userContext.browser.removePreloadScript(g)}async setGeolocationOverride(g){if(!("coordinates"in g))throw new Error("Missing coordinates");await this.userContext.browser.session.send("emulation.setGeolocationOverride",{coordinates:g.coordinates,contexts:[this.id]})}async setTimezoneOverride(g){g?.startsWith("GMT")&&(g=g?.replace("GMT","")),await this.userContext.browser.session.send("emulation.setTimezoneOverride",{timezone:g??null,contexts:[this.id]})}async setLocaleOverride(g){await this.userContext.browser.session.send("emulation.setLocaleOverride",{locale:g??null,contexts:[this.id]})}async setScreenOrientationOverride(g){await this.#c.send("emulation.setScreenOrientationOverride",{screenOrientation:g,contexts:[this.id]})}async getCookies(g={}){let{result:{cookies:w}}=await this.#c.send("storage.getCookies",{...g,partition:{type:"context",context:this.id}});return w}async setCookie(g){await this.#c.send("storage.setCookie",{cookie:g,partition:{type:"context",context:this.id}})}async setFiles(g,w){await this.#c.send("input.setFiles",{context:this.id,element:g,files:w})}async subscribe(g){await this.#c.subscribe(g,[this.id])}async addInterception(g){await this.#c.subscribe(g,[this.id])}[(s=[j],r=[E(g=>g.#t)],i=[E(g=>g.#t)],o=[E(g=>g.#t)],a=[E(g=>g.#t)],c=[E(g=>g.#t)],d=[E(g=>g.#t)],u=[E(g=>g.#t)],l=[E(g=>g.#t)],y=[E(g=>g.#t)],f=[E(g=>g.#t)],h=[E(g=>g.#t)],p=[E(g=>g.#t)],m=[E(g=>g.#t)],v=[E(g=>g.#t)],I=[E(g=>g.#t)],B=[E(g=>g.#t)],U=[E(g=>g.#t)],he=[E(g=>g.#t)],Ie=[E(g=>g.#t)],De=[E(g=>g.#t)],Q=[E(g=>g.#t)],ee=[E(g=>g.#t)],Te=[E(g=>g.#t)],Qr=[E(g=>g.#t)],ei=[E(g=>g.#t)],ti=[E(g=>g.#t)],si=[E(g=>g.#t)],ri=[E(g=>g.#t)],D)](){this.#t??="Browsing context already closed, probably because the user context closed.",this.emit("closed",this.#t),this.#o.dispose(),super[D]()}async deleteCookie(...g){await Promise.all(g.map(async w=>{await this.#c.send("storage.deleteCookies",{filter:w,partition:{type:"context",context:this.id}})}))}async locateNodes(g,w=[]){return(await this.#c.send("browsingContext.locateNodes",{context:this.id,locator:g,startNodes:w.length?w:void 0})).result.nodes}async setJavaScriptEnabled(g){await this.userContext.browser.session.send("emulation.setScriptingEnabled",{enabled:g?null:!1,contexts:[this.id]}),this.#d.javaScriptEnabled=g}isJavaScriptEnabled(){return this.#d.javaScriptEnabled}async setUserAgent(g){await this.#c.send("emulation.setUserAgentOverride",{userAgent:g,contexts:[this.id]})}async setClientHintsOverride(g){g===null&&!this.#r||(this.#r=!0,await this.#c.send("userAgentClientHints.setClientHintsOverride",{clientHints:g,contexts:[this.id]}))}async setOfflineMode(g){await this.#c.send("emulation.setNetworkConditions",{networkConditions:g?{type:"offline"}:null,contexts:[this.id]})}get bluetooth(){return this.#n}async waitForDevicePrompt(g,w){return await this.#l.waitForDevicePrompt(g,w)}async setExtraHTTPHeaders(g){await this.#c.send("network.setExtraHeaders",{headers:Object.entries(g).map(([w,k])=>(q(Et(k),`Expected value of header "${w}" to be String, but "${typeof k}" is found.`),{name:w.toLowerCase(),value:{type:"string",value:k}})),contexts:[this.id]})}}})();var jo=function(n,e,t){for(var s=arguments.length>2,r=0;r<e.length;r++)t=s?e[r].call(n,t):e[r].call(n);return s?t:void 0},Ge=function(n,e,t,s,r,i){function o(v){if(v!==void 0&&typeof v!="function")throw new TypeError("Function expected");return v}for(var a=s.kind,c=a==="getter"?"get":a==="setter"?"set":"value",d=!e&&n?s.static?n:n.prototype:null,u=e||(d?Object.getOwnPropertyDescriptor(d,s.name):{}),l,y=!1,f=t.length-1;f>=0;f--){var h={};for(var p in s)h[p]=p==="access"?{}:s[p];for(var p in s.access)h.access[p]=s.access[p];h.addInitializer=function(v){if(y)throw new TypeError("Cannot add initializers after decoration has completed");i.push(o(v||null))};var m=(0,t[f])(a==="accessor"?{get:u.get,set:u.set}:u[c],h);if(a==="accessor"){if(m===void 0)continue;if(m===null||typeof m!="object")throw new TypeError("Object expected");(l=o(m.get))&&(u.get=l),(l=o(m.set))&&(u.set=l),(l=o(m.init))&&r.unshift(l)}else(l=o(m))&&(a==="field"?r.unshift(l):u[c]=l)}d&&Object.defineProperty(d,s.name,u),y=!0},Xe=(()=>{let n=P,e=[],t,s,r,i,o,a;return class Nn extends n{static{let d=typeof Symbol=="function"&&Symbol.metadata?Object.create(n[Symbol.metadata]??null):void 0;Ge(this,null,t,{kind:"method",name:"dispose",static:!1,private:!1,access:{has:u=>"dispose"in u,get:u=>u.dispose},metadata:d},null,e),Ge(this,null,s,{kind:"method",name:"createBrowsingContext",static:!1,private:!1,access:{has:u=>"createBrowsingContext"in u,get:u=>u.createBrowsingContext},metadata:d},null,e),Ge(this,null,r,{kind:"method",name:"remove",static:!1,private:!1,access:{has:u=>"remove"in u,get:u=>u.remove},metadata:d},null,e),Ge(this,null,i,{kind:"method",name:"getCookies",static:!1,private:!1,access:{has:u=>"getCookies"in u,get:u=>u.getCookies},metadata:d},null,e),Ge(this,null,o,{kind:"method",name:"setCookie",static:!1,private:!1,access:{has:u=>"setCookie"in u,get:u=>u.setCookie},metadata:d},null,e),Ge(this,null,a,{kind:"method",name:"setPermissions",static:!1,private:!1,access:{has:u=>"setPermissions"in u,get:u=>u.setPermissions},metadata:d},null,e),d&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:d})}static DEFAULT="default";static create(d,u){let l=new Nn(d,u);return l.#i(),l}#e=jo(this,e);#t=new Map;#s=new L;#r;browser;constructor(d,u){super(),this.#r=u,this.browser=d}#i(){let d=this.#s.use(new P(this.browser));d.once("closed",l=>{this.dispose(`User context was closed: ${l}`)}),d.once("disconnected",l=>{this.dispose(`User context was closed: ${l}`)}),this.#s.use(new P(this.#o)).on("browsingContext.contextCreated",l=>{if(l.parent||l.userContext!==this.#r)return;let y=On.from(this,void 0,l.context,l.url,l.originalOpener,l.clientWindow);this.#t.set(y.id,y);let f=this.#s.use(new P(y));f.on("closed",()=>{f.removeAllListeners(),this.#t.delete(y.id)}),this.emit("browsingcontext",y)})}get#o(){return this.browser.session}get browsingContexts(){return this.#t.values()}get closed(){return this.#e!==void 0}get disposed(){return this.closed}get id(){return this.#r}dispose(d){this.#e=d,this[D]()}async createBrowsingContext(d,u={}){let{result:{context:l}}=await this.#o.send("browsingContext.create",{type:d,...u,referenceContext:u.referenceContext?.id,background:u.background,userContext:this.#r}),y=this.#t.get(l);return q(y,"The WebDriver BiDi implementation is failing to create a browsing context correctly."),y}async remove(){try{await this.#o.send("browser.removeUserContext",{userContext:this.#r})}finally{this.dispose("User context already closed.")}}async getCookies(d={},u=void 0){let{result:{cookies:l}}=await this.#o.send("storage.getCookies",{...d,partition:{type:"storageKey",userContext:this.#r,sourceOrigin:u}});return l}async setCookie(d,u){await this.#o.send("storage.setCookie",{cookie:d,partition:{type:"storageKey",sourceOrigin:u,userContext:this.id}})}async setPermissions(d,u,l){await this.#o.send("permissions.setPermission",{origin:d,descriptor:u,state:l,userContext:this.#r})}[(t=[j],s=[E(d=>d.#e)],r=[E(d=>d.#e)],i=[E(d=>d.#e)],o=[E(d=>d.#e)],a=[E(d=>d.#e)],D)](){this.#e??="User context already closed, probably because the browser disconnected/closed.",this.emit("closed",this.#e),this.#s.dispose(),super[D]()}}})();var le=class{static deserialize(e,t){if(!e){t?.(T.error)?.("Service did not produce a result.");return}switch(e.type){case"array":return e.value?.map(s=>this.deserialize(s));case"set":return e.value?.reduce((s,r)=>s.add(this.deserialize(r)),new Set);case"object":return e.value?.reduce((s,r)=>{let{key:i,value:o}=this.#t(r);return s[i]=o,s},{});case"map":return e.value?.reduce((s,r)=>{let{key:i,value:o}=this.#t(r);return s.set(i,o)},new Map);case"promise":return{};case"regexp":return new RegExp(e.value.pattern,e.value.flags);case"date":return new Date(e.value);case"undefined":return;case"null":return null;case"number":return this.#e(e.value);case"bigint":return BigInt(e.value);case"boolean":return!!e.value;case"string":return e.value}t?.(T.error)?.(`Deserialization of type ${e.type} not supported.`)}static#e(e){switch(e){case"-0":return-0;case"NaN":return NaN;case"Infinity":return 1/0;case"-Infinity":return-1/0;default:return e}}static#t([e,t]){let s=typeof e=="string"?e:this.deserialize(e),r=this.deserialize(t);return{key:s,value:r}}};var Z=class n extends Bi{static from(e,t){return new n(e,t)}#e;realm;#t=!1;constructor(e,t){super(t.logger),this.#e=e,this.realm=t}get disposed(){return this.#t}async jsonValue(){return await this.evaluate(e=>e)}asElement(){return null}async dispose(){this.#t||(this.#t=!0,await this.realm.destroyHandles([this]))}get isPrimitiveValue(){switch(this.#e.type){case"string":case"number":case"bigint":case"boolean":case"undefined":case"null":return!0;default:return!1}}toString(){return this.isPrimitiveValue?"JSHandle:"+le.deserialize(this.#e):"JSHandle@"+this.#e.type}get id(){return"handle"in this.#e?this.#e.handle:void 0}remoteValue(){return this.#e}remoteObject(){throw new b("Not available in WebDriver BiDi")}};var $o=function(n,e,t){for(var s=arguments.length>2,r=0;r<e.length;r++)t=s?e[r].call(n,t):e[r].call(n);return s?t:void 0},_n=function(n,e,t,s,r,i){function o(v){if(v!==void 0&&typeof v!="function")throw new TypeError("Function expected");return v}for(var a=s.kind,c=a==="getter"?"get":a==="setter"?"set":"value",d=!e&&n?s.static?n:n.prototype:null,u=e||(d?Object.getOwnPropertyDescriptor(d,s.name):{}),l,y=!1,f=t.length-1;f>=0;f--){var h={};for(var p in s)h[p]=p==="access"?{}:s[p];for(var p in s.access)h.access[p]=s.access[p];h.addInitializer=function(v){if(y)throw new TypeError("Cannot add initializers after decoration has completed");i.push(o(v||null))};var m=(0,t[f])(a==="accessor"?{get:u.get,set:u.set}:u[c],h);if(a==="accessor"){if(m===void 0)continue;if(m===null||typeof m!="object")throw new TypeError("Object expected");(l=o(m.get))&&(u.get=l),(l=o(m.set))&&(u.set=l),(l=o(m.init))&&r.unshift(l)}else(l=o(m))&&(a==="field"?r.unshift(l):u[c]=l)}d&&Object.defineProperty(d,s.name,u),y=!0},Ho=function(n,e,t){if(e!=null){if(typeof e!="object"&&typeof e!="function")throw new TypeError("Object expected.");var s,r;if(t){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");s=e[Symbol.asyncDispose]}if(s===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");s=e[Symbol.dispose],t&&(r=s)}if(typeof s!="function")throw new TypeError("Object not disposable.");r&&(s=function(){try{r.call(this)}catch(i){return Promise.reject(i)}}),n.stack.push({value:e,dispose:s,async:t})}else t&&n.stack.push({async:!0});return e},zo=(function(n){return function(e){function t(o){e.error=e.hasError?new n(o,e.error,"An error was suppressed during disposal."):o,e.hasError=!0}var s,r=0;function i(){for(;s=e.stack.pop();)try{if(!s.async&&r===1)return r=0,e.stack.push(s),Promise.resolve().then(i);if(s.dispose){var o=s.dispose.call(s.value);if(s.async)return r|=2,Promise.resolve(o).then(i,function(a){return t(a),i()})}else r|=1}catch(a){t(a)}if(r===1)return e.hasError?Promise.reject(e.error):Promise.resolve();if(e.hasError)throw e.error}return i()}})(typeof SuppressedError=="function"?SuppressedError:function(n,e,t){var s=new Error(t);return s.name="SuppressedError",s.error=n,s.suppressed=e,s}),te=(()=>{let n=Ai,e=[],t,s;return class jr extends n{static{let i=typeof Symbol=="function"&&Symbol.metadata?Object.create(n[Symbol.metadata]??null):void 0;t=[E()],s=[E(),Fi],_n(this,null,t,{kind:"method",name:"autofill",static:!1,private:!1,access:{has:o=>"autofill"in o,get:o=>o.autofill},metadata:i},null,e),_n(this,null,s,{kind:"method",name:"contentFrame",static:!1,private:!1,access:{has:o=>"contentFrame"in o,get:o=>o.contentFrame},metadata:i},null,e),i&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:i})}#e=$o(this,e);static from(i,o){return new jr(i,o)}constructor(i,o){super(Z.from(i,o),o.logger)}get realm(){return this.handle.realm}get frame(){return this.realm.environment}remoteValue(){return this.handle.remoteValue()}async autofill(i){let o=this.frame.client,c=(await o.send("DOM.describeNode",{objectId:this.handle.id})).node.backendNodeId,d=this.frame._id;await o.send("Autofill.trigger",{fieldId:c,frameId:d,card:i.creditCard,address:i.address})}async contentFrame(){let i={stack:[],error:void 0,hasError:!1};try{let a=Ho(i,await this.evaluateHandle(c=>{if(c instanceof HTMLIFrameElement||c instanceof HTMLFrameElement)return c.contentWindow}),!1).remoteValue();return a.type==="window"?this.frame.page().frames().find(c=>c._id===a.value.context)??null:null}catch(o){i.error=o,i.hasError=!0}finally{zo(i)}}async uploadFile(...i){let o=xt.value.path;o&&(i=i.map(a=>o.win32.isAbsolute(a)||o.posix.isAbsolute(a)?a:o.resolve(a))),await this.frame.setFiles(this,i)}async*queryAXTree(i,o){let a=await this.frame.locateNodes(this,{type:"accessibility",value:{role:o,name:i}});return yield*St.map(a,c=>Promise.resolve(jr.from(c,this.realm)))}async backendNodeId(){if(!this.frame.page().browser().cdpSupported)throw new b;if(this.#e)return this.#e;let{node:i}=await this.frame.client.send("DOM.describeNode",{objectId:this.handle.id});return this.#e=i.backendNodeId,this.#e}}})();var $s=class n extends Di{static from(e){return new n(e)}#e;constructor(e){super(e.info.type,e.info.message,e.info.defaultValue),this.#e=e,this.handled=e.handled,e.once("handled",()=>{this.handled=!0})}async handle(e){await this.#e.handle({accept:e.accept,userText:e.text})}};var $r=function(n,e,t){if(e!=null){if(typeof e!="object"&&typeof e!="function")throw new TypeError("Object expected.");var s,r;if(t){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");s=e[Symbol.asyncDispose]}if(s===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");s=e[Symbol.dispose],t&&(r=s)}if(typeof s!="function")throw new TypeError("Object not disposable.");r&&(s=function(){try{r.call(this)}catch(i){return Promise.reject(i)}}),n.stack.push({value:e,dispose:s,async:t})}else t&&n.stack.push({async:!0});return e},Bn=(function(n){return function(e){function t(o){e.error=e.hasError?new n(o,e.error,"An error was suppressed during disposal."):o,e.hasError=!0}var s,r=0;function i(){for(;s=e.stack.pop();)try{if(!s.async&&r===1)return r=0,e.stack.push(s),Promise.resolve().then(i);if(s.dispose){var o=s.dispose.call(s.value);if(s.async)return r|=2,Promise.resolve(o).then(i,function(a){return t(a),i()})}else r|=1}catch(a){t(a)}if(r===1)return e.hasError?Promise.reject(e.error):Promise.resolve();if(e.hasError)throw e.error}return i()}})(typeof SuppressedError=="function"?SuppressedError:function(n,e,t){var s=new Error(t);return s.name="SuppressedError",s.error=n,s.suppressed=e,s}),ke=class n{static async from(e,t,s,r=!1,i){let o=new n(e,t,s,r,i);return await o.#d(),o}#e;name;#t;#s;#r;#i;#o=[];#a=new L;constructor(e,t,s,r=!1,i){this.#e=e,this.name=t,this.#t=s,this.#s=r,this.#r=i,this.#i=`__puppeteer__${this.#e._id}_page_exposeFunction_${this.name}`}async#d(){let e=this.#n,t={type:"channel",value:{channel:this.#i,ownership:"root"}};this.#a.use(new P(e,this.#r)).on("script.message",this.#l);let r=Pt(Ri(o=>{Object.assign(globalThis,{[PLACEHOLDER("name")]:function(...a){return new Promise((c,d)=>{o([c,d,a])})}})},{name:JSON.stringify(this.name)})),i=[this.#e];for(let o of i)i.push(...o.childFrames());await Promise.all(i.map(async o=>{let a=this.#s?o.isolatedRealm():o.mainRealm();try{let[c]=await Promise.all([o.browsingContext.addPreloadScript(r,{arguments:[t],sandbox:a.sandbox}),a.realm.callFunction(r,!1,{arguments:[t]})]);this.#o.push([o,c])}catch(c){this.#r?.(T.error)?.(c)}}))}get#n(){return this.#e.page().browser().connection}#l=async e=>{let t={stack:[],error:void 0,hasError:!1};try{if(e.channel!==this.#i)return;let s=this.#h(e.source);if(!s)return;let r=$r(t,Z.from(e.data,s),!1),i=$r(t,new L,!1),o=[],a;try{let c={stack:[],error:void 0,hasError:!1};try{let d=$r(c,await r.evaluateHandle(([,,u])=>u),!1);for(let[u,l]of await d.getProperties()){if(i.use(l),l instanceof te){o[+u]=l,i.use(l);continue}o[+u]=l.jsonValue()}a=await this.#t(...await Promise.all(o))}catch(d){c.error=d,c.hasError=!0}finally{Bn(c)}}catch(c){try{c instanceof Error?await r.evaluate(([,d],u,l,y)=>{let f=new Error(l);f.name=u,y&&(f.stack=y),d(f)},c.name,c.message,c.stack):await r.evaluate(([,d],u)=>{d(u)},c)}catch(d){this.#r?.(T.error)?.(d)}return}try{await r.evaluate(([c],d)=>{c(d)},a)}catch(c){this.#r?.(T.error)?.(c)}}catch(s){t.error=s,t.hasError=!0}finally{Bn(t)}};#h(e){let t=this.#c(e.context);if(t)return t.realm(e.realm)}#c(e){let t=[this.#e];for(let s of t){if(s._id===e)return s;t.push(...s.childFrames())}}[Symbol.dispose](){this[Symbol.asyncDispose]().catch(e=>{this.#r?.(T.error)?.(e)})}async[Symbol.asyncDispose](){this.#a.dispose(),await Promise.all(this.#o.map(async([e,t])=>{let s=this.#s?e.isolatedRealm():e.mainRealm();try{await Promise.all([s.evaluate(r=>{delete globalThis[r]},this.name),...e.childFrames().map(r=>r.evaluate(i=>{delete globalThis[i]},this.name)),e.browsingContext.removePreloadScript(t)])}catch(r){this.#r?.(T.error)?.(r)}}))}};var Wo=function(n,e,t){for(var s=arguments.length>2,r=0;r<e.length;r++)t=s?e[r].call(n,t):e[r].call(n);return s?t:void 0},Ko=function(n,e,t,s,r,i){function o(v){if(v!==void 0&&typeof v!="function")throw new TypeError("Function expected");return v}for(var a=s.kind,c=a==="getter"?"get":a==="setter"?"set":"value",d=!e&&n?s.static?n:n.prototype:null,u=e||(d?Object.getOwnPropertyDescriptor(d,s.name):{}),l,y=!1,f=t.length-1;f>=0;f--){var h={};for(var p in s)h[p]=p==="access"?{}:s[p];for(var p in s.access)h.access[p]=s.access[p];h.addInitializer=function(v){if(y)throw new TypeError("Cannot add initializers after decoration has completed");i.push(o(v||null))};var m=(0,t[f])(a==="accessor"?{get:u.get,set:u.set}:u[c],h);if(a==="accessor"){if(m===void 0)continue;if(m===null||typeof m!="object")throw new TypeError("Object expected");(l=o(m.get))&&(u.get=l),(l=o(m.set))&&(u.set=l),(l=o(m.init))&&r.unshift(l)}else(l=o(m))&&(a==="field"?r.unshift(l):u[c]=l)}d&&Object.defineProperty(d,s.name,u),y=!0},Hr=(()=>{let n=ji,e=[],t;return class Fn extends n{static{let r=typeof Symbol=="function"&&Symbol.metadata?Object.create(n[Symbol.metadata]??null):void 0;t=[Ni],Ko(this,null,t,{kind:"method",name:"remoteAddress",static:!1,private:!1,access:{has:i=>"remoteAddress"in i,get:i=>i.remoteAddress},metadata:r},null,e),r&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:r})}static from(r,i,o){let a=i.response();if(a)return a.#e=r,a;let c=new Fn(r,i,o);return c.#i(),c}#e=Wo(this,e);#t;#s;#r=!1;constructor(r,i,o){super(),this.#e=r,this.#t=i,this.#r=o;let a=r["goog:securityDetails"];o&&a&&(this.#s=new tn(a))}#i(){this.#e.fromCache&&(this.#t._fromMemoryCache=!0,this.#t.frame()?.page().trustedEmitter.emit("requestservedfromcache",this.#t)),this.#t.frame()?.page().trustedEmitter.emit("response",this)}remoteAddress(){return{ip:"",port:-1}}url(){return this.#e.url}status(){return this.#e.status}statusText(){return this.#e.statusText}headers(){let r={};for(let i of this.#e.headers)if(i.value.type==="string"){let o=i.name.toLowerCase(),a=o in r?`${r[o]}
18
+ ${i.value.value}`:i.value.value;r[o]=sn(o,a)}return r}request(){return this.#t}fromCache(){return this.#e.fromCache}timing(){let r=this.#t.timing();return{requestTime:r.requestTime,proxyStart:-1,proxyEnd:-1,dnsStart:r.dnsStart,dnsEnd:r.dnsEnd,connectStart:r.connectStart,connectEnd:r.connectEnd,sslStart:r.tlsStart,sslEnd:-1,workerStart:-1,workerReady:-1,workerFetchStart:-1,workerRespondWithSettled:-1,workerRouterEvaluationStart:-1,workerCacheLookupStart:-1,sendStart:r.requestStart,sendEnd:-1,pushStart:-1,pushEnd:-1,receiveHeadersStart:r.responseStart,receiveHeadersEnd:r.responseEnd}}frame(){return this.#t.frame()}fromServiceWorker(){return!1}securityDetails(){if(!this.#r)throw new b;return this.#s??null}async content(){return await this.#t.getResponseContent()}}})();var zr,Wr=new WeakMap,gt=class extends hr{static from(e,t,s,r,i){let o=new zr(e,t,s,r,i);return o.#o(),o}#e;#t=null;id;#s;#r;#i;constructor(e,t,s,r,i){super(),this.#i=i,Wr.set(e,this),this.interception.enabled=s,this.#r=e,this.#s=t,this.#e=r?r.#e:[],this.id=e.id}get client(){return this.#s.client}#o(){this.#r.on("redirect",e=>{let t=zr.from(e,this.#s,this.interception.enabled,this,this.#i);this.#e.push(this),e.once("success",()=>{this.#s.page().trustedEmitter.emit("requestfinished",t)}),e.once("error",()=>{this.#s.page().trustedEmitter.emit("requestfailed",t)}),t.finalizeInterceptions()}),this.#r.once("response",e=>{this.#t=Hr.from(e,this,this.#s.page().browser().cdpSupported)}),this.#r.once("success",e=>{this.#t=Hr.from(e,this,this.#s.page().browser().cdpSupported)}),this.#r.on("authenticate",this.#d),this.#s.page().trustedEmitter.emit("request",this)}canBeIntercepted(){return this.#r.isBlocked}interceptResolutionState(){return this.#r.isBlocked?super.interceptResolutionState():{action:Li.Disabled}}url(){return this.#r.url}resourceType(){if(!this.#s.page().browser().cdpSupported)throw new b;return(this.#r.resourceType||"other").toLowerCase()}method(){return this.#r.method}postData(){if(!this.#s.page().browser().cdpSupported)throw new b;return this.#r.postData}hasPostData(){return this.#r.hasPostData}async fetchPostData(){return await this.#r.fetchPostData()}headers(){let e={};for(let t of this.#r.headers)e[t.name.toLowerCase()]=t.value.value;return{...e}}response(){return this.#t}failure(){return this.#r.error===void 0?null:{errorText:this.#r.error}}isNavigationRequest(){return this.#r.navigation!==void 0}initiator(){return{...this.#r.initiator,type:this.#r.initiator?.type??"other"}}redirectChain(){return this.#e.slice()}frame(){return this.#s}async _continue(e={}){let t=An(e.headers);return this.interception.handled=!0,await this.#r.continueRequest({url:e.url,method:e.method,body:e.postData?{type:"base64",value:hi(e.postData)}:void 0,headers:t.length>0?t:void 0}).catch(s=>(this.interception.handled=!1,qi(s,this.#i)))}async _abort(){return this.interception.handled=!0,await this.#r.failRequest().catch(e=>{throw this.interception.handled=!1,e})}async _respond(e,t){this.interception.handled=!0;let s;e.body&&(s=hr.getResponse(e.body));let r=An(e.headers),i=r.some(a=>a.name==="content-length");e.contentType&&r.push({name:"content-type",value:{type:"string",value:e.contentType}}),s?.contentLength&&!i&&r.push({name:"content-length",value:{type:"string",value:String(s.contentLength)}});let o=e.status||200;return await this.#r.provideResponse({statusCode:o,headers:r.length>0?r:void 0,reasonPhrase:Mi[o],body:s?.base64?{type:"base64",value:s?.base64}:void 0}).catch(a=>{throw this.interception.handled=!1,a})}#a=!1;#d=async()=>{if(!this.#s)return;let e=this.#s.page()._credentials;e&&!this.#a?(this.#a=!0,this.#r.continueWithAuth({action:"provideCredentials",credentials:{type:"password",username:e.username,password:e.password}})):this.#r.continueWithAuth({action:"cancel"})};timing(){return this.#r.timing()}getResponseContent(){return this.#r.getResponseContent()}};zr=gt;function An(n){let e=[];for(let[t,s]of Object.entries(n??[]))if(!Object.is(s,void 0)){let r=Array.isArray(s)?s:[s];for(let i of r)e.push({name:t.toLowerCase(),value:{type:"string",value:String(i)}})}return e}var Hs=class extends Error{},zs=class{static serialize(e){switch(typeof e){case"symbol":case"function":throw new Hs(`Unable to serializable ${typeof e}`);case"object":return this.#t(e);case"undefined":return{type:"undefined"};case"number":return this.#e(e);case"bigint":return{type:"bigint",value:e.toString()};case"string":return{type:"string",value:e};case"boolean":return{type:"boolean",value:e}}}static#e(e){let t;return Object.is(e,-0)?t="-0":Object.is(e,1/0)?t="Infinity":Object.is(e,-1/0)?t="-Infinity":Object.is(e,NaN)?t="NaN":t=e,{type:"number",value:t}}static#t(e){if(e===null)return{type:"null"};if(Array.isArray(e))return{type:"array",value:e.map(s=>this.serialize(s))};if(wi(e)){try{JSON.stringify(e)}catch(s){throw s instanceof TypeError&&s.message.startsWith("Converting circular structure to JSON")&&(s.message+=" Recursive objects are not allowed."),s}let t=[];for(let s in e)t.push([this.serialize(s),this.serialize(e[s])]);return{type:"object",value:t}}else{if(yi(e))return{type:"regexp",value:{pattern:e.source,flags:e.flags}};if(vi(e))return{type:"date",value:e.toISOString()}}throw new Hs("Custom object serialization not possible. Use plain objects instead.")}};function Vo(n){switch(n){case"group":return"startGroup";case"groupCollapsed":return"startGroupCollapsed";case"groupEnd":return"endGroup";default:return n}}function Go(n){let e=[];if(n)for(let t of n.callFrames)e.push({url:t.url,lineNumber:t.lineNumber,columnNumber:t.columnNumber});return e}function Ws(n,e,t,s){let r=e.reduce((i,o)=>{let a=o instanceof Z&&o.isPrimitiveValue?le.deserialize(o.remoteValue()):o.toString();return`${i} ${a}`},"").slice(1);return new Ji(Vo(n.method),r,e,Go(n.stackTrace),t,void 0,s)}function Ks(n){return n.type==="console"}function Un(n){return n.type==="javascript"}function Ln(n){if(n.exception.type==="object"&&!("value"in n.exception))return new Error(n.text);if(n.exception.type!=="error")return le.deserialize(n.exception);let[e="",...t]=n.text.split(": "),s=t.join(": "),r=new Error(s);r.name=e;let i=[];if(n.stackTrace&&i.length<Error.stackTraceLimit)for(let o of n.stackTrace.callFrames.reverse()){if(_e.isPuppeteerURL(o.url)&&o.url!==_e.INTERNAL_URL){let a=_e.parse(o.url);i.unshift(` at ${o.functionName||a.functionName} (${a.functionName} at ${a.siteString}, <anonymous>:${o.lineNumber}:${o.columnNumber})`)}else i.push(` at ${o.functionName||"<anonymous>"} (${o.url}:${o.lineNumber}:${o.columnNumber})`);if(i.length>=Error.stackTraceLimit)break}return r.stack=[n.text,...i].join(`
19
+ `),r}function Vs(n,e){return t=>{throw t instanceof ne?t.message+=` at ${n}`:t instanceof pi&&(t.message=`Navigation timeout of ${e} ms exceeded`),t}}function Mn(n){throw n instanceof Error&&(n.message.includes("ExecutionContext was destroyed")||n.message.includes("Inspected target navigated or closed"))?new Error("Execution context was destroyed, most likely because of a navigation."):n}var Xo=function(n,e,t){if(e!=null){if(typeof e!="object"&&typeof e!="function")throw new TypeError("Object expected.");var s,r;if(t){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");s=e[Symbol.asyncDispose]}if(s===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");s=e[Symbol.dispose],t&&(r=s)}if(typeof s!="function")throw new TypeError("Object not disposable.");r&&(s=function(){try{r.call(this)}catch(i){return Promise.reject(i)}}),n.stack.push({value:e,dispose:s,async:t})}else t&&n.stack.push({async:!0});return e},Jo=(function(n){return function(e){function t(o){e.error=e.hasError?new n(o,e.error,"An error was suppressed during disposal."):o,e.hasError=!0}var s,r=0;function i(){for(;s=e.stack.pop();)try{if(!s.async&&r===1)return r=0,e.stack.push(s),Promise.resolve().then(i);if(s.dispose){var o=s.dispose.call(s.value);if(s.async)return r|=2,Promise.resolve(o).then(i,function(a){return t(a),i()})}else r|=1}catch(a){t(a)}if(r===1)return e.hasError?Promise.reject(e.error):Promise.resolve();if(e.hasError)throw e.error}return i()}})(typeof SuppressedError=="function"?SuppressedError:function(n,e,t){var s=new Error(t);return s.name="SuppressedError",s.error=n,s.suppressed=e,s}),Gs=class extends Ki{realm;#e;constructor(e,t,s){super(t),this.realm=e,this.#e=s}get logger(){return this.#e}initialize(){this.realm.on("destroyed",e=>{this.taskManager.terminateAll(new Error(e)),this.dispose()}),this.realm.on("updated",()=>{this.internalPuppeteerUtil=void 0,this.taskManager.rerunAll()})}internalPuppeteerUtil;get puppeteerUtil(){let e=Promise.resolve();return Oi.inject(t=>{this.internalPuppeteerUtil&&this.internalPuppeteerUtil.then(s=>{s.dispose()}),this.internalPuppeteerUtil=e.then(()=>this.evaluateHandle(t))},!this.internalPuppeteerUtil),this.internalPuppeteerUtil}async evaluateHandle(e,...t){return await this.#t(!1,e,...t)}async evaluate(e,...t){return await this.#t(!0,e,...t)}async#t(e,t,...s){let r=bi(gi(t)?.toString()??_e.INTERNAL_URL),i,o=e?"none":"root",a=e?{}:{maxObjectDepth:0,maxDomDepth:0};if(Et(t)){let d=cr.test(t)?t:`${t}
20
+ ${r}
21
+ `;i=this.realm.evaluate(d,!0,{resultOwnership:o,userActivation:!0,serializationOptions:a})}else{let d=Pt(t);d=cr.test(d)?d:`${d}
22
+ ${r}
23
+ `,i=this.realm.callFunction(d,!0,{arguments:s.some(u=>u instanceof ur)?await Promise.all(s.map(u=>this.serializeAsync(u))):s.map(u=>this.serialize(u)),resultOwnership:o,userActivation:!0,serializationOptions:a})}let c=await i.catch(Mn);if("type"in c&&c.type==="exception")throw Ln(c.exceptionDetails);return e?le.deserialize(c.result):this.createHandle(c.result)}createHandle(e){return(e.type==="node"||e.type==="window")&&this instanceof ye?te.from(e,this):Z.from(e,this)}async serializeAsync(e){return e instanceof ur&&(e=await e.get(this)),this.serialize(e)}serialize(e){if(e instanceof Z||e instanceof te){if(e.realm!==this){if(!(e.realm instanceof ye)||!(this instanceof ye))throw new Error("Trying to evaluate JSHandle from different global types. Usually this means you're using a handle from a worker in a page or vice versa.");if(e.realm.environment!==this.environment)throw new Error("Trying to evaluate JSHandle from different frames. Usually this means you're using a handle from a page on a different page.")}if(e.disposed)throw new Error("JSHandle is disposed!");return e.remoteValue()}return zs.serialize(e)}async destroyHandles(e){if(this.disposed)return;let t=e.map(({id:s})=>s).filter(s=>s!==void 0);t.length!==0&&this.realm.disown(t).catch(s=>{this.#e?.(T.error)?.(s)})}async adoptHandle(e){return await this.evaluateHandle(t=>t,e)}async transferHandle(e){if(e.realm===this)return e;let t=this.adoptHandle(e);return await e.dispose(),await t}extension(){throw new b}get origin(){throw new b}},ye=class n extends Gs{static from(e,t,s){let r=new n(e,t,s);return r.#t(),r}#e;constructor(e,t,s){super(e,t.timeoutSettings,s),this.#e=t}#t(){super.initialize(),this.realm.on("updated",()=>{this.environment.clearDocumentHandle(),this.#s=!1})}#s=!1;get puppeteerUtil(){let e=Promise.resolve();return this.#s||(e=Promise.all([ke.from(this.environment,"__ariaQuerySelector",lr.queryOne,!!this.sandbox,this.logger),ke.from(this.environment,"__ariaQuerySelectorAll",async(t,s)=>{let r=lr.queryAll(t,s);return await t.realm.evaluateHandle((...i)=>i,...await St.collect(r))},!!this.sandbox,this.logger)]),this.#s=!0),e.then(()=>super.puppeteerUtil)}get sandbox(){return this.realm.sandbox}get environment(){return this.#e}async adoptBackendNode(e){let t={stack:[],error:void 0,hasError:!1};try{let{object:s}=await this.#e.client.send("DOM.resolveNode",{backendNodeId:e,executionContextId:await this.realm.resolveExecutionContextId()});return await Xo(t,te.from({handle:s.objectId,type:"node"},this),!1).evaluateHandle(i=>i)}catch(s){t.error=s,t.hasError=!0}finally{Jo(t)}}},Xs=class n extends Gs{static from(e,t,s){let r=new n(e,t,s);return r.initialize(),r}#e;constructor(e,t,s){super(e,t.timeoutSettings,s),this.#e=t}initialize(){super.initialize(),this.realm.on("log",e=>{if(Ks(e)&&this.#e.listenerCount(pr.Console)){let t=e.args.map(r=>this.createHandle(r)),s=Ws(e,t,void 0,this.realm.id);this.#e.emit(pr.Console,s)}})}get environment(){return this.#e}async adoptBackendNode(){throw new Error("Cannot adopt DOM nodes into a worker.")}};var Js=class n extends Gi{static from(e,t,s){return new n(e,t,s)}#e;#t;constructor(e,t,s){super(t.origin),this.#e=e,this.#t=Xs.from(t,this,s)}get frame(){return this.#e}mainRealm(){return this.#t}get client(){throw new b}};var Yo=function(n,e,t){for(var s=arguments.length>2,r=0;r<e.length;r++)t=s?e[r].call(n,t):e[r].call(n);return s?t:void 0},ve=function(n,e,t,s,r,i){function o(v){if(v!==void 0&&typeof v!="function")throw new TypeError("Function expected");return v}for(var a=s.kind,c=a==="getter"?"get":a==="setter"?"set":"value",d=!e&&n?s.static?n:n.prototype:null,u=e||(d?Object.getOwnPropertyDescriptor(d,s.name):{}),l,y=!1,f=t.length-1;f>=0;f--){var h={};for(var p in s)h[p]=p==="access"?{}:s[p];for(var p in s.access)h.access[p]=s.access[p];h.addInitializer=function(v){if(y)throw new TypeError("Cannot add initializers after decoration has completed");i.push(o(v||null))};var m=(0,t[f])(a==="accessor"?{get:u.get,set:u.set}:u[c],h);if(a==="accessor"){if(m===void 0)continue;if(m===null||typeof m!="object")throw new TypeError("Object expected");(l=o(m.get))&&(u.get=l),(l=o(m.set))&&(u.set=l),(l=o(m.init))&&r.unshift(l)}else(l=o(m))&&(a==="field"?r.unshift(l):u[c]=l)}d&&Object.defineProperty(d,s.name,u),y=!0},qn=function(n,e,t){return typeof e=="symbol"&&(e=e.description?"[".concat(e.description,"]"):""),Object.defineProperty(n,"name",{configurable:!0,value:t?"".concat(t," ",e):e})},jn=(()=>{var n;let e=Ui,t=[],s,r,i,o,a,c,d,u,l,y;return class wt extends e{static{let h=typeof Symbol=="function"&&Symbol.metadata?Object.create(e[Symbol.metadata]??null):void 0;s=[oe],r=[oe],i=[oe],o=[oe],c=[oe],u=[oe],l=[oe],y=[oe],ve(this,null,s,{kind:"method",name:"goto",static:!1,private:!1,access:{has:p=>"goto"in p,get:p=>p.goto},metadata:h},null,t),ve(this,null,r,{kind:"method",name:"setContent",static:!1,private:!1,access:{has:p=>"setContent"in p,get:p=>p.setContent},metadata:h},null,t),ve(this,null,i,{kind:"method",name:"waitForNavigation",static:!1,private:!1,access:{has:p=>"waitForNavigation"in p,get:p=>p.waitForNavigation},metadata:h},null,t),ve(this,a={value:qn(function(p={}){let{waitUntil:m="load"}=p,{timeout:v=this.timeoutSettings.navigationTimeout()}=p;Array.isArray(m)||(m=[m]);let I=new Set;for(let B of m)switch(B){case"load":{I.add("load");break}case"domcontentloaded":{I.add("DOMContentLoaded");break}}return I.size===0?re(void 0):Ze([...I].map(B=>J(this.browsingContext,B))).pipe(Oe(()=>{}),ar(),ie(Be(v),this.#o().pipe(Oe(()=>{throw new Error("Frame detached.")}))))},"#waitForLoad$")},o,{kind:"method",name:"#waitForLoad$",static:!1,private:!0,access:{has:p=>#d in p,get:p=>p.#d},metadata:h},null,t),ve(this,d={value:qn(function(p={}){let{waitUntil:m="load"}=p;Array.isArray(m)||(m=[m]);let v=1/0;for(let I of m)switch(I){case"networkidle0":{v=Math.min(0,v);break}case"networkidle2":{v=Math.min(2,v);break}}return v===1/0?re(void 0):this.page().waitForNetworkIdle$({idleTime:500,timeout:p.timeout??this.timeoutSettings.timeout(),concurrency:v})},"#waitForNetworkIdle$")},c,{kind:"method",name:"#waitForNetworkIdle$",static:!1,private:!0,access:{has:p=>#n in p,get:p=>p.#n},metadata:h},null,t),ve(this,null,u,{kind:"method",name:"setFiles",static:!1,private:!1,access:{has:p=>"setFiles"in p,get:p=>p.setFiles},metadata:h},null,t),ve(this,null,l,{kind:"method",name:"frameElement",static:!1,private:!1,access:{has:p=>"frameElement"in p,get:p=>p.frameElement},metadata:h},null,t),ve(this,null,y,{kind:"method",name:"locateNodes",static:!1,private:!1,access:{has:p=>"locateNodes"in p,get:p=>p.locateNodes},metadata:h},null,t),h&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:h})}static from(h,p,m){let v=new wt(h,p,m);return v.#r(),v}#e=Yo(this,t);browsingContext;#t=new WeakMap;realms;#s;_id;client;accessibility;constructor(h,p,m){super(m),this.#e=h,this.browsingContext=p,this.#s=m,this._id=p.id,this.client=new Pe(this),this.realms={default:ye.from(this.browsingContext.defaultRealm,this,m),internal:ye.from(this.browsingContext.createWindowRealm(`__puppeteer_internal_${Math.ceil(Math.random()*1e4)}`),this,m)},this.accessibility=new Xi(this.realms.default,this._id,m)}#r(){for(let h of this.browsingContext.children)this.#i(h);this.browsingContext.on("browsingcontext",h=>{this.#i(h)}),this.browsingContext.on("closed",()=>{for(let h of Pe.sessions.values())h.frame===this&&h.onClose();this.page().trustedEmitter.emit("framedetached",this)}),this.browsingContext.on("request",h=>{let p=gt.from(h,this,this.page().isNetworkInterceptionEnabled,void 0,this.logger);h.once("success",()=>{this.page().trustedEmitter.emit("requestfinished",p)}),h.once("error",()=>{this.page().trustedEmitter.emit("requestfailed",p)}),p.finalizeInterceptions()}),this.browsingContext.on("navigation",h=>{h.once("fragment",()=>{this.page().trustedEmitter.emit("framenavigated",this)})}),this.browsingContext.on("load",()=>{this.page().trustedEmitter.emit("load",void 0)}),this.browsingContext.on("DOMContentLoaded",()=>{this._hasStartedLoading=!0,this.page().trustedEmitter.emit("domcontentloaded",void 0),this.page().trustedEmitter.emit("framenavigated",this)}),this.browsingContext.on("userprompt",h=>{this.page().trustedEmitter.emit("dialog",$s.from(h))}),this.browsingContext.on("log",h=>{if(this._id===h.source.context)if(Ks(h)){if(!this.page().listenerCount("console"))return;let p=h.args.map(m=>this.mainRealm().createHandle(m));this.page().trustedEmitter.emit("console",Ws(h,p,this))}else if(Un(h)){let p=new Error(h.text??""),m=p.message.split(`
24
+ `).length,v=p.stack.split(`
25
+ `).splice(0,m),I=[];if(h.stackTrace){for(let B of h.stackTrace.callFrames)if(I.push(` at ${B.functionName||"<anonymous>"} (${B.url}:${B.lineNumber+1}:${B.columnNumber+1})`),I.length>=Error.stackTraceLimit)break}p.stack=[...v,...I].join(`
26
+ `),this.page().trustedEmitter.emit("pageerror",p)}else this.#s?.(T.error)?.(`Unhandled LogEntry with type "${h.type}", text "${h.text}" and level "${h.level}"`)}),this.browsingContext.on("worker",h=>{let p=Js.from(this,h,this.#s);h.on("destroyed",()=>{this.page().trustedEmitter.emit("workerdestroyed",p)}),this.page().trustedEmitter.emit("workercreated",p)})}#i(h){let p=wt.from(this,h,this.#s);return this.#t.set(h,p),this.page().trustedEmitter.emit("frameattached",p),h.on("closed",()=>{this.#t.delete(h)}),p}get timeoutSettings(){return this.page()._timeoutSettings}mainRealm(){return this.realms.default}isolatedRealm(){return this.realms.internal}realm(h){for(let p of Object.values(this.realms))if(p.realm.id===h)return p}page(){let h=this.#e;for(;h instanceof wt;)h=h.#e;return h}url(){return this.browsingContext.url}parentFrame(){return this.#e instanceof wt?this.#e:null}childFrames(){return[...this.browsingContext.children].map(h=>this.#t.get(h))}#o(){return ci(()=>this.detached?re(this):J(this.page().trustedEmitter,"framedetached").pipe(di(h=>h===this)))}async goto(h,p={}){let[m]=await Promise.all([this.waitForNavigation(p),this.browsingContext.navigate(h,"interactive").catch(v=>{if(!(Ti(v)&&v.message.includes("net::ERR_HTTP_RESPONSE_CODE_FAILURE"))&&!v.message.includes("navigation canceled")&&!v.message.includes("Navigation was aborted by another navigation"))throw v})]).catch(Vs(h,p.timeout??this.timeoutSettings.navigationTimeout()));return m}async setContent(h,p={}){await Promise.all([this.setFrameContent(h),Re(Ze([this.#d(p),this.#n(p)]))])}async waitForNavigation(h={}){let{timeout:p=this.timeoutSettings.navigationTimeout(),signal:m}=h,v=this.childFrames().map(I=>I.#o());return await Re(Ze([ui(J(this.browsingContext,"navigation"),J(this.browsingContext,"historyUpdated").pipe(Oe(()=>null))).pipe(ar()).pipe(bt(I=>I===null?re(null):this.#d(h).pipe(li(()=>v.length===0?re(void 0):Ze(v)),ie(J(I,"fragment"),J(I,"failed"),J(I,"aborted")),bt(()=>{if(I.request){let B=function(U){return I===null?re(null):U.response||U.error?re(I):U.redirect?B(U.redirect):J(U,"success").pipe(ie(J(U,"error")),ie(J(U,"redirect"))).pipe(bt(()=>B(U)))};return B(I.request)}return re(I)})))),this.#n(h)]).pipe(Oe(([I])=>{if(!I)return null;let B=I.request;if(!B)return null;let U=B.lastRedirect??B;return Wr.get(U).response()}),ie(Be(p),Ei(m),this.#o().pipe(Oe(()=>{throw new Ne("Frame detached.")})))))}waitForDevicePrompt(h={}){let{timeout:p=this.timeoutSettings.timeout(),signal:m}=h;return this.browsingContext.waitForDevicePrompt(p,m)}get detached(){return this.browsingContext.closed}#a=new Map;async exposeFunction(h,p){if(this.#a.has(h))throw new Error(`Failed to add page binding with name ${h}: globalThis['${h}'] already exists!`);let m=await ke.from(this,h,p,!1,this.#s);this.#a.set(h,m)}async removeExposedFunction(h){let p=this.#a.get(h);if(!p)throw new Error(`Failed to remove page binding with name ${h}: window['${h}'] does not exists!`);this.#a.delete(h),await p[Symbol.asyncDispose]()}async createCDPSession(){if(!this.page().browser().cdpSupported)throw new b;return await this.page().browser().cdpConnection._createSession({targetId:this._id})}get#d(){return a.value}get#n(){return d.value}async setFiles(h,p){await this.browsingContext.setFiles(h.remoteValue(),p)}async frameElement(){let h=this.parentFrame();if(!h)return null;let[p]=await h.browsingContext.locateNodes({type:"context",value:{context:this._id}});return p?te.from(p,h.mainRealm()):null}async locateNodes(h,p){return await this.browsingContext.locateNodes(p,[h.remoteValue()])}extensionRealms(){throw new b}}})();var W;(function(n){n.None="none",n.Key="key",n.Pointer="pointer",n.Wheel="wheel"})(W||(W={}));var A;(function(n){n.Pause="pause",n.KeyDown="keyDown",n.KeyUp="keyUp",n.PointerUp="pointerUp",n.PointerDown="pointerDown",n.PointerMove="pointerMove",n.Scroll="scroll"})(A||(A={}));var yt=n=>{switch(n){case"\r":case`
27
+ `:n="Enter";break}if([...n].length===1)return n;switch(n){case"Cancel":return"\uE001";case"Help":return"\uE002";case"Backspace":return"\uE003";case"Tab":return"\uE004";case"Clear":return"\uE005";case"Enter":return"\uE007";case"Shift":case"ShiftLeft":return"\uE008";case"Control":case"ControlLeft":return"\uE009";case"Alt":case"AltLeft":return"\uE00A";case"Pause":return"\uE00B";case"Escape":return"\uE00C";case"PageUp":return"\uE00E";case"PageDown":return"\uE00F";case"End":return"\uE010";case"Home":return"\uE011";case"ArrowLeft":return"\uE012";case"ArrowUp":return"\uE013";case"ArrowRight":return"\uE014";case"ArrowDown":return"\uE015";case"Insert":return"\uE016";case"Delete":return"\uE017";case"NumpadEqual":return"\uE019";case"Numpad0":return"\uE01A";case"Numpad1":return"\uE01B";case"Numpad2":return"\uE01C";case"Numpad3":return"\uE01D";case"Numpad4":return"\uE01E";case"Numpad5":return"\uE01F";case"Numpad6":return"\uE020";case"Numpad7":return"\uE021";case"Numpad8":return"\uE022";case"Numpad9":return"\uE023";case"NumpadMultiply":return"\uE024";case"NumpadAdd":return"\uE025";case"NumpadSubtract":return"\uE027";case"NumpadDecimal":return"\uE028";case"NumpadDivide":return"\uE029";case"F1":return"\uE031";case"F2":return"\uE032";case"F3":return"\uE033";case"F4":return"\uE034";case"F5":return"\uE035";case"F6":return"\uE036";case"F7":return"\uE037";case"F8":return"\uE038";case"F9":return"\uE039";case"F10":return"\uE03A";case"F11":return"\uE03B";case"F12":return"\uE03C";case"Meta":case"MetaLeft":return"\uE03D";case"ShiftRight":return"\uE050";case"ControlRight":return"\uE051";case"AltRight":return"\uE052";case"MetaRight":return"\uE053";case"Digit0":return"0";case"Digit1":return"1";case"Digit2":return"2";case"Digit3":return"3";case"Digit4":return"4";case"Digit5":return"5";case"Digit6":return"6";case"Digit7":return"7";case"Digit8":return"8";case"Digit9":return"9";case"KeyA":return"a";case"KeyB":return"b";case"KeyC":return"c";case"KeyD":return"d";case"KeyE":return"e";case"KeyF":return"f";case"KeyG":return"g";case"KeyH":return"h";case"KeyI":return"i";case"KeyJ":return"j";case"KeyK":return"k";case"KeyL":return"l";case"KeyM":return"m";case"KeyN":return"n";case"KeyO":return"o";case"KeyP":return"p";case"KeyQ":return"q";case"KeyR":return"r";case"KeyS":return"s";case"KeyT":return"t";case"KeyU":return"u";case"KeyV":return"v";case"KeyW":return"w";case"KeyX":return"x";case"KeyY":return"y";case"KeyZ":return"z";case"Semicolon":return";";case"Equal":return"=";case"Comma":return",";case"Minus":return"-";case"Period":return".";case"Slash":return"/";case"Backquote":return"`";case"BracketLeft":return"[";case"Backslash":return"\\";case"BracketRight":return"]";case"Quote":return'"';default:throw new Error(`Unknown key: "${n}"`)}},Ys=class extends $i{#e;constructor(e){super(),this.#e=e}async down(e,t){await this.#e.mainFrame().browsingContext.performActions([{type:W.Key,id:"__puppeteer_keyboard",actions:[{type:A.KeyDown,value:yt(e)}]}])}async up(e){await this.#e.mainFrame().browsingContext.performActions([{type:W.Key,id:"__puppeteer_keyboard",actions:[{type:A.KeyUp,value:yt(e)}]}])}async press(e,t={}){let{delay:s=0}=t,r=[{type:A.KeyDown,value:yt(e)}];s>0&&r.push({type:A.Pause,duration:s}),r.push({type:A.KeyUp,value:yt(e)}),await this.#e.mainFrame().browsingContext.performActions([{type:W.Key,id:"__puppeteer_keyboard",actions:r}])}async type(e,t={}){let{delay:s=0}=t,r=[...e].map(yt),i=[];if(s<=0)for(let o of r)i.push({type:A.KeyDown,value:o},{type:A.KeyUp,value:o});else for(let o of r)i.push({type:A.KeyDown,value:o},{type:A.Pause,duration:s},{type:A.KeyUp,value:o});await this.#e.mainFrame().browsingContext.performActions([{type:W.Key,id:"__puppeteer_keyboard",actions:i}])}async sendCharacter(e){if([...e].length>1)throw new Error("Cannot send more than 1 character.");await(await this.#e.focusedFrame()).isolatedRealm().evaluate(async s=>{document.execCommand("insertText",!1,s)},e)}},Kr=n=>{switch(n){case ae.Left:return 0;case ae.Middle:return 1;case ae.Right:return 2;case ae.Back:return 3;case ae.Forward:return 4}},Zs=class extends Hi{#e;#t={x:0,y:0};constructor(e){super(),this.#e=e}async reset(){this.#t={x:0,y:0},await this.#e.mainFrame().browsingContext.releaseActions()}async move(e,t,s={}){let r=this.#t,i={x:Math.round(e),y:Math.round(t)},o=[],a=s.steps??0;for(let c=0;c<a;++c)o.push({type:A.PointerMove,x:r.x+(i.x-r.x)*(c/a),y:r.y+(i.y-r.y)*(c/a),origin:s.origin});o.push({type:A.PointerMove,...i,origin:s.origin}),this.#t=i,await this.#e.mainFrame().browsingContext.performActions([{type:W.Pointer,id:"__puppeteer_mouse",actions:o}])}async down(e={}){await this.#e.mainFrame().browsingContext.performActions([{type:W.Pointer,id:"__puppeteer_mouse",actions:[{type:A.PointerDown,button:Kr(e.button??ae.Left)}]}])}async up(e={}){await this.#e.mainFrame().browsingContext.performActions([{type:W.Pointer,id:"__puppeteer_mouse",actions:[{type:A.PointerUp,button:Kr(e.button??ae.Left)}]}])}async click(e,t,s={}){let r=[{type:A.PointerMove,x:Math.round(e),y:Math.round(t),origin:s.origin}],i={type:A.PointerDown,button:Kr(s.button??ae.Left)},o={type:A.PointerUp,button:i.button};for(let a=1;a<(s.count??1);++a)r.push(i,o);r.push(i),s.delay&&r.push({type:A.Pause,duration:s.delay}),r.push(o),await this.#e.mainFrame().browsingContext.performActions([{type:W.Pointer,id:"__puppeteer_mouse",actions:r}])}async wheel(e={}){await this.#e.mainFrame().browsingContext.performActions([{type:W.Wheel,id:"__puppeteer_wheel",actions:[{type:A.Scroll,...this.#t??{x:0,y:0},deltaX:e.deltaX??0,deltaY:e.deltaY??0}]}])}drag(){throw new b}dragOver(){throw new b}dragEnter(){throw new b}drop(){throw new b}dragAndDrop(){throw new b}},Vr=class{#e=!1;#t;#s;#r;#i;#o;#a;constructor(e,t,s,r,i,o){this.#i=e,this.#o=t,this.#t=Math.round(r),this.#s=Math.round(i),this.#a=o,this.#r=`__puppeteer_finger_${s}`}async start(e={}){if(this.#e)throw new fi("Touch has already started");await this.#i.mainFrame().browsingContext.performActions([{type:W.Pointer,id:this.#r,parameters:{pointerType:"touch"},actions:[{type:A.PointerMove,x:this.#t,y:this.#s,origin:e.origin},{...this.#a,type:A.PointerDown,button:0}]}]),this.#e=!0}move(e,t){let s=Math.round(e),r=Math.round(t);return this.#i.mainFrame().browsingContext.performActions([{type:W.Pointer,id:this.#r,parameters:{pointerType:"touch"},actions:[{...this.#a,type:A.PointerMove,x:s,y:r}]}])}async end(){await this.#i.mainFrame().browsingContext.performActions([{type:W.Pointer,id:this.#r,parameters:{pointerType:"touch"},actions:[{type:A.PointerUp,button:0}]}]),this.#o.removeHandle(this)}},Qs=class extends zi{#e;constructor(e){super(),this.#e=e}async touchStart(e,t,s={}){let r=this.idGenerator(),i={width:.5*2,height:.5*2,pressure:.5},o=new Vr(this.#e,this,r,e,t,i);return await o.start(s),this.touches.push(o),o}};var Zo=function(n,e,t){for(var s=arguments.length>2,r=0;r<e.length;r++)t=s?e[r].call(n,t):e[r].call(n);return s?t:void 0},Qo=function(n,e,t,s,r,i){function o(v){if(v!==void 0&&typeof v!="function")throw new TypeError("Function expected");return v}for(var a=s.kind,c=a==="getter"?"get":a==="setter"?"set":"value",d=!e&&n?s.static?n:n.prototype:null,u=e||(d?Object.getOwnPropertyDescriptor(d,s.name):{}),l,y=!1,f=t.length-1;f>=0;f--){var h={};for(var p in s)h[p]=p==="access"?{}:s[p];for(var p in s.access)h.access[p]=s.access[p];h.addInitializer=function(v){if(y)throw new TypeError("Cannot add initializers after decoration has completed");i.push(o(v||null))};var m=(0,t[f])(a==="accessor"?{get:u.get,set:u.set}:u[c],h);if(a==="accessor"){if(m===void 0)continue;if(m===null||typeof m!="object")throw new TypeError("Object expected");(l=o(m.get))&&(u.get=l),(l=o(m.set))&&(u.set=l),(l=o(m.init))&&r.unshift(l)}else(l=o(m))&&(a==="field"?r.unshift(l):u[c]=l)}d&&Object.defineProperty(d,s.name,u),y=!0},$n=(()=>{let n=Vi,e=[],t;return class extends n{static{let r=typeof Symbol=="function"&&Symbol.metadata?Object.create(n[Symbol.metadata]??null):void 0;t=[_i()],Qo(this,null,t,{kind:"method",name:"stop",static:!1,private:!1,access:{has:i=>"stop"in i,get:i=>i.stop},metadata:r},null,e),r&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:r})}#e=Zo(this,e);#t;constructor(r,i={},o){super(r,i,o),this.page.mainFrame().browsingContext?.once?.("closed",()=>{this.stop().catch(c=>{this.logger(T.error)?.(c)})})}async _start(){let r=this.options.frameRate??this.options.fps,i=this.options.maxWidth!==void 0||this.options.maxHeight!==void 0||r!==void 0?{width:this.options.maxWidth,height:this.options.maxHeight,frameRate:r}:void 0,o=await this.page.mainFrame().browsingContext.startScreencast({audio:this.options.audio,video:i});this.#e=o.screencast,this.#t=o.path}async stop(){if(!this.stopped){this.stopped=!0;try{if(!this.#e)return;let r=await this.page.mainFrame().browsingContext.stopScreencast(this.#e).catch(o=>{this.logger(T.error)?.(o)});r?.error&&this.logger(T.error)?.(r.error);let i=r?.path??this.#t;if(i)try{let o=await xt.value.readFile(i);this.controller.enqueue(o);for(let a of this.destinations)a.write(o)}catch(o){this.logger(T.error)?.(o)}}finally{await this.closeDestinations()}}}}})();var ea=function(n,e,t,s,r,i){function o(v){if(v!==void 0&&typeof v!="function")throw new TypeError("Function expected");return v}for(var a=s.kind,c=a==="getter"?"get":a==="setter"?"set":"value",d=!e&&n?s.static?n:n.prototype:null,u=e||(d?Object.getOwnPropertyDescriptor(d,s.name):{}),l,y=!1,f=t.length-1;f>=0;f--){var h={};for(var p in s)h[p]=p==="access"?{}:s[p];for(var p in s.access)h.access[p]=s.access[p];h.addInitializer=function(v){if(y)throw new TypeError("Cannot add initializers after decoration has completed");i.push(o(v||null))};var m=(0,t[f])(a==="accessor"?{get:u.get,set:u.set}:u[c],h);if(a==="accessor"){if(m===void 0)continue;if(m===null||typeof m!="object")throw new TypeError("Object expected");(l=o(m.get))&&(u.get=l),(l=o(m.set))&&(u.set=l),(l=o(m.init))&&r.unshift(l)}else(l=o(m))&&(a==="field"?r.unshift(l):u[c]=l)}d&&Object.defineProperty(d,s.name,u),y=!0},Hn=function(n,e,t){for(var s=arguments.length>2,r=0;r<e.length;r++)t=s?e[r].call(n,t):e[r].call(n);return s?t:void 0},zn=function(n,e,t){if(e!=null){if(typeof e!="object"&&typeof e!="function")throw new TypeError("Object expected.");var s,r;if(t){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");s=e[Symbol.asyncDispose]}if(s===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");s=e[Symbol.dispose],t&&(r=s)}if(typeof s!="function")throw new TypeError("Object not disposable.");r&&(s=function(){try{r.call(this)}catch(i){return Promise.reject(i)}}),n.stack.push({value:e,dispose:s,async:t})}else t&&n.stack.push({async:!0});return e},Wn=(function(n){return function(e){function t(o){e.error=e.hasError?new n(o,e.error,"An error was suppressed during disposal."):o,e.hasError=!0}var s,r=0;function i(){for(;s=e.stack.pop();)try{if(!s.async&&r===1)return r=0,e.stack.push(s),Promise.resolve().then(i);if(s.dispose){var o=s.dispose.call(s.value);if(s.async)return r|=2,Promise.resolve(o).then(i,function(a){return t(a),i()})}else r|=1}catch(a){t(a)}if(r===1)return e.hasError?Promise.reject(e.error):Promise.resolve();if(e.hasError)throw e.error}return i()}})(typeof SuppressedError=="function"?SuppressedError:function(n,e,t){var s=new Error(t);return s.name="SuppressedError",s.error=n,s.suppressed=e,s}),tr=(()=>{let n=Wi,e,t=[],s=[];return class Kn extends n{static{let i=typeof Symbol=="function"&&Symbol.metadata?Object.create(n[Symbol.metadata]??null):void 0;e=[fe()],ea(this,null,e,{kind:"accessor",name:"trustedEmitter",static:!1,private:!1,access:{has:o=>"trustedEmitter"in o,get:o=>o.trustedEmitter,set:(o,a)=>{o.trustedEmitter=a}},metadata:i},t,s),i&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:i})}static from(i,o,a){let c=new Kn(i,o,a);return c.#n(),c}#e=Hn(this,t,new P);get trustedEmitter(){return this.#e}set trustedEmitter(i){this.#e=i}#t=Hn(this,s);#s;#r=null;#i=new Set;keyboard;mouse;touchscreen;tracing;get webmcp(){throw new b}coverage;#o;#a;#d=new Set;_client(){return this.#s.client}constructor(i,o,a){super(a),this.#t=i,this.#s=jn.from(this,o,a),this.#o=new en(this.#s.client,a),this.tracing=new rn(this.#s.client,a),this.coverage=new Qi(this.#s.client),this.keyboard=new Ys(this),this.mouse=new Zs(this),this.touchscreen=new Qs(this)}#n(){this.#s.browsingContext.on("closed",()=>{this.trustedEmitter.emit("close",void 0),this.trustedEmitter.removeAllListeners()}),this.trustedEmitter.on("workercreated",i=>{this.#i.add(i)}),this.trustedEmitter.on("workerdestroyed",i=>{this.#i.delete(i)})}async setUserAgent(i,o){let a,c,d;typeof i=="string"?(a=i,c=o):(a=i.userAgent??null,c=i.userAgentMetadata,d=i.platform===""?void 0:i.platform),a===""&&(a=null),await this.#s.browsingContext.setUserAgent(a),d&&d!==""&&(c=c??{},c.platform=d),await this.#s.browsingContext.setClientHintsOverride(c??null)}async setBypassCSP(i){await this._client().send("Page.setBypassCSP",{enabled:i})}async queryObjects(i){q(!i.disposed,"Prototype JSHandle is disposed!"),q(i.id,"Prototype JSHandle must not be referencing primitive value");let o=await this.#s.client.send("Runtime.queryObjects",{prototypeObjectId:i.id});return this.#s.mainRealm().createHandle({type:"array",handle:o.objects.objectId})}browser(){return this.browserContext().browser()}browserContext(){return this.#t}mainFrame(){return this.#s}async triggerExtensionAction(i){throw new b}async emulateFocusedPage(i){return await this.#o.emulateFocus(i)}resize(i){throw new b}async windowId(){return this.#s.browsingContext.windowId}openDevTools(){throw new b}hasDevTools(){throw new b}async focusedFrame(){let i={stack:[],error:void 0,hasError:!1};try{let a=zn(i,await this.mainFrame().isolatedRealm().evaluateHandle(()=>{let d=window;for(;(d.document.activeElement instanceof d.HTMLIFrameElement||d.document.activeElement instanceof d.HTMLFrameElement)&&d.document.activeElement.contentWindow!==null;)d=d.document.activeElement.contentWindow;return d}),!1).remoteValue();q(a.type==="window");let c=this.frames().find(d=>d._id===a.value.context);return q(c),c}catch(o){i.error=o,i.hasError=!0}finally{Wn(i)}}frames(){let i=[this.#s];for(let o of i)i.push(...o.childFrames());return i}isClosed(){return this.#s.detached}async close(i){let o={stack:[],error:void 0,hasError:!1};try{let a=zn(o,await this.#t.waitForScreenshotOperations(),!1);try{await this.#s.browsingContext.close(i?.runBeforeUnload)}catch{return}}catch(a){o.error=a,o.hasError=!0}finally{Wn(o)}}async reload(i={}){let[o]=await Promise.all([this.#s.waitForNavigation(i),this.#s.browsingContext.reload({ignoreCache:i.ignoreCache?!0:void 0})]).catch(Vs(this.url(),i.timeout??this._timeoutSettings.navigationTimeout()));return o}setDefaultNavigationTimeout(i){this._timeoutSettings.setDefaultNavigationTimeout(i)}setDefaultTimeout(i){this._timeoutSettings.setDefaultTimeout(i)}getDefaultTimeout(){return this._timeoutSettings.timeout()}getDefaultNavigationTimeout(){return this._timeoutSettings.navigationTimeout()}isJavaScriptEnabled(){return this.#s.browsingContext.isJavaScriptEnabled()}async setGeolocation(i){let{longitude:o,latitude:a,accuracy:c=0}=i;if(o<-180||o>180)throw new Error(`Invalid longitude "${o}": precondition -180 <= LONGITUDE <= 180 failed.`);if(a<-90||a>90)throw new Error(`Invalid latitude "${a}": precondition -90 <= LATITUDE <= 90 failed.`);if(c<0)throw new Error(`Invalid accuracy "${c}": precondition 0 <= ACCURACY failed.`);return await this.#s.browsingContext.setGeolocationOverride({coordinates:{latitude:i.latitude,longitude:i.longitude,accuracy:i.accuracy}})}async setJavaScriptEnabled(i){return await this.#s.browsingContext.setJavaScriptEnabled(i)}async emulateMediaType(i){return await this.#o.emulateMediaType(i)}async emulateCPUThrottling(i){return await this.#o.emulateCPUThrottling(i)}async emulateMediaFeatures(i){return await this.#o.emulateMediaFeatures(i)}async emulateTimezone(i){return await this.#s.browsingContext.setTimezoneOverride(i)}async emulateLocale(i){return await this.#s.browsingContext.setLocaleOverride(i)}async emulateIdleState(i){return await this.#o.emulateIdleState(i)}async emulateVisionDeficiency(i){return await this.#o.emulateVisionDeficiency(i)}async setViewport(i){let o=!1;if(this.browser().cdpSupported)o=await this.#o.emulateViewport(i);else{let a=i?.width&&i?.height?{width:i.width,height:i.height}:null,c=i?.deviceScaleFactor?i.deviceScaleFactor:null,d=i?i.isLandscape?{natural:"landscape",type:"landscape-primary"}:{natural:"portrait",type:"portrait-primary"}:null,u=[this.#s.browsingContext.setViewport({viewport:a,devicePixelRatio:c}),this.#s.browsingContext.setScreenOrientationOverride(d)];if((this.#r?.hasTouch??!1)!==(i?.hasTouch??!1)){o=!0;let l=i?.hasTouch?1:null;u.push(this.#s.browsingContext.setTouchOverride(l).catch(y=>{if(!(y instanceof ne&&(y.message.includes("unknown command")||y.message.includes("unsupported operation"))))throw y}))}await Promise.all(u)}this.#r=i,o&&await this.reload()}viewport(){return this.#r}async pdf(i={}){let{timeout:o=this._timeoutSettings.timeout(),path:a=void 0}=i,{printBackground:c,margin:d,landscape:u,width:l,height:y,pageRanges:f,scale:h,preferCSSPageSize:p}=Ci(i,"cm"),m=f?f.split(", "):[];await Re(or(this.mainFrame().isolatedRealm().evaluate(()=>document.fonts.ready)).pipe(ie(Be(o))));let v=await Re(or(this.#s.browsingContext.print({background:c,margin:d,orientation:u?"landscape":"portrait",page:{width:l,height:y},pageRanges:m,scale:h,shrinkToFit:!p})).pipe(ie(Be(o)))),I=Ct(v,!0);return await this._maybeWriteTypedArrayToFile(a,I),I}async createPDFStream(i){let o=await this.pdf(i);return new ReadableStream({start(a){a.enqueue(o),a.close()}})}async _screenshot(i){let{clip:o,type:a,captureBeyondViewport:c,quality:d}=i;if(i.omitBackground!==void 0&&i.omitBackground)throw new b("BiDi does not support 'omitBackground'.");if(i.optimizeForSpeed!==void 0&&i.optimizeForSpeed)throw new b("BiDi does not support 'optimizeForSpeed'.");if(i.fromSurface!==void 0&&!i.fromSurface)throw new b("BiDi does not support 'fromSurface'.");if(o!==void 0&&o.scale!==void 0&&o.scale!==1)throw new b("BiDi does not support 'scale' in 'clip'.");let u;if(o)if(c)u=o;else{let[y,f]=await this.evaluate(()=>{if(!window.visualViewport)throw new Error("window.visualViewport is not supported.");return[window.visualViewport.pageLeft,window.visualViewport.pageTop]});u={...o,x:o.x-y,y:o.y-f}}return await this.#s.browsingContext.captureScreenshot({origin:c?"document":"viewport",format:{type:`image/${a}`,...d!==void 0?{quality:d/100}:{}},...u?{clip:{type:"box",...u}}:{}})}async createCDPSession(){return await this.#s.createCDPSession()}async bringToFront(){await this.#s.browsingContext.activate()}async evaluateOnNewDocument(i,...o){let a=ta(i,...o);return{identifier:await this.#s.browsingContext.addPreloadScript(a)}}async removeScriptToEvaluateOnNewDocument(i){await this.#s.browsingContext.removePreloadScript(i)}async exposeFunction(i,o){return await this.mainFrame().exposeFunction(i,"default"in o?o.default:o)}isDragInterceptionEnabled(){return!1}async setCacheEnabled(i){if(!this.#t.browser().cdpSupported){await this.#s.browsingContext.setCacheBehavior(i?"default":"bypass");return}await this._client().send("Network.setCacheDisabled",{cacheDisabled:!i})}async cookies(...i){let o=(i.length?i:[this.url()]).map(c=>new URL(c));return(await this.#s.browsingContext.getCookies()).map(c=>Gr(c)).filter(c=>o.some(d=>ia(c,d)))}isServiceWorkerBypassed(){throw new b}target(){let i=this.browserContext().getTargetForPage(this);if(!i)throw new Error("Target not found for page");return i}async waitForFileChooser(i={}){let{timeout:o=this._timeoutSettings.timeout()}=i,a=Fe.create({message:`Waiting for \`FileChooser\` failed: ${o}ms exceeded`,timeout:o});this.#d.add(a),i.signal&&i.signal.addEventListener("abort",()=>{a.reject(i.signal?.reason)},{once:!0}),this.#s.browsingContext.once("filedialogopened",c=>{if(!c.element)return;let d=new Yi(te.from({sharedId:c.element.sharedId,handle:c.element.handle,type:"node"},this.#s.mainRealm()),c.multiple);for(let u of this.#d)u.resolve(d),this.#d.delete(u)});try{return await a.valueOrThrow()}catch(c){throw this.#d.delete(a),c}}workers(){return[...this.#i]}get isNetworkInterceptionEnabled(){return!!this.#l||!!this.#h}#l;async setRequestInterception(i){this.#l=await this.#c(["beforeRequestSent"],this.#l,i)}async setExtraHTTPHeaders(i){await this.#s.browsingContext.setExtraHTTPHeaders(i)}_credentials=null;#h;async authenticate(i){this.#h=await this.#c(["authRequired"],this.#h,!!i),this._credentials=i}async#c(i,o,a){if(a&&!o)return await this.#s.browsingContext.addIntercept({phases:i});if(!a&&o){await this.#s.browsingContext.userContext.browser.removeIntercept(o);return}return o}setDragInterception(){throw new b}setBypassServiceWorker(){throw new b}async setOfflineMode(i){return this.#t.browser().cdpSupported?(this.#a||(this.#a={offline:!1,upload:-1,download:-1,latency:0}),this.#a.offline=i,await this.#f()):await this.#s.browsingContext.setOfflineMode(i)}async emulateNetworkConditions(i){if(!this.#t.browser().cdpSupported){if(!i?.offline&&((i?.upload??-1)>=0||(i?.download??-1)>=0||(i?.latency??0)>0))throw new b;return await this.#s.browsingContext.setOfflineMode(i?.offline??!1)}return this.#a||(this.#a={offline:i?.offline??!1,upload:-1,download:-1,latency:0}),this.#a.upload=i?i.upload:-1,this.#a.download=i?i.download:-1,this.#a.latency=i?i.latency:0,this.#a.offline=i?.offline??!1,await this.#f()}async#f(){this.#a&&await this._client().send("Network.emulateNetworkConditions",{offline:this.#a.offline,latency:this.#a.latency,uploadThroughput:this.#a.upload,downloadThroughput:this.#a.download})}async setCookie(...i){let o=this.url(),a=o.startsWith("http");for(let c of i){let d=c.url||"";!d&&a&&(d=o),q(d!=="about:blank",`Blank page can not have cookie "${c.name}"`),q(!String.prototype.startsWith.call(d||"","data:"),`Data URL page can not have cookie "${c.name}"`),q(c.partitionKey===void 0||typeof c.partitionKey=="string","BiDi only allows domain partition keys");let u=URL.canParse(d)?new URL(d):void 0,l=c.domain??u?.hostname;q(l!==void 0,"At least one of the url and domain needs to be specified");let y={domain:l,name:c.name,value:{type:"string",value:c.value},...c.path!==void 0?{path:c.path}:{},...c.httpOnly!==void 0?{httpOnly:c.httpOnly}:{},...c.secure!==void 0?{secure:c.secure}:{},...c.sameSite!==void 0?{sameSite:Jr(c.sameSite)}:{},expiry:Yr(c.expires),...Xr(c,"sourceScheme","priority","url")};c.partitionKey!==void 0?await this.browserContext().userContext.setCookie(y,c.partitionKey):await this.#s.browsingContext.setCookie(y)}}async deleteCookie(...i){await Promise.all(i.map(async o=>{let a=o.url??this.url(),c=URL.canParse(a)?new URL(a):void 0,d=o.domain??c?.hostname;q(d!==void 0,"At least one of the url and domain needs to be specified");let u={domain:d,name:o.name,...o.path!==void 0?{path:o.path}:{}};await this.#s.browsingContext.deleteCookie(u)}))}async removeExposedFunction(i){await this.#s.removeExposedFunction(i)}metrics(){throw new b}async captureHeapSnapshot(i){throw new b}async goBack(i={}){return await this.#p(-1,i)}async goForward(i={}){return await this.#p(1,i)}async#p(i,o){let a=new AbortController;try{let[c]=await Promise.all([this.waitForNavigation({...o,signal:a.signal}),this.#s.browsingContext.traverseHistory(i)]);return c}catch(c){throw a.abort(),c}}async waitForDevicePrompt(i={}){return await this.mainFrame().waitForDevicePrompt(i)}get bluetooth(){return this.mainFrame().browsingContext.bluetooth}extensionRealms(){throw new b}createScreenRecording(i){return new $n(this,i,this.logger)}}})();function ta(n,...e){return`() => {${xi(n,...e)}}`}function sa(n,e){let t=n.domain.toLowerCase(),s=e.hostname.toLowerCase();return t===s?!0:t.startsWith(".")&&s.endsWith(t)}function ra(n,e){let t=e.pathname,s=n.path;return!!(t===s||t.startsWith(s)&&(s.endsWith("/")||t[s.length]==="/"))}function ia(n,e){let t=new URL(e);return q(n!==void 0),sa(n,t)?ra(n,t):!1}function Gr(n,e=!1){let t=n[er+"partitionKey"];function s(){return typeof t=="string"?{partitionKey:t}:typeof t=="object"&&t!==null?e?{partitionKey:{sourceOrigin:t.topLevelSite,hasCrossSiteAncestor:t.hasCrossSiteAncestor??!1}}:{partitionKey:t.topLevelSite}:{}}return{name:n.name,value:n.value.value,domain:n.domain,path:n.path,size:n.size,httpOnly:n.httpOnly,secure:n.secure,sameSite:oa(n.sameSite),expires:n.expiry??-1,session:n.expiry===void 0||n.expiry<=0,...na(n,"sourceScheme","partitionKeyOpaque","priority"),...s()}}var er="goog:";function na(n,...e){let t={};for(let s of e)n[er+s]!==void 0&&(t[s]=n[er+s]);return t}function Xr(n,...e){let t={};for(let s of e)n[s]!==void 0&&(t[er+s]=n[s]);return t}function oa(n){switch(n){case"strict":return"Strict";case"lax":return"Lax";case"none":return"None";default:return"Default"}}function Jr(n){switch(n){case"Strict":return"strict";case"Lax":return"lax";case"None":return"none";default:return"default"}}function Yr(n){return[void 0,-1].includes(n)?void 0:n}function Vn(n){if(n===void 0||typeof n=="string")return n;if(n.hasCrossSiteAncestor)throw new b("WebDriver BiDi does not support `hasCrossSiteAncestor` yet.");return n.sourceOrigin}var sr=class extends et{#e;constructor(e,t){super(t),this.#e=e}asPage(){throw new b}url(){return""}createCDPSession(){throw new b}type(){return Qe.BROWSER}browser(){return this.#e}browserContext(){return this.#e.defaultBrowserContext()}opener(){throw new b}},rr=class extends et{#e;constructor(e,t){super(t),this.#e=e}async page(){return this.#e}async asPage(){return await this.page()}url(){return this.#e.url()}createCDPSession(){return this.#e.createCDPSession()}type(){return Qe.PAGE}browser(){return this.browserContext().browser()}browserContext(){return this.#e.browserContext()}opener(){throw new b}},ir=class extends et{#e;#t;constructor(e,t){super(t),this.#e=e}async page(){return this.#t===void 0&&(this.#t=tr.from(this.browserContext(),this.#e.browsingContext,this.logger)),this.#t}async asPage(){return await this.page()}url(){return this.#e.url()}createCDPSession(){return this.#e.createCDPSession()}type(){return Qe.PAGE}browser(){return this.browserContext().browser()}browserContext(){return this.#e.page().browserContext()}opener(){throw new b}},nr=class extends et{#e;constructor(e,t){super(t),this.#e=e}async page(){throw new b}async asPage(){throw new b}url(){return this.#e.url()}createCDPSession(){throw new b}type(){return Qe.OTHER}browser(){return this.browserContext().browser()}browserContext(){return this.#e.frame.page().browserContext()}opener(){throw new b}};var aa=function(n,e,t,s,r,i){function o(v){if(v!==void 0&&typeof v!="function")throw new TypeError("Function expected");return v}for(var a=s.kind,c=a==="getter"?"get":a==="setter"?"set":"value",d=!e&&n?s.static?n:n.prototype:null,u=e||(d?Object.getOwnPropertyDescriptor(d,s.name):{}),l,y=!1,f=t.length-1;f>=0;f--){var h={};for(var p in s)h[p]=p==="access"?{}:s[p];for(var p in s.access)h.access[p]=s.access[p];h.addInitializer=function(v){if(y)throw new TypeError("Cannot add initializers after decoration has completed");i.push(o(v||null))};var m=(0,t[f])(a==="accessor"?{get:u.get,set:u.set}:u[c],h);if(a==="accessor"){if(m===void 0)continue;if(m===null||typeof m!="object")throw new TypeError("Object expected");(l=o(m.get))&&(u.get=l),(l=o(m.set))&&(u.set=l),(l=o(m.init))&&r.unshift(l)}else(l=o(m))&&(a==="field"?r.unshift(l):u[c]=l)}d&&Object.defineProperty(d,s.name,u),y=!0},Gn=function(n,e,t){for(var s=arguments.length>2,r=0;r<e.length;r++)t=s?e[r].call(n,t):e[r].call(n);return s?t:void 0},ca=function(n,e,t){if(e!=null){if(typeof e!="object"&&typeof e!="function")throw new TypeError("Object expected.");var s,r;if(t){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");s=e[Symbol.asyncDispose]}if(s===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");s=e[Symbol.dispose],t&&(r=s)}if(typeof s!="function")throw new TypeError("Object not disposable.");r&&(s=function(){try{r.call(this)}catch(i){return Promise.reject(i)}}),n.stack.push({value:e,dispose:s,async:t})}else t&&n.stack.push({async:!0});return e},da=(function(n){return function(e){function t(o){e.error=e.hasError?new n(o,e.error,"An error was suppressed during disposal."):o,e.hasError=!0}var s,r=0;function i(){for(;s=e.stack.pop();)try{if(!s.async&&r===1)return r=0,e.stack.push(s),Promise.resolve().then(i);if(s.dispose){var o=s.dispose.call(s.value);if(s.async)return r|=2,Promise.resolve(o).then(i,function(a){return t(a),i()})}else r|=1}catch(a){t(a)}if(r===1)return e.hasError?Promise.reject(e.error):Promise.resolve();if(e.hasError)throw e.error}return i()}})(typeof SuppressedError=="function"?SuppressedError:function(n,e,t){var s=new Error(t);return s.name="SuppressedError",s.error=n,s.suppressed=e,s}),Xn=(()=>{let n=Pi,e,t=[],s=[];return class Jn extends n{static{let i=typeof Symbol=="function"&&Symbol.metadata?Object.create(n[Symbol.metadata]??null):void 0;e=[fe()],aa(this,null,e,{kind:"accessor",name:"trustedEmitter",static:!1,private:!1,access:{has:o=>"trustedEmitter"in o,get:o=>o.trustedEmitter,set:(o,a)=>{o.trustedEmitter=a}},metadata:i},t,s),i&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:i})}static from(i,o,a,c){let d=new Jn(i,o,a,c);return d.#d(),d}#e=Gn(this,t,new P);get trustedEmitter(){return this.#e}set trustedEmitter(i){this.#e=i}#t=Gn(this,s);#s;userContext;#r=new WeakMap;#i=new Map;#o=[];#a;constructor(i,o,a,c){super(c),this.#t=i,this.userContext=o,this.#s=a.defaultViewport,this.#a=c}#d(){for(let i of this.userContext.browsingContexts)this.#n(i);this.userContext.on("browsingcontext",i=>{let o=this.#n(i);if(i.originalOpener)for(let a of this.userContext.browsingContexts)a.id===i.originalOpener&&this.#r.get(a).trustedEmitter.emit("popup",o)}),this.userContext.on("closed",()=>{this.trustedEmitter.removeAllListeners()})}#n(i){let o=tr.from(this,i,this.#a);this.#r.set(i,o),o.trustedEmitter.on("close",()=>{this.#r.delete(i)});let a=new rr(o,this.#a),c=new Map;return this.#i.set(o,[a,c]),o.trustedEmitter.on("frameattached",d=>{let u=d,l=new ir(u,this.#a);c.set(u,l),this.trustedEmitter.emit("targetcreated",l)}),o.trustedEmitter.on("framenavigated",d=>{let u=d,l=c.get(u);l===void 0?this.trustedEmitter.emit("targetchanged",a):this.trustedEmitter.emit("targetchanged",l)}),o.trustedEmitter.on("framedetached",d=>{let u=d,l=c.get(u);l!==void 0&&(c.delete(u),this.trustedEmitter.emit("targetdestroyed",l))}),o.trustedEmitter.on("workercreated",d=>{let u=d,l=new nr(u,this.#a);c.set(u,l),this.trustedEmitter.emit("targetcreated",l)}),o.trustedEmitter.on("workerdestroyed",d=>{let u=d,l=c.get(u);l!==void 0&&(c.delete(d),this.trustedEmitter.emit("targetdestroyed",l))}),o.trustedEmitter.on("close",()=>{this.#i.delete(o),this.trustedEmitter.emit("targetdestroyed",a)}),this.trustedEmitter.emit("targetcreated",a),o}targets(){return[...this.#i.values()].flatMap(([i,o])=>[i,...o.values()])}getTargetForPage(i){return this.#i.get(i)?.[0]}async newPage(i){let o={stack:[],error:void 0,hasError:!1};try{let a=ca(o,await this.waitForScreenshotOperations(),!1),c=i?.type==="window"?"window":"tab",d=await this.userContext.createBrowsingContext(c,{background:i?.background}),u=this.#r.get(d);if(!u)throw new Error("Page is not found");if(this.#s)try{await u.setViewport(this.#s)}catch(l){this.#a?.(T.error)?.(l)}if(i?.type==="window"&&i?.windowBounds!==void 0)try{await this.browser().setWindowBounds(d.windowId,i.windowBounds)}catch(l){this.#a?.(T.error)?.(l)}return u}catch(a){o.error=a,o.hasError=!0}finally{da(o)}}async close(){q(this.userContext.id!==Xe.DEFAULT,"Default BrowserContext cannot be closed!");try{await this.userContext.remove()}catch(i){this.#a?.(T.error)?.(i)}this.#i.clear()}browser(){return this.#t}async pages(i=!1){return[...this.userContext.browsingContexts].map(o=>this.#r.get(o))}async overridePermissions(i,o){let a=new Set(o.map(c=>{if(!dr.get(c))throw new Error("Unknown permission: "+c);return c}));await Promise.all(Array.from(dr.keys()).map(c=>{let d=this.userContext.setPermissions(i,{name:c},a.has(c)?"granted":"denied");return this.#o.push({origin:i,permission:c}),a.has(c)?d:d.catch(u=>{this.#a?.(T.error)?.(u)})}))}async setPermission(i,...o){if(i==="*")throw new b("Origin (*) is not supported by WebDriver BiDi");await Promise.all(o.map(a=>{if(a.permission.allowWithoutSanitization)throw new b("allowWithoutSanitization is not supported by WebDriver BiDi");if(a.permission.panTiltZoom)throw new b("panTiltZoom is not supported by WebDriver BiDi");if(a.permission.userVisibleOnly)throw new b("userVisibleOnly is not supported by WebDriver BiDi");return this.userContext.setPermissions(i,{name:a.permission.name},a.state)}))}async clearPermissionOverrides(){let i=this.#o.map(({permission:o,origin:a})=>this.userContext.setPermissions(a,{name:o},"prompt").catch(c=>{this.#a?.(T.error)?.(c)}));this.#o=[],await Promise.all(i)}get id(){if(this.userContext.id!==Xe.DEFAULT)return this.userContext.id}async cookies(){return(await this.userContext.getCookies()).map(o=>Gr(o,!0))}async setCookie(...i){await Promise.all(i.map(async o=>{let a={domain:o.domain,name:o.name,value:{type:"string",value:o.value},...o.path!==void 0?{path:o.path}:{},...o.httpOnly!==void 0?{httpOnly:o.httpOnly}:{},...o.secure!==void 0?{secure:o.secure}:{},...o.sameSite!==void 0?{sameSite:Jr(o.sameSite)}:{},expiry:Yr(o.expires),...Xr(o,"sourceScheme","priority","url")};return await this.userContext.setCookie(a,Vn(o.partitionKey))}))}}})();var ua=function(n,e,t){for(var s=arguments.length>2,r=0;r<e.length;r++)t=s?e[r].call(n,t):e[r].call(n);return s?t:void 0},se=function(n,e,t,s,r,i){function o(v){if(v!==void 0&&typeof v!="function")throw new TypeError("Function expected");return v}for(var a=s.kind,c=a==="getter"?"get":a==="setter"?"set":"value",d=!e&&n?s.static?n:n.prototype:null,u=e||(d?Object.getOwnPropertyDescriptor(d,s.name):{}),l,y=!1,f=t.length-1;f>=0;f--){var h={};for(var p in s)h[p]=p==="access"?{}:s[p];for(var p in s.access)h.access[p]=s.access[p];h.addInitializer=function(v){if(y)throw new TypeError("Cannot add initializers after decoration has completed");i.push(o(v||null))};var m=(0,t[f])(a==="accessor"?{get:u.get,set:u.set}:u[c],h);if(a==="accessor"){if(m===void 0)continue;if(m===null||typeof m!="object")throw new TypeError("Object expected");(l=o(m.get))&&(u.get=l),(l=o(m.set))&&(u.set=l),(l=o(m.init))&&r.unshift(l)}else(l=o(m))&&(a==="field"?r.unshift(l):u[c]=l)}d&&Object.defineProperty(d,s.name,u),y=!0},la=function(n,e,t){if(e!=null){if(typeof e!="object"&&typeof e!="function")throw new TypeError("Object expected.");var s,r;if(t){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");s=e[Symbol.asyncDispose]}if(s===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");s=e[Symbol.dispose],t&&(r=s)}if(typeof s!="function")throw new TypeError("Object not disposable.");r&&(s=function(){try{r.call(this)}catch(i){return Promise.reject(i)}}),n.stack.push({value:e,dispose:s,async:t})}else t&&n.stack.push({async:!0});return e},ha=(function(n){return function(e){function t(o){e.error=e.hasError?new n(o,e.error,"An error was suppressed during disposal."):o,e.hasError=!0}var s,r=0;function i(){for(;s=e.stack.pop();)try{if(!s.async&&r===1)return r=0,e.stack.push(s),Promise.resolve().then(i);if(s.dispose){var o=s.dispose.call(s.value);if(s.async)return r|=2,Promise.resolve(o).then(i,function(a){return t(a),i()})}else r|=1}catch(a){t(a)}if(r===1)return e.hasError?Promise.reject(e.error):Promise.resolve();if(e.hasError)throw e.error}return i()}})(typeof SuppressedError=="function"?SuppressedError:function(n,e,t){var s=new Error(t);return s.name="SuppressedError",s.error=n,s.suppressed=e,s}),Yn=(()=>{let n=P,e=[],t,s,r,i,o,a,c,d,u,l;return class Zn extends n{static{let f=typeof Symbol=="function"&&Symbol.metadata?Object.create(n[Symbol.metadata]??null):void 0;se(this,null,t,{kind:"method",name:"dispose",static:!1,private:!1,access:{has:h=>"dispose"in h,get:h=>h.dispose},metadata:f},null,e),se(this,null,s,{kind:"method",name:"close",static:!1,private:!1,access:{has:h=>"close"in h,get:h=>h.close},metadata:f},null,e),se(this,null,r,{kind:"method",name:"addPreloadScript",static:!1,private:!1,access:{has:h=>"addPreloadScript"in h,get:h=>h.addPreloadScript},metadata:f},null,e),se(this,null,i,{kind:"method",name:"removeIntercept",static:!1,private:!1,access:{has:h=>"removeIntercept"in h,get:h=>h.removeIntercept},metadata:f},null,e),se(this,null,o,{kind:"method",name:"removePreloadScript",static:!1,private:!1,access:{has:h=>"removePreloadScript"in h,get:h=>h.removePreloadScript},metadata:f},null,e),se(this,null,a,{kind:"method",name:"createUserContext",static:!1,private:!1,access:{has:h=>"createUserContext"in h,get:h=>h.createUserContext},metadata:f},null,e),se(this,null,c,{kind:"method",name:"installExtension",static:!1,private:!1,access:{has:h=>"installExtension"in h,get:h=>h.installExtension},metadata:f},null,e),se(this,null,d,{kind:"method",name:"uninstallExtension",static:!1,private:!1,access:{has:h=>"uninstallExtension"in h,get:h=>h.uninstallExtension},metadata:f},null,e),se(this,null,u,{kind:"method",name:"setClientWindowState",static:!1,private:!1,access:{has:h=>"setClientWindowState"in h,get:h=>h.setClientWindowState},metadata:f},null,e),se(this,null,l,{kind:"method",name:"getClientWindowInfo",static:!1,private:!1,access:{has:h=>"getClientWindowInfo"in h,get:h=>h.getClientWindowInfo},metadata:f},null,e),f&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:f})}static async from(f){let h=new Zn(f);return await h.#o(),h}#e=(ua(this,e),!1);#t;#s=new L;#r=new Map;session;#i=new Map;constructor(f){super(),this.session=f}async#o(){let f=this.#s.use(new P(this.session));f.once("ended",h=>{this.dispose(h)}),f.on("script.realmCreated",h=>{h.type==="shared-worker"&&this.#i.set(h.realm,js.from(this,h.realm,h.origin))}),await this.#a(),await this.#d()}async#a(){let{result:{userContexts:f}}=await this.session.send("browser.getUserContexts",{});for(let h of f)this.#n(h.userContext)}async#d(){let f=new Set,h;{let p={stack:[],error:void 0,hasError:!1};try{la(p,new P(this.session),!1).on("browsingContext.contextCreated",I=>{f.add(I.context)});let{result:v}=await this.session.send("browsingContext.getTree",{});h=v.contexts}catch(m){p.error=m,p.hasError=!0}finally{ha(p)}}for(let p of h)f.has(p.context)||this.session.emit("browsingContext.contextCreated",p),p.children&&h.push(...p.children)}#n(f){let h=Xe.create(this,f);this.#r.set(h.id,h);let p=this.#s.use(new P(h));return p.once("closed",()=>{p.removeAllListeners(),this.#r.delete(h.id)}),h}get closed(){return this.#e}get defaultUserContext(){return this.#r.get(Xe.DEFAULT)}get disconnected(){return this.#t!==void 0}get disposed(){return this.disconnected}get userContexts(){return this.#r.values()}dispose(f,h=!1){this.#e=h,this.#t=f,this[D]()}async close(){try{await this.session.send("browser.close",{})}finally{this.dispose("Browser already closed.",!0)}}async addPreloadScript(f,h={}){let{result:{script:p}}=await this.session.send("script.addPreloadScript",{functionDeclaration:f,...h,contexts:h.contexts?.map(m=>m.id)});return p}async removeIntercept(f){await this.session.send("network.removeIntercept",{intercept:f})}async removePreloadScript(f){await this.session.send("script.removePreloadScript",{script:f})}async createUserContext(f){let h=f.proxyServer===void 0?void 0:{proxyType:"manual",httpProxy:f.proxyServer,sslProxy:f.proxyServer,noProxy:f.proxyBypassList},{result:{userContext:p}}=await this.session.send("browser.createUserContext",{proxy:h});if(f.downloadBehavior?.policy==="allowAndName")throw new b("`allowAndName` is not supported in WebDriver BiDi");if(f.downloadBehavior?.policy==="allow"){if(f.downloadBehavior.downloadPath===void 0)throw new b("`downloadPath` is required in `allow` download behavior");await this.session.send("browser.setDownloadBehavior",{downloadBehavior:{type:"allowed",destinationFolder:f.downloadBehavior.downloadPath},userContexts:[p]})}return f.downloadBehavior?.policy==="deny"&&await this.session.send("browser.setDownloadBehavior",{downloadBehavior:{type:"denied"},userContexts:[p]}),this.#n(p)}async installExtension(f){let{result:{extension:h}}=await this.session.send("webExtension.install",{extensionData:{type:"path",path:f}});return h}async uninstallExtension(f){await this.session.send("webExtension.uninstall",{extension:f})}async setClientWindowState(f){await this.session.send("browser.setClientWindowState",f)}async getClientWindowInfo(f){let{result:{clientWindows:h}}=await this.session.send("browser.getClientWindows",{}),p=h.find(m=>m.clientWindow===f);if(!p)throw new Error("Window not found");return p}[(t=[j],s=[E(f=>f.#t)],r=[E(f=>f.#t)],i=[E(f=>f.#t)],o=[E(f=>f.#t)],a=[E(f=>f.#t)],c=[E(f=>f.#t)],d=[E(f=>f.#t)],u=[E(f=>f.#t)],l=[E(f=>f.#t)],D)](){this.#t??="Browser was disconnected, probably because the session ended.",this.closed&&this.emit("closed",this.#t),this.emit("disconnected",this.#t),this.#s.dispose(),super[D]()}}})();var Zr=function(n,e,t){for(var s=arguments.length>2,r=0;r<e.length;r++)t=s?e[r].call(n,t):e[r].call(n);return s?t:void 0},Je=function(n,e,t,s,r,i){function o(v){if(v!==void 0&&typeof v!="function")throw new TypeError("Function expected");return v}for(var a=s.kind,c=a==="getter"?"get":a==="setter"?"set":"value",d=!e&&n?s.static?n:n.prototype:null,u=e||(d?Object.getOwnPropertyDescriptor(d,s.name):{}),l,y=!1,f=t.length-1;f>=0;f--){var h={};for(var p in s)h[p]=p==="access"?{}:s[p];for(var p in s.access)h.access[p]=s.access[p];h.addInitializer=function(v){if(y)throw new TypeError("Cannot add initializers after decoration has completed");i.push(o(v||null))};var m=(0,t[f])(a==="accessor"?{get:u.get,set:u.set}:u[c],h);if(a==="accessor"){if(m===void 0)continue;if(m===null||typeof m!="object")throw new TypeError("Object expected");(l=o(m.get))&&(u.get=l),(l=o(m.set))&&(u.set=l),(l=o(m.init))&&r.unshift(l)}else(l=o(m))&&(a==="field"?r.unshift(l):u[c]=l)}d&&Object.defineProperty(d,s.name,u),y=!0},Qn=(()=>{let n=P,e=[],t,s=[],r=[],i,o,a,c,d;return class eo extends n{static{let l=typeof Symbol=="function"&&Symbol.metadata?Object.create(n[Symbol.metadata]??null):void 0;Je(this,null,t,{kind:"accessor",name:"connection",static:!1,private:!1,access:{has:y=>"connection"in y,get:y=>y.connection,set:(y,f)=>{y.connection=f}},metadata:l},s,r),Je(this,null,i,{kind:"method",name:"dispose",static:!1,private:!1,access:{has:y=>"dispose"in y,get:y=>y.dispose},metadata:l},null,e),Je(this,null,o,{kind:"method",name:"send",static:!1,private:!1,access:{has:y=>"send"in y,get:y=>y.send},metadata:l},null,e),Je(this,null,a,{kind:"method",name:"subscribe",static:!1,private:!1,access:{has:y=>"subscribe"in y,get:y=>y.subscribe},metadata:l},null,e),Je(this,null,c,{kind:"method",name:"addIntercepts",static:!1,private:!1,access:{has:y=>"addIntercepts"in y,get:y=>y.addIntercepts},metadata:l},null,e),Je(this,null,d,{kind:"method",name:"end",static:!1,private:!1,access:{has:y=>"end"in y,get:y=>y.end},metadata:l},null,e),l&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:l})}static async from(l,y){let{result:f}=await l.send("session.new",{capabilities:y}),h=new eo(l,f);return await h.#i(),h}#e=Zr(this,e);#t=new L;#s;browser;#r=Zr(this,s,void 0);get connection(){return this.#r}set connection(l){this.#r=l}constructor(l,y){super(),Zr(this,r),this.#s=y,this.connection=l}async#i(){this.browser=await Yn.from(this),this.#t.use(this.browser).once("closed",f=>{this.dispose(f)});let y=new WeakSet;this.on("browsingContext.fragmentNavigated",f=>{y.has(f)||(y.add(f),this.emit("browsingContext.navigationStarted",f),this.emit("browsingContext.fragmentNavigated",f))})}get capabilities(){return this.#s.capabilities}get disposed(){return this.ended}get ended(){return this.#e!==void 0}get id(){return this.#s.sessionId}dispose(l){this.#e=l,this[D]()}async send(l,y){return await this.connection.send(l,y)}async subscribe(l,y){await this.send("session.subscribe",{events:l,contexts:y})}async addIntercepts(l,y){await this.send("session.subscribe",{events:l,contexts:y})}async end(){try{await this.send("session.end",{})}finally{this.dispose("Session already ended.")}}[(t=[fe()],i=[j],o=[E(l=>l.#e)],a=[E(l=>l.#e)],c=[E(l=>l.#e)],d=[E(l=>l.#e)],D)](){this.#e??="Session already destroyed, probably because the connection broke.",this.emit("ended",this.#e),this.#t.dispose(),super[D]()}}})();var pa=function(n,e,t,s,r,i){function o(v){if(v!==void 0&&typeof v!="function")throw new TypeError("Function expected");return v}for(var a=s.kind,c=a==="getter"?"get":a==="setter"?"set":"value",d=!e&&n?s.static?n:n.prototype:null,u=e||(d?Object.getOwnPropertyDescriptor(d,s.name):{}),l,y=!1,f=t.length-1;f>=0;f--){var h={};for(var p in s)h[p]=p==="access"?{}:s[p];for(var p in s.access)h.access[p]=s.access[p];h.addInitializer=function(v){if(y)throw new TypeError("Cannot add initializers after decoration has completed");i.push(o(v||null))};var m=(0,t[f])(a==="accessor"?{get:u.get,set:u.set}:u[c],h);if(a==="accessor"){if(m===void 0)continue;if(m===null||typeof m!="object")throw new TypeError("Object expected");(l=o(m.get))&&(u.get=l),(l=o(m.set))&&(u.set=l),(l=o(m.init))&&r.unshift(l)}else(l=o(m))&&(a==="field"?r.unshift(l):u[c]=l)}d&&Object.defineProperty(d,s.name,u),y=!0},to=function(n,e,t){for(var s=arguments.length>2,r=0;r<e.length;r++)t=s?e[r].call(n,t):e[r].call(n);return s?t:void 0},so=function(n,e,t){return typeof e=="symbol"&&(e=e.description?"[".concat(e.description,"]"):""),Object.defineProperty(n,"name",{configurable:!0,value:t?"".concat(t," ",e):e})},om=(()=>{let n=Si,e,t=[],s=[],r;return class vt extends n{static{let o=typeof Symbol=="function"&&Symbol.metadata?Object.create(n[Symbol.metadata]??null):void 0;e=[fe()],pa(this,r={get:so(function(){return this.#e},"#trustedEmitter","get"),set:so(function(a){this.#e=a},"#trustedEmitter","set")},e,{kind:"accessor",name:"#trustedEmitter",static:!1,private:!0,access:{has:a=>#t in a,get:a=>a.#t,set:(a,c)=>{a.#t=c}},metadata:o},t,s),o&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:o})}protocol="webDriverBiDi";static subscribeModules=["browsingContext","network","log","script","input"];static subscribeCdpEvents=["goog:cdp.Debugger.scriptParsed","goog:cdp.CSS.styleSheetAdded","goog:cdp.Runtime.executionContextsCleared","goog:cdp.Tracing.tracingComplete","goog:cdp.Network.requestWillBeSent","goog:cdp.Debugger.scriptParsed","goog:cdp.Page.screencastFrame"];static async create(o){let a=await Qn.from(o.connection,{firstMatch:o.capabilities?.firstMatch,alwaysMatch:{...o.capabilities?.alwaysMatch,acceptInsecureCerts:o.acceptInsecureCerts,unhandledPromptBehavior:{default:"ignore"},webSocketUrl:!0,"goog:prerenderingDisabled":!0,"goog:disableNetworkDurableMessages":!0}});await a.subscribe((o.cdpConnection?[...vt.subscribeModules,...vt.subscribeCdpEvents]:vt.subscribeModules).filter(d=>o.networkEnabled?!0:d!=="network"&&d!=="goog:cdp.Network.requestWillBeSent")),await Promise.all(["request","response"].map(async d=>{try{await a.send("network.addDataCollector",{dataTypes:[d],maxEncodedDataSize:2e7})}catch(u){if(u instanceof ne)o.logger?.(T.error)?.(u);else throw u}}));let c=new vt(a.browser,o,o.logger);return c.#f(),c}#e=to(this,t,new P);get#t(){return r.get.call(this)}set#t(o){return r.set.call(this,o)}#s=to(this,s);#r;#i;#o;#a=new WeakMap;#d;#n;#l;#h;#c;constructor(o,a,c){super(c),this.#s=a.process,this.#r=a.closeCallback,this.#i=o,this.#o=a.defaultViewport,this.#n=a.cdpConnection,this.#l=a.networkEnabled,this.#h=a.issuesEnabled,this.#c=c,this.#d=new sr(this,c)}#f(){for(let o of this.#i.userContexts)this.#m(o);this.#i.once("disconnected",()=>{this.#t.emit("disconnected",void 0),this.#t.removeAllListeners()}),this.#s?.once("close",()=>{this.#i.dispose("Browser process exited.",!0),this.connection.dispose()})}get#p(){return this.#i.session.capabilities.browserName}get#u(){return this.#i.session.capabilities.browserVersion}get cdpSupported(){return this.#n!==void 0}get cdpConnection(){return this.#n}async userAgent(){return this.#i.session.capabilities.userAgent}#m(o){let a=Xn.from(this,o,{defaultViewport:this.#o},this.#c);return this.#a.set(o,a),a.trustedEmitter.on("targetcreated",c=>{this.#t.emit("targetcreated",c)}),a.trustedEmitter.on("targetchanged",c=>{this.#t.emit("targetchanged",c)}),a.trustedEmitter.on("targetdestroyed",c=>{this.#t.emit("targetdestroyed",c)}),a}get connection(){return this.#i.session.connection}wsEndpoint(){return this.connection.url}async close(){if(!this.connection.closed)try{await this.#i.close(),await this.#r?.call(null)}catch(o){this.#c?.(T.error)?.(o)}finally{this.connection.dispose()}}get connected(){return!this.#i.disconnected}process(){return this.#s??null}async createBrowserContext(o={}){let a=await this.#i.createUserContext(o);return this.#m(a)}async version(){return`${this.#p}/${this.#u}`}browserContexts(){return[...this.#i.userContexts].map(o=>this.#a.get(o))}defaultBrowserContext(){return this.#a.get(this.#i.defaultUserContext)}newPage(o){return this.defaultBrowserContext().newPage(o)}installExtension(o){return this.#i.installExtension(o)}async uninstallExtension(o){await this.#i.uninstallExtension(o)}installPWA(){throw new b}uninstallPWA(){throw new b}launchPWA(){throw new b}getPWAState(){throw new b}screens(){throw new b}addScreen(o){throw new b}removeScreen(o){throw new b}async getWindowBounds(o){let a=await this.#i.getClientWindowInfo(o);return{left:a.x,top:a.y,width:a.width,height:a.height,windowState:a.state}}async setWindowBounds(o,a){let c,d=a.windowState??"normal";d==="normal"?c={clientWindow:o,state:"normal",x:a.left,y:a.top,width:a.width,height:a.height}:c={clientWindow:o,state:d},await this.#i.setClientWindowState(c)}targets(){return[this.#d,...this.browserContexts().flatMap(o=>o.targets())]}target(){return this.#d}async disconnect(){try{await this.#i.session.end()}catch(o){this.#c?.(T.error)?.(o)}finally{this.connection.dispose()}}get debugInfo(){return{pendingProtocolErrors:this.connection.getPendingProtocolErrors()}}isNetworkEnabled(){return this.#l}extensions(){throw new b}isIssuesEnabled(){return this.#h}}})();export{om as BidiBrowser,Xn as BidiBrowserContext,As as BidiConnection,te as BidiElementHandle,jn as BidiFrame,ye as BidiFrameRealm,gt as BidiHTTPRequest,Hr as BidiHTTPResponse,Z as BidiJSHandle,Ys as BidiKeyboard,Zs as BidiMouse,tr as BidiPage,Gs as BidiRealm,$n as BidiScreenRecording,Qs as BidiTouchscreen,Xs as BidiWorkerRealm,Gr as bidiToPuppeteerCookie,Xr as cdpSpecificCookiePropertiesFromPuppeteerToBidi,Bl as connectBidiOverCdp,Yr as convertCookiesExpiryCdpToBiDi,Vn as convertCookiesPartitionKeyFromPuppeteerToBiDi,Jr as convertCookiesSameSiteCdpToBiDi,Wr as requests};