@browserless.io/browserless 2.34.0 → 2.36.0

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 (451) hide show
  1. package/CHANGELOG.md +28 -1
  2. package/build/limiter.js +1 -1
  3. package/build/routes/chrome/http/content.post.body.json +90 -1
  4. package/build/routes/chrome/http/pdf.post.body.json +90 -1
  5. package/build/routes/chrome/http/scrape.post.body.json +90 -1
  6. package/build/routes/chrome/http/scrape.post.response.json +21 -22
  7. package/build/routes/chrome/http/screenshot.post.body.json +90 -1
  8. package/build/routes/chromium/http/content.post.body.json +90 -1
  9. package/build/routes/chromium/http/pdf.post.body.json +90 -1
  10. package/build/routes/chromium/http/scrape.post.body.json +90 -1
  11. package/build/routes/chromium/http/scrape.post.response.json +21 -22
  12. package/build/routes/chromium/http/screenshot.post.body.json +90 -1
  13. package/build/routes/chromium/tests/scrape.spec.js +41 -0
  14. package/build/routes/edge/http/content.post.body.json +90 -1
  15. package/build/routes/edge/http/pdf.post.body.json +90 -1
  16. package/build/routes/edge/http/scrape.post.body.json +90 -1
  17. package/build/routes/edge/http/scrape.post.response.json +21 -22
  18. package/build/routes/edge/http/screenshot.post.body.json +90 -1
  19. package/build/sdk-utils.js +1 -1
  20. package/build/shared/scrape.http.js +13 -3
  21. package/docker/base/Dockerfile +8 -8
  22. package/docker/chrome/Dockerfile +2 -2
  23. package/docker/chromium/Dockerfile +2 -2
  24. package/docker/edge/Dockerfile +2 -2
  25. package/docker/firefox/Dockerfile +2 -2
  26. package/docker/multi/Dockerfile +2 -2
  27. package/docker/sdk/Dockerfile +1 -1
  28. package/docker/webkit/Dockerfile +2 -2
  29. package/extensions/ublocklite/README.md +1 -1
  30. package/extensions/ublocklite/_locales/br_FR/messages.json +1 -1
  31. package/extensions/ublocklite/_locales/bs/messages.json +58 -58
  32. package/extensions/ublocklite/_locales/he/messages.json +2 -2
  33. package/extensions/ublocklite/_locales/hu/messages.json +1 -1
  34. package/extensions/ublocklite/_locales/pt_BR/messages.json +1 -1
  35. package/extensions/ublocklite/_locales/pt_PT/messages.json +1 -1
  36. package/extensions/ublocklite/_locales/ro/messages.json +1 -1
  37. package/extensions/ublocklite/_locales/sk/messages.json +6 -6
  38. package/extensions/ublocklite/_locales/sq/messages.json +17 -17
  39. package/extensions/ublocklite/_locales/sr/messages.json +28 -28
  40. package/extensions/ublocklite/_locales/th/messages.json +1 -1
  41. package/extensions/ublocklite/_locales/tr/messages.json +1 -1
  42. package/extensions/ublocklite/_locales/vi/messages.json +1 -1
  43. package/extensions/ublocklite/css/common.css +5 -3
  44. package/extensions/ublocklite/css/default.css +10 -0
  45. package/extensions/ublocklite/css/unpicker-ui.css +1 -0
  46. package/extensions/ublocklite/js/background.js +5 -3
  47. package/extensions/ublocklite/js/dnr-parser.js +1 -1
  48. package/extensions/ublocklite/js/fetch.js +1 -1
  49. package/extensions/ublocklite/js/filter-lists.js +1 -4
  50. package/extensions/ublocklite/js/filter-manager.js +45 -9
  51. package/extensions/ublocklite/js/popup.js +2 -2
  52. package/extensions/ublocklite/js/ruleset-manager.js +10 -126
  53. package/extensions/ublocklite/js/rw-dnr-editor.js +8 -4
  54. package/extensions/ublocklite/js/scripting/css-procedural.js +2 -0
  55. package/extensions/ublocklite/js/scripting/css-specific.js +2 -0
  56. package/extensions/ublocklite/js/scripting/tool-overlay.js +1 -0
  57. package/extensions/ublocklite/js/scripting-manager.js +2 -2
  58. package/extensions/ublocklite/js/settings.js +2 -1
  59. package/extensions/ublocklite/js/static-filtering-parser.js +25 -18
  60. package/extensions/ublocklite/js/ubo-parser.js +181 -65
  61. package/extensions/ublocklite/manifest.json +4 -4
  62. package/extensions/ublocklite/rulesets/generic-details.json +7 -17
  63. package/extensions/ublocklite/rulesets/main/adguard-mobile.json +25 -4
  64. package/extensions/ublocklite/rulesets/main/adguard-spyware-url.json +615 -1
  65. package/extensions/ublocklite/rulesets/main/annoyances-cookies.json +21 -8
  66. package/extensions/ublocklite/rulesets/main/annoyances-others.json +5 -2
  67. package/extensions/ublocklite/rulesets/main/annoyances-overlays.json +22 -2
  68. package/extensions/ublocklite/rulesets/main/annoyances-widgets.json +1 -1
  69. package/extensions/ublocklite/rulesets/main/chn-0.json +98 -29
  70. package/extensions/ublocklite/rulesets/main/cze-0.json +6 -1
  71. package/extensions/ublocklite/rulesets/main/deu-0.json +15 -11
  72. package/extensions/ublocklite/rulesets/main/dpollock-0.json +4 -0
  73. package/extensions/ublocklite/rulesets/main/easylist.json +146 -98
  74. package/extensions/ublocklite/rulesets/main/easyprivacy.json +149 -32
  75. package/extensions/ublocklite/rulesets/main/est-0.json +1 -1
  76. package/extensions/ublocklite/rulesets/main/fin-0.json +9 -0
  77. package/extensions/ublocklite/rulesets/main/fra-0.json +49 -9
  78. package/extensions/ublocklite/rulesets/main/hun-0.json +4 -1
  79. package/extensions/ublocklite/rulesets/main/idn-0.json +1 -1
  80. package/extensions/ublocklite/rulesets/main/ind-0.json +101 -155
  81. package/extensions/ublocklite/rulesets/main/irn-0.json +34 -11
  82. package/extensions/ublocklite/rulesets/main/isr-0.json +20 -2
  83. package/extensions/ublocklite/rulesets/main/ita-0.json +3 -1
  84. package/extensions/ublocklite/rulesets/main/jpn-1.json +69 -22
  85. package/extensions/ublocklite/rulesets/main/kor-1.json +39 -5
  86. package/extensions/ublocklite/rulesets/main/ltu-0.json +3 -1
  87. package/extensions/ublocklite/rulesets/main/lva-0.json +2 -1
  88. package/extensions/ublocklite/rulesets/main/nld-0.json +6 -1
  89. package/extensions/ublocklite/rulesets/main/nor-0.json +13 -4
  90. package/extensions/ublocklite/rulesets/main/pgl.json +8 -11
  91. package/extensions/ublocklite/rulesets/main/pol-0.json +13 -2
  92. package/extensions/ublocklite/rulesets/main/rou-1.json +17 -1
  93. package/extensions/ublocklite/rulesets/main/rus-0.json +104 -27
  94. package/extensions/ublocklite/rulesets/main/rus-1.json +114 -4
  95. package/extensions/ublocklite/rulesets/main/spa-1.json +43 -15
  96. package/extensions/ublocklite/rulesets/main/stevenblack-hosts.json +15832 -9032
  97. package/extensions/ublocklite/rulesets/main/swe-1.json +89 -52
  98. package/extensions/ublocklite/rulesets/main/tha-0.json +7 -1
  99. package/extensions/ublocklite/rulesets/main/tur-0.json +54 -6
  100. package/extensions/ublocklite/rulesets/main/ublock-badware.json +79 -106
  101. package/extensions/ublocklite/rulesets/main/ublock-filters.json +794 -111
  102. package/extensions/ublocklite/rulesets/main/ubol-tests.json +60 -0
  103. package/extensions/ublocklite/rulesets/main/ukr-0.json +20 -1
  104. package/extensions/ublocklite/rulesets/main/urlhaus-full.json +631 -676
  105. package/extensions/ublocklite/rulesets/main/vie-1.json +74 -59
  106. package/extensions/ublocklite/rulesets/regex/chn-0.json +8 -3
  107. package/extensions/ublocklite/rulesets/regex/deu-0.json +0 -1
  108. package/extensions/ublocklite/rulesets/regex/easylist.json +0 -2
  109. package/extensions/ublocklite/rulesets/regex/jpn-1.json +1 -1
  110. package/extensions/ublocklite/rulesets/regex/kor-1.json +1 -0
  111. package/extensions/ublocklite/rulesets/regex/pol-0.json +1 -0
  112. package/extensions/ublocklite/rulesets/regex/rus-0.json +1 -0
  113. package/extensions/ublocklite/rulesets/regex/rus-1.json +24 -0
  114. package/extensions/ublocklite/rulesets/regex/tur-0.json +2 -1
  115. package/extensions/ublocklite/rulesets/regex/ublock-badware.json +10 -8
  116. package/extensions/ublocklite/rulesets/regex/ublock-filters.json +28 -12
  117. package/extensions/ublocklite/rulesets/ruleset-details.json +252 -472
  118. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-cookies.js +3 -3
  119. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-notifications.js +1 -1
  120. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-overlays.js +1 -1
  121. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-social.js +1 -1
  122. package/extensions/ublocklite/rulesets/scripting/generic/chn-0.js +3 -3
  123. package/extensions/ublocklite/rulesets/scripting/generic/deu-0.js +2 -2
  124. package/extensions/ublocklite/rulesets/scripting/generic/easylist.js +3 -3
  125. package/extensions/ublocklite/rulesets/scripting/generic/fra-0.js +1 -1
  126. package/extensions/ublocklite/rulesets/scripting/generic/idn-0.js +1 -1
  127. package/extensions/ublocklite/rulesets/scripting/generic/jpn-1.js +3 -3
  128. package/extensions/ublocklite/rulesets/scripting/generic/nld-0.js +1 -1
  129. package/extensions/ublocklite/rulesets/scripting/generic/nor-0.js +1 -1
  130. package/extensions/ublocklite/rulesets/scripting/generic/spa-1.js +3 -3
  131. package/extensions/ublocklite/rulesets/scripting/generic/swe-1.js +1 -1
  132. package/extensions/ublocklite/rulesets/scripting/generic/tur-0.js +3 -3
  133. package/extensions/ublocklite/rulesets/scripting/generic/ublock-filters.js +3 -3
  134. package/extensions/ublocklite/rulesets/scripting/generic/ukr-0.js +1 -1
  135. package/extensions/ublocklite/rulesets/scripting/generic/vie-1.js +2 -2
  136. package/extensions/ublocklite/rulesets/scripting/generichigh/chn-0.css +2 -9
  137. package/extensions/ublocklite/rulesets/scripting/generichigh/easylist.css +2 -13
  138. package/extensions/ublocklite/rulesets/scripting/generichigh/idn-0.css +4 -0
  139. package/extensions/ublocklite/rulesets/scripting/generichigh/rus-0.css +1 -0
  140. package/extensions/ublocklite/rulesets/scripting/generichigh/ublock-filters.css +0 -2
  141. package/extensions/ublocklite/rulesets/scripting/procedural/adguard-mobile.js +3 -3
  142. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-cookies.js +3 -3
  143. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-notifications.js +3 -3
  144. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-others.js +3 -3
  145. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-overlays.js +3 -3
  146. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-social.js +3 -3
  147. package/extensions/ublocklite/rulesets/scripting/procedural/chn-0.js +3 -3
  148. package/extensions/ublocklite/rulesets/scripting/procedural/deu-0.js +3 -3
  149. package/extensions/ublocklite/rulesets/scripting/procedural/easylist.js +3 -3
  150. package/extensions/ublocklite/rulesets/scripting/procedural/fra-0.js +3 -3
  151. package/extensions/ublocklite/rulesets/scripting/procedural/idn-0.js +3 -3
  152. package/extensions/ublocklite/rulesets/scripting/procedural/irn-0.js +3 -3
  153. package/extensions/ublocklite/rulesets/scripting/procedural/jpn-1.js +3 -3
  154. package/extensions/ublocklite/rulesets/scripting/procedural/kor-1.js +3 -3
  155. package/extensions/ublocklite/rulesets/scripting/procedural/nld-0.js +3 -3
  156. package/extensions/ublocklite/rulesets/scripting/procedural/rou-1.js +3 -3
  157. package/extensions/ublocklite/rulesets/scripting/procedural/rus-0.js +3 -3
  158. package/extensions/ublocklite/rulesets/scripting/procedural/rus-1.js +3 -3
  159. package/extensions/ublocklite/rulesets/scripting/procedural/spa-1.js +3 -3
  160. package/extensions/ublocklite/rulesets/scripting/procedural/swe-1.js +3 -3
  161. package/extensions/ublocklite/rulesets/scripting/procedural/tur-0.js +3 -3
  162. package/extensions/ublocklite/rulesets/scripting/procedural/ublock-filters.js +3 -3
  163. package/extensions/ublocklite/rulesets/scripting/procedural/vie-1.js +2 -2
  164. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.abort-on-property-read.js +2 -2
  165. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.set-constant.js +2 -2
  166. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.set-cookie-reload.js +1 -1
  167. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.set-cookie.js +2 -2
  168. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.trusted-replace-node-text.js +450 -0
  169. package/extensions/ublocklite/rulesets/scripting/scriptlet/{jpn-1.abort-on-property-write.js → adguard-mobile.trusted-set-attr.js} +107 -41
  170. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.prevent-requestAnimationFrame.js +407 -0
  171. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.remove-node-text.js +1 -1
  172. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-cookie.js +2 -2
  173. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-local-storage-item.js +2 -2
  174. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-click-element.js +2 -2
  175. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-replace-node-text.js +2 -2
  176. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-set-cookie.js +2 -2
  177. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-set-local-storage-item.js +2 -2
  178. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-others.addEventListener-defuser.js +1 -1
  179. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.abort-current-script.js +1 -1
  180. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.abort-on-stack-trace.js +2 -2
  181. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.addEventListener-defuser.js +2 -2
  182. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-fetch.js +9 -2
  183. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-setInterval.js +2 -2
  184. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-setTimeout.js +2 -2
  185. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-xhr.js +2 -2
  186. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.remove-cookie.js +2 -2
  187. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.set-constant.js +2 -2
  188. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.set-cookie.js +2 -2
  189. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.trusted-click-element.js +1 -1
  190. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.trusted-replace-outbound-text.js +427 -0
  191. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.abort-current-script.js +2 -2
  192. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.addEventListener-defuser.js +2 -2
  193. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.adjust-setTimeout.js +2 -2
  194. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.json-prune.js +1 -1
  195. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-fetch.js +9 -2
  196. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-setTimeout.js +2 -2
  197. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-window-open.js +1 -1
  198. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.set-constant.js +2 -2
  199. package/extensions/ublocklite/rulesets/scripting/scriptlet/{vie-1.m3u-prune.js → chn-0.spoof-css.js} +109 -148
  200. package/extensions/ublocklite/rulesets/scripting/scriptlet/easyprivacy.abort-current-script.js +1 -1
  201. package/extensions/ublocklite/rulesets/scripting/scriptlet/easyprivacy.prevent-fetch.js +7 -0
  202. package/extensions/ublocklite/rulesets/scripting/scriptlet/easyprivacy.set-constant.js +1 -1
  203. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.addEventListener-defuser.js +2 -2
  204. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.adjust-setTimeout.js +2 -2
  205. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-fetch.js +7 -0
  206. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-setTimeout.js +2 -2
  207. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.set-constant.js +1 -1
  208. package/extensions/ublocklite/rulesets/scripting/scriptlet/hun-0.set-local-storage-item.js +2 -2
  209. package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.prevent-fetch.js +7 -0
  210. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.abort-current-script.js +2 -2
  211. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.prevent-fetch.js +7 -0
  212. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.prevent-window-open.js +1 -1
  213. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.remove-node-text.js +2 -2
  214. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.set-constant.js +2 -2
  215. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.set-session-storage-item.js +2 -2
  216. package/extensions/ublocklite/rulesets/scripting/scriptlet/isr-0.prevent-fetch.js +7 -0
  217. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.abort-current-script.js +2 -2
  218. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.json-prune.js +2 -2
  219. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.prevent-fetch.js +7 -0
  220. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.remove-attr.js +1 -1
  221. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.set-cookie.js +442 -0
  222. package/extensions/ublocklite/rulesets/scripting/scriptlet/{ublock-filters.evaldata-prune.js → kor-1.json-prune-xhr-response.js} +227 -198
  223. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.json-prune.js +2 -2
  224. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-fetch.js +7 -0
  225. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-setTimeout.js +2 -2
  226. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.set-constant.js +2 -2
  227. package/extensions/ublocklite/rulesets/scripting/scriptlet/nld-0.prevent-fetch.js +7 -0
  228. package/extensions/ublocklite/rulesets/scripting/scriptlet/nor-0.prevent-fetch.js +7 -0
  229. package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.abort-current-script.js +2 -2
  230. package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.remove-node-text.js +1 -1
  231. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.abort-on-property-read.js +2 -2
  232. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.abort-on-property-write.js +2 -2
  233. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.addEventListener-defuser.js +3 -3
  234. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-fetch.js +10 -3
  235. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-setTimeout.js +2 -2
  236. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-xhr.js +1 -1
  237. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.remove-cookie.js +3 -3
  238. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.remove-node-text.js +3 -3
  239. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.set-attr.js +2 -2
  240. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.set-constant.js +3 -3
  241. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.set-local-storage-item.js +2 -2
  242. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.abort-on-property-read.js +3 -3
  243. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.addEventListener-defuser.js +1 -1
  244. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.json-prune.js +2 -2
  245. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.prevent-fetch.js +7 -0
  246. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.remove-cookie.js +4 -4
  247. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.set-constant.js +3 -3
  248. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.abort-current-script.js +2 -2
  249. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.abort-on-property-read.js +2 -2
  250. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.addEventListener-defuser.js +2 -2
  251. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.adjust-setInterval.js +1 -1
  252. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.json-prune.js +2 -2
  253. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.noeval-if.js +1 -1
  254. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-fetch.js +9 -2
  255. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-requestAnimationFrame.js +2 -2
  256. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-setTimeout.js +2 -2
  257. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-window-open.js +1 -1
  258. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.set-constant.js +2 -2
  259. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.addEventListener-defuser.js +2 -2
  260. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.href-sanitizer.js +2 -2
  261. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.prevent-setTimeout.js +2 -2
  262. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.abort-on-property-read.js +2 -2
  263. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.abort-on-property-write.js +1 -1
  264. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.addEventListener-defuser.js +2 -2
  265. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.adjust-setInterval.js +2 -2
  266. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-fetch.js +7 -0
  267. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-setTimeout.js +2 -2
  268. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-window-open.js +1 -1
  269. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.remove-attr.js +2 -2
  270. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.remove-node-text.js +2 -2
  271. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.set-constant.js +2 -2
  272. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.set-cookie.js +2 -2
  273. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-badware.addEventListener-defuser.js +498 -0
  274. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-experimental.trusted-replace-node-text.js +450 -0
  275. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-current-script.js +3 -3
  276. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-on-property-read.js +3 -3
  277. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-on-property-write.js +2 -2
  278. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-on-stack-trace.js +3 -3
  279. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.addEventListener-defuser.js +3 -3
  280. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.adjust-setInterval.js +3 -3
  281. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.adjust-setTimeout.js +3 -3
  282. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.disable-newtab-links.js +1 -1
  283. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.href-sanitizer.js +2 -2
  284. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-edit-fetch-response.js +927 -0
  285. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-edit-xhr-response.js +851 -0
  286. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-prune-fetch-response.js +2 -2
  287. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-prune-xhr-response.js +3 -3
  288. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-prune.js +3 -3
  289. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.m3u-prune.js +2 -2
  290. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.noeval-if.js +3 -3
  291. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.nowebrtc.js +2 -2
  292. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-fetch.js +10 -3
  293. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-requestAnimationFrame.js +2 -2
  294. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-setInterval.js +2 -2
  295. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-setTimeout.js +3 -3
  296. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-window-open.js +3 -3
  297. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-xhr.js +3 -3
  298. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.remove-attr.js +2 -2
  299. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.remove-cookie.js +2 -2
  300. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.remove-node-text.js +2 -2
  301. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-attr.js +2 -2
  302. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-constant.js +3 -3
  303. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-cookie.js +2 -2
  304. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-local-storage-item.js +2 -2
  305. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.spoof-css.js +2 -2
  306. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-click-element.js +1 -1
  307. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-create-html.js +2 -2
  308. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-override-element-method.js +1 -1
  309. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-prevent-fetch.js +7 -0
  310. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-prevent-xhr.js +1 -1
  311. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-argument.js +2 -2
  312. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-node-text.js +3 -3
  313. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-outbound-text.js +2 -2
  314. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-xhr-response.js +1 -1
  315. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-set-constant.js +2 -2
  316. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-set-cookie.js +3 -3
  317. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-set-local-storage-item.js +2 -2
  318. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-suppress-native-method.js +1 -1
  319. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.xml-prune.js +2 -2
  320. package/extensions/ublocklite/rulesets/scripting/scriptlet/ukr-0.prevent-fetch.js +7 -0
  321. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.abort-current-script.js +2 -2
  322. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.abort-on-property-read.js +2 -2
  323. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.json-prune.js +1 -1
  324. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.prevent-fetch.js +7 -0
  325. package/extensions/ublocklite/rulesets/scripting/specific/adguard-mobile.js +3 -3
  326. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-cookies.js +3 -3
  327. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-notifications.js +3 -3
  328. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-others.js +3 -3
  329. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-overlays.js +3 -3
  330. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-social.js +3 -3
  331. package/extensions/ublocklite/rulesets/scripting/specific/chn-0.js +3 -3
  332. package/extensions/ublocklite/rulesets/scripting/specific/deu-0.js +3 -3
  333. package/extensions/ublocklite/rulesets/scripting/specific/easylist.js +3 -3
  334. package/extensions/ublocklite/rulesets/scripting/specific/fin-0.js +3 -3
  335. package/extensions/ublocklite/rulesets/scripting/specific/fra-0.js +3 -3
  336. package/extensions/ublocklite/rulesets/scripting/specific/hun-0.js +3 -3
  337. package/extensions/ublocklite/rulesets/scripting/specific/idn-0.js +3 -3
  338. package/extensions/ublocklite/rulesets/scripting/specific/ind-0.js +3 -3
  339. package/extensions/ublocklite/rulesets/scripting/specific/irn-0.js +3 -3
  340. package/extensions/ublocklite/rulesets/scripting/specific/isr-0.js +3 -3
  341. package/extensions/ublocklite/rulesets/scripting/specific/ita-0.js +3 -3
  342. package/extensions/ublocklite/rulesets/scripting/specific/jpn-1.js +3 -3
  343. package/extensions/ublocklite/rulesets/scripting/specific/kor-1.js +3 -3
  344. package/extensions/ublocklite/rulesets/scripting/specific/nld-0.js +3 -3
  345. package/extensions/ublocklite/rulesets/scripting/specific/nor-0.js +3 -3
  346. package/extensions/ublocklite/rulesets/scripting/specific/pol-0.js +3 -3
  347. package/extensions/ublocklite/rulesets/scripting/specific/rou-1.js +3 -3
  348. package/extensions/ublocklite/rulesets/scripting/specific/rus-0.js +3 -3
  349. package/extensions/ublocklite/rulesets/scripting/specific/rus-1.js +3 -3
  350. package/extensions/ublocklite/rulesets/scripting/specific/spa-1.js +3 -3
  351. package/extensions/ublocklite/rulesets/scripting/specific/swe-1.js +3 -3
  352. package/extensions/ublocklite/rulesets/scripting/specific/tha-0.js +3 -3
  353. package/extensions/ublocklite/rulesets/scripting/specific/tur-0.js +3 -3
  354. package/extensions/ublocklite/rulesets/scripting/specific/ublock-filters.js +3 -3
  355. package/extensions/ublocklite/rulesets/scripting/specific/ukr-0.js +3 -3
  356. package/extensions/ublocklite/rulesets/scripting/specific/vie-1.js +3 -3
  357. package/extensions/ublocklite/rulesets/scriptlet-details.json +301 -173
  358. package/extensions/ublocklite/rulesets/strictblock/adguard-mobile.json +11 -1
  359. package/extensions/ublocklite/rulesets/strictblock/annoyances-cookies.json +1 -0
  360. package/extensions/ublocklite/rulesets/strictblock/chn-0.json +398 -791
  361. package/extensions/ublocklite/rulesets/strictblock/dpollock-0.json +4 -0
  362. package/extensions/ublocklite/rulesets/strictblock/easylist.json +1 -1
  363. package/extensions/ublocklite/rulesets/strictblock/easyprivacy.json +76 -74
  364. package/extensions/ublocklite/rulesets/strictblock/fra-0.json +429 -49
  365. package/extensions/ublocklite/rulesets/strictblock/irn-0.json +2 -0
  366. package/extensions/ublocklite/rulesets/strictblock/jpn-1.json +185 -176
  367. package/extensions/ublocklite/rulesets/strictblock/kor-1.json +6 -1
  368. package/extensions/ublocklite/rulesets/strictblock/nor-0.json +1 -1
  369. package/extensions/ublocklite/rulesets/strictblock/pgl.json +8 -11
  370. package/extensions/ublocklite/rulesets/strictblock/pol-0.json +2 -0
  371. package/extensions/ublocklite/rulesets/strictblock/rus-1.json +1 -0
  372. package/extensions/ublocklite/rulesets/strictblock/spa-1.json +1 -2
  373. package/extensions/ublocklite/rulesets/strictblock/stevenblack-hosts.json +15832 -9032
  374. package/extensions/ublocklite/rulesets/strictblock/swe-1.json +2 -0
  375. package/extensions/ublocklite/rulesets/strictblock/tur-0.json +4 -0
  376. package/extensions/ublocklite/rulesets/strictblock/ublock-badware.json +636 -631
  377. package/extensions/ublocklite/rulesets/strictblock/ublock-filters.json +3 -2
  378. package/extensions/ublocklite/rulesets/strictblock/urlhaus-full.json +631 -676
  379. package/extensions/ublocklite/rulesets/strictblock/vie-1.json +7 -8
  380. package/extensions/ublocklite/rulesets/urlskip/ublock-filters.json +30 -0
  381. package/extensions/ublocklite/ublock.zip +0 -0
  382. package/package.json +23 -21
  383. package/scripts/build-open-api.js +15 -1
  384. package/scripts/install-adblock.js +25 -4
  385. package/scripts/start.sh +1 -1
  386. package/scripts/test.sh +2 -2
  387. package/src/limiter.ts +1 -1
  388. package/src/routes/chromium/tests/scrape.spec.ts +48 -0
  389. package/src/sdk-utils.ts +1 -1
  390. package/src/shared/scrape.http.ts +17 -5
  391. package/static/docs/swagger.json +330 -102
  392. package/static/docs/swagger.min.json +329 -101
  393. package/static/function/client.js +273 -171
  394. package/static/function/index.html +273 -171
  395. package/extensions/ublocklite/rulesets/modify-headers/annoyances-overlays.json +0 -108
  396. package/extensions/ublocklite/rulesets/modify-headers/chn-0.json +0 -316
  397. package/extensions/ublocklite/rulesets/modify-headers/cze-0.json +0 -25
  398. package/extensions/ublocklite/rulesets/modify-headers/deu-0.json +0 -24
  399. package/extensions/ublocklite/rulesets/modify-headers/easylist.json +0 -14
  400. package/extensions/ublocklite/rulesets/modify-headers/easyprivacy.json +0 -48
  401. package/extensions/ublocklite/rulesets/modify-headers/fra-0.json +0 -215
  402. package/extensions/ublocklite/rulesets/modify-headers/irn-0.json +0 -45
  403. package/extensions/ublocklite/rulesets/modify-headers/isr-0.json +0 -50
  404. package/extensions/ublocklite/rulesets/modify-headers/rus-0.json +0 -41
  405. package/extensions/ublocklite/rulesets/modify-headers/rus-1.json +0 -22
  406. package/extensions/ublocklite/rulesets/modify-headers/swe-1.json +0 -46
  407. package/extensions/ublocklite/rulesets/modify-headers/ublock-filters.json +0 -53
  408. package/extensions/ublocklite/rulesets/modify-headers/ubol-tests.json +0 -25
  409. package/extensions/ublocklite/rulesets/modify-headers/vie-1.json +0 -162
  410. package/extensions/ublocklite/rulesets/redirect/adguard-mobile.json +0 -20
  411. package/extensions/ublocklite/rulesets/redirect/annoyances-overlays.json +0 -15
  412. package/extensions/ublocklite/rulesets/redirect/chn-0.json +0 -40
  413. package/extensions/ublocklite/rulesets/redirect/cze-0.json +0 -76
  414. package/extensions/ublocklite/rulesets/redirect/deu-0.json +0 -79
  415. package/extensions/ublocklite/rulesets/redirect/easylist.json +0 -103
  416. package/extensions/ublocklite/rulesets/redirect/easyprivacy.json +0 -137
  417. package/extensions/ublocklite/rulesets/redirect/fin-0.json +0 -121
  418. package/extensions/ublocklite/rulesets/redirect/fra-0.json +0 -35
  419. package/extensions/ublocklite/rulesets/redirect/hun-0.json +0 -38
  420. package/extensions/ublocklite/rulesets/redirect/irn-0.json +0 -73
  421. package/extensions/ublocklite/rulesets/redirect/isr-0.json +0 -17
  422. package/extensions/ublocklite/rulesets/redirect/jpn-1.json +0 -30
  423. package/extensions/ublocklite/rulesets/redirect/kor-1.json +0 -25
  424. package/extensions/ublocklite/rulesets/redirect/ltu-0.json +0 -33
  425. package/extensions/ublocklite/rulesets/redirect/nld-0.json +0 -79
  426. package/extensions/ublocklite/rulesets/redirect/nor-0.json +0 -132
  427. package/extensions/ublocklite/rulesets/redirect/pol-0.json +0 -15
  428. package/extensions/ublocklite/rulesets/redirect/rou-1.json +0 -53
  429. package/extensions/ublocklite/rulesets/redirect/rus-0.json +0 -21
  430. package/extensions/ublocklite/rulesets/redirect/rus-1.json +0 -118
  431. package/extensions/ublocklite/rulesets/redirect/spa-1.json +0 -27
  432. package/extensions/ublocklite/rulesets/redirect/swe-1.json +0 -14
  433. package/extensions/ublocklite/rulesets/redirect/tha-0.json +0 -78
  434. package/extensions/ublocklite/rulesets/redirect/tur-0.json +0 -24
  435. package/extensions/ublocklite/rulesets/redirect/ublock-badware.json +0 -18
  436. package/extensions/ublocklite/rulesets/redirect/ublock-filters.json +0 -556
  437. package/extensions/ublocklite/rulesets/redirect/ubol-tests.json +0 -22
  438. package/extensions/ublocklite/rulesets/redirect/ukr-0.json +0 -18
  439. package/extensions/ublocklite/rulesets/redirect/vie-1.json +0 -85
  440. package/extensions/ublocklite/rulesets/removeparam/adguard-spyware-url.json +0 -612
  441. package/extensions/ublocklite/rulesets/removeparam/annoyances-overlays.json +0 -27
  442. package/extensions/ublocklite/rulesets/removeparam/chn-0.json +0 -48
  443. package/extensions/ublocklite/rulesets/removeparam/est-0.json +0 -26
  444. package/extensions/ublocklite/rulesets/removeparam/fin-0.json +0 -52
  445. package/extensions/ublocklite/rulesets/removeparam/irn-0.json +0 -18
  446. package/extensions/ublocklite/rulesets/removeparam/kor-1.json +0 -26
  447. package/extensions/ublocklite/rulesets/removeparam/rus-0.json +0 -19
  448. package/extensions/ublocklite/rulesets/removeparam/rus-1.json +0 -98
  449. package/extensions/ublocklite/rulesets/removeparam/swe-1.json +0 -125
  450. package/extensions/ublocklite/rulesets/removeparam/ublock-filters.json +0 -63
  451. package/extensions/ublocklite/rulesets/removeparam/ukr-0.json +0 -49
@@ -1735,7 +1735,7 @@
1735
1735
  function numberIsNaN(obj) {
1736
1736
  return obj !== obj;
1737
1737
  }
1738
- const hexSliceLookupTable = function() {
1738
+ const hexSliceLookupTable = (function() {
1739
1739
  const alphabet = "0123456789abcdef";
1740
1740
  const table = new Array(256);
1741
1741
  for (let i = 0; i < 16; ++i) {
@@ -1745,7 +1745,7 @@
1745
1745
  }
1746
1746
  }
1747
1747
  return table;
1748
- }();
1748
+ })();
1749
1749
  function defineBigIntMethod(fn) {
1750
1750
  return typeof BigInt === "undefined" ? BufferBigIntNotDefined : fn;
1751
1751
  }
@@ -2548,7 +2548,7 @@
2548
2548
  0 <= index && arr.splice(index, 1);
2549
2549
  }
2550
2550
  }
2551
- var Subscription = function() {
2551
+ var Subscription = (function() {
2552
2552
  function Subscription2(initialTeardown) {
2553
2553
  this.initialTeardown = initialTeardown;
2554
2554
  this.closed = false;
@@ -2661,13 +2661,13 @@
2661
2661
  teardown._removeParent(this);
2662
2662
  }
2663
2663
  };
2664
- Subscription2.EMPTY = function() {
2664
+ Subscription2.EMPTY = (function() {
2665
2665
  var empty = new Subscription2();
2666
2666
  empty.closed = true;
2667
2667
  return empty;
2668
- }();
2668
+ })();
2669
2669
  return Subscription2;
2670
- }();
2670
+ })();
2671
2671
  var EMPTY_SUBSCRIPTION = Subscription.EMPTY;
2672
2672
  function isSubscription(value) {
2673
2673
  return value instanceof Subscription || value && "closed" in value && isFunction(value.remove) && isFunction(value.add) && isFunction(value.unsubscribe);
@@ -2716,9 +2716,9 @@
2716
2716
  }
2717
2717
  function noop() {
2718
2718
  }
2719
- var COMPLETE_NOTIFICATION = function() {
2719
+ var COMPLETE_NOTIFICATION = (function() {
2720
2720
  return createNotification("C", void 0, void 0);
2721
- }();
2721
+ })();
2722
2722
  function errorNotification(error) {
2723
2723
  return createNotification("E", void 0, error);
2724
2724
  }
@@ -2757,7 +2757,7 @@
2757
2757
  context.error = err;
2758
2758
  }
2759
2759
  }
2760
- var Subscriber = function(_super) {
2760
+ var Subscriber = (function(_super) {
2761
2761
  __extends(Subscriber2, _super);
2762
2762
  function Subscriber2(destination) {
2763
2763
  var _this = _super.call(this) || this;
@@ -2823,12 +2823,12 @@
2823
2823
  }
2824
2824
  };
2825
2825
  return Subscriber2;
2826
- }(Subscription);
2826
+ })(Subscription);
2827
2827
  var _bind = Function.prototype.bind;
2828
2828
  function bind(fn, thisArg) {
2829
2829
  return _bind.call(fn, thisArg);
2830
2830
  }
2831
- var ConsumerObserver = function() {
2831
+ var ConsumerObserver = (function() {
2832
2832
  function ConsumerObserver2(partialObserver) {
2833
2833
  this.partialObserver = partialObserver;
2834
2834
  }
@@ -2865,8 +2865,8 @@
2865
2865
  }
2866
2866
  };
2867
2867
  return ConsumerObserver2;
2868
- }();
2869
- var SafeSubscriber = function(_super) {
2868
+ })();
2869
+ var SafeSubscriber = (function(_super) {
2870
2870
  __extends(SafeSubscriber2, _super);
2871
2871
  function SafeSubscriber2(observerOrNext, error, complete) {
2872
2872
  var _this = _super.call(this) || this;
@@ -2897,7 +2897,7 @@
2897
2897
  return _this;
2898
2898
  }
2899
2899
  return SafeSubscriber2;
2900
- }(Subscriber);
2900
+ })(Subscriber);
2901
2901
  function handleUnhandledError(error) {
2902
2902
  if (config.useDeprecatedSynchronousErrorHandling) {
2903
2903
  captureError(error);
@@ -2920,9 +2920,9 @@
2920
2920
  error: defaultErrorHandler,
2921
2921
  complete: noop
2922
2922
  };
2923
- var observable = function() {
2923
+ var observable = (function() {
2924
2924
  return typeof Symbol === "function" && Symbol.observable || "@@observable";
2925
- }();
2925
+ })();
2926
2926
  function identity(x) {
2927
2927
  return x;
2928
2928
  }
@@ -2946,7 +2946,7 @@
2946
2946
  }, input);
2947
2947
  };
2948
2948
  }
2949
- var Observable = function() {
2949
+ var Observable = (function() {
2950
2950
  function Observable2(subscribe) {
2951
2951
  if (subscribe) {
2952
2952
  this._subscribe = subscribe;
@@ -3025,7 +3025,7 @@
3025
3025
  return new Observable2(subscribe);
3026
3026
  };
3027
3027
  return Observable2;
3028
- }();
3028
+ })();
3029
3029
  function getPromiseCtor(promiseCtor) {
3030
3030
  var _a;
3031
3031
  return (_a = promiseCtor !== null && promiseCtor !== void 0 ? promiseCtor : config.Promise) !== null && _a !== void 0 ? _a : Promise;
@@ -3056,7 +3056,7 @@
3056
3056
  function createOperatorSubscriber(destination, onNext, onComplete, onError, onFinalize) {
3057
3057
  return new OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize);
3058
3058
  }
3059
- var OperatorSubscriber = function(_super) {
3059
+ var OperatorSubscriber = (function(_super) {
3060
3060
  __extends(OperatorSubscriber2, _super);
3061
3061
  function OperatorSubscriber2(destination, onNext, onComplete, onError, onFinalize, shouldUnsubscribe) {
3062
3062
  var _this = _super.call(this, destination) || this;
@@ -3098,7 +3098,7 @@
3098
3098
  }
3099
3099
  };
3100
3100
  return OperatorSubscriber2;
3101
- }(Subscriber);
3101
+ })(Subscriber);
3102
3102
  var ObjectUnsubscribedError = createErrorClass(function(_super) {
3103
3103
  return function ObjectUnsubscribedErrorImpl() {
3104
3104
  _super(this);
@@ -3106,7 +3106,7 @@
3106
3106
  this.message = "object unsubscribed";
3107
3107
  };
3108
3108
  });
3109
- var Subject = function(_super) {
3109
+ var Subject = (function(_super) {
3110
3110
  __extends(Subject2, _super);
3111
3111
  function Subject2() {
3112
3112
  var _this = _super.call(this) || this;
@@ -3232,8 +3232,8 @@
3232
3232
  return new AnonymousSubject(destination, source2);
3233
3233
  };
3234
3234
  return Subject2;
3235
- }(Observable);
3236
- var AnonymousSubject = function(_super) {
3235
+ })(Observable);
3236
+ var AnonymousSubject = (function(_super) {
3237
3237
  __extends(AnonymousSubject2, _super);
3238
3238
  function AnonymousSubject2(destination, source2) {
3239
3239
  var _this = _super.call(this) || this;
@@ -3258,14 +3258,14 @@
3258
3258
  return (_b = (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber)) !== null && _b !== void 0 ? _b : EMPTY_SUBSCRIPTION;
3259
3259
  };
3260
3260
  return AnonymousSubject2;
3261
- }(Subject);
3261
+ })(Subject);
3262
3262
  var dateTimestampProvider = {
3263
3263
  now: function() {
3264
3264
  return (dateTimestampProvider.delegate || Date).now();
3265
3265
  },
3266
3266
  delegate: void 0
3267
3267
  };
3268
- var ReplaySubject = function(_super) {
3268
+ var ReplaySubject = (function(_super) {
3269
3269
  __extends(ReplaySubject2, _super);
3270
3270
  function ReplaySubject2(_bufferSize, _windowTime, _timestampProvider) {
3271
3271
  if (_bufferSize === void 0) {
@@ -3323,8 +3323,8 @@
3323
3323
  }
3324
3324
  };
3325
3325
  return ReplaySubject2;
3326
- }(Subject);
3327
- var Action = function(_super) {
3326
+ })(Subject);
3327
+ var Action = (function(_super) {
3328
3328
  __extends(Action2, _super);
3329
3329
  function Action2(scheduler, work) {
3330
3330
  return _super.call(this) || this;
@@ -3336,7 +3336,7 @@
3336
3336
  return this;
3337
3337
  };
3338
3338
  return Action2;
3339
- }(Subscription);
3339
+ })(Subscription);
3340
3340
  var intervalProvider = {
3341
3341
  setInterval: function(handler, timeout2) {
3342
3342
  var args = [];
@@ -3355,7 +3355,7 @@
3355
3355
  },
3356
3356
  delegate: void 0
3357
3357
  };
3358
- var AsyncAction = function(_super) {
3358
+ var AsyncAction = (function(_super) {
3359
3359
  __extends(AsyncAction2, _super);
3360
3360
  function AsyncAction2(scheduler, work) {
3361
3361
  var _this = _super.call(this, scheduler, work) || this;
@@ -3442,8 +3442,8 @@
3442
3442
  }
3443
3443
  };
3444
3444
  return AsyncAction2;
3445
- }(Action);
3446
- var Scheduler = function() {
3445
+ })(Action);
3446
+ var Scheduler = (function() {
3447
3447
  function Scheduler2(schedulerActionCtor, now) {
3448
3448
  if (now === void 0) {
3449
3449
  now = Scheduler2.now;
@@ -3459,8 +3459,8 @@
3459
3459
  };
3460
3460
  Scheduler2.now = dateTimestampProvider.now;
3461
3461
  return Scheduler2;
3462
- }();
3463
- var AsyncScheduler = function(_super) {
3462
+ })();
3463
+ var AsyncScheduler = (function(_super) {
3464
3464
  __extends(AsyncScheduler2, _super);
3465
3465
  function AsyncScheduler2(SchedulerAction, now) {
3466
3466
  if (now === void 0) {
@@ -3493,7 +3493,7 @@
3493
3493
  }
3494
3494
  };
3495
3495
  return AsyncScheduler2;
3496
- }(Scheduler);
3496
+ })(Scheduler);
3497
3497
  var asyncScheduler = new AsyncScheduler(AsyncAction);
3498
3498
  var async = asyncScheduler;
3499
3499
  var EMPTY = new Observable(function(subscriber) {
@@ -3511,9 +3511,9 @@
3511
3511
  function popNumber(args, defaultValue) {
3512
3512
  return typeof last(args) === "number" ? args.pop() : defaultValue;
3513
3513
  }
3514
- var isArrayLike = function(x) {
3514
+ var isArrayLike = (function(x) {
3515
3515
  return x && typeof x.length === "number" && typeof x !== "function";
3516
- };
3516
+ });
3517
3517
  function isPromise(value) {
3518
3518
  return isFunction(value === null || value === void 0 ? void 0 : value.then);
3519
3519
  }
@@ -4430,7 +4430,7 @@
4430
4430
  // node_modules/puppeteer-core/lib/esm/puppeteer/generated/version.js
4431
4431
  init_dirname();
4432
4432
  init_buffer2();
4433
- var packageVersion = "24.16.1";
4433
+ var packageVersion = "24.22.0";
4434
4434
 
4435
4435
  // node_modules/puppeteer-core/lib/esm/puppeteer/util/assert.js
4436
4436
  init_dirname();
@@ -4572,6 +4572,8 @@
4572
4572
  };
4573
4573
  var TargetCloseError = class extends ProtocolError {
4574
4574
  };
4575
+ var ConnectionClosedError = class extends ProtocolError {
4576
+ };
4575
4577
 
4576
4578
  // node_modules/puppeteer-core/lib/esm/puppeteer/common/PDFOptions.js
4577
4579
  init_dirname();
@@ -4919,7 +4921,7 @@
4919
4921
  Symbol.asyncDispose ??= Symbol("asyncDispose");
4920
4922
  var disposeSymbol = Symbol.dispose;
4921
4923
  var asyncDisposeSymbol = Symbol.asyncDispose;
4922
- var DisposableStack = class _DisposableStack {
4924
+ var DisposableStackPolyfill = class _DisposableStackPolyfill {
4923
4925
  #disposed = false;
4924
4926
  #stack = [];
4925
4927
  /**
@@ -5012,7 +5014,7 @@
5012
5014
  if (this.#disposed) {
5013
5015
  throw new ReferenceError("A disposed stack can not use anything new");
5014
5016
  }
5015
- const stack = new _DisposableStack();
5017
+ const stack = new _DisposableStackPolyfill();
5016
5018
  stack.#stack = this.#stack;
5017
5019
  this.#stack = [];
5018
5020
  this.#disposed = true;
@@ -5038,11 +5040,11 @@
5038
5040
  throw errors[0];
5039
5041
  } else if (errors.length > 1) {
5040
5042
  let suppressed = null;
5041
- for (const error of errors.reverse()) {
5043
+ for (const error of errors) {
5042
5044
  if (suppressed === null) {
5043
5045
  suppressed = error;
5044
5046
  } else {
5045
- suppressed = new SuppressedError2(error, suppressed);
5047
+ suppressed = new SuppressedErrorPolyfill(error, suppressed);
5046
5048
  }
5047
5049
  }
5048
5050
  throw suppressed;
@@ -5050,7 +5052,8 @@
5050
5052
  }
5051
5053
  [Symbol.toStringTag] = "DisposableStack";
5052
5054
  };
5053
- var AsyncDisposableStack = class _AsyncDisposableStack {
5055
+ var DisposableStack = globalThis.DisposableStack ?? DisposableStackPolyfill;
5056
+ var AsyncDisposableStackPolyfill = class _AsyncDisposableStackPolyfill {
5054
5057
  #disposed = false;
5055
5058
  #stack = [];
5056
5059
  /**
@@ -5062,7 +5065,7 @@
5062
5065
  /**
5063
5066
  * Alias for `[Symbol.asyncDispose]()`.
5064
5067
  */
5065
- async dispose() {
5068
+ async disposeAsync() {
5066
5069
  await this[asyncDisposeSymbol]();
5067
5070
  }
5068
5071
  /**
@@ -5153,7 +5156,7 @@
5153
5156
  if (this.#disposed) {
5154
5157
  throw new ReferenceError("A disposed stack can not use anything new");
5155
5158
  }
5156
- const stack = new _AsyncDisposableStack();
5159
+ const stack = new _AsyncDisposableStackPolyfill();
5157
5160
  stack.#stack = this.#stack;
5158
5161
  this.#stack = [];
5159
5162
  this.#disposed = true;
@@ -5179,11 +5182,11 @@
5179
5182
  throw errors[0];
5180
5183
  } else if (errors.length > 1) {
5181
5184
  let suppressed = null;
5182
- for (const error of errors.reverse()) {
5185
+ for (const error of errors) {
5183
5186
  if (suppressed === null) {
5184
5187
  suppressed = error;
5185
5188
  } else {
5186
- suppressed = new SuppressedError2(error, suppressed);
5189
+ suppressed = new SuppressedErrorPolyfill(error, suppressed);
5187
5190
  }
5188
5191
  }
5189
5192
  throw suppressed;
@@ -5191,7 +5194,8 @@
5191
5194
  }
5192
5195
  [Symbol.toStringTag] = "AsyncDisposableStack";
5193
5196
  };
5194
- var SuppressedError2 = class extends Error {
5197
+ var AsyncDisposableStack = globalThis.AsyncDisposableStack ?? AsyncDisposableStackPolyfill;
5198
+ var SuppressedErrorPolyfill = class extends Error {
5195
5199
  #error;
5196
5200
  #suppressed;
5197
5201
  constructor(error, suppressed, message = "An error was suppressed during disposal") {
@@ -5214,6 +5218,7 @@
5214
5218
  return this.#suppressed;
5215
5219
  }
5216
5220
  };
5221
+ var SuppressedError2 = globalThis.SuppressedError ?? SuppressedErrorPolyfill;
5217
5222
 
5218
5223
  // node_modules/puppeteer-core/lib/esm/puppeteer/common/EventEmitter.js
5219
5224
  var EventEmitter = class {
@@ -5432,6 +5437,19 @@
5432
5437
  async deleteCookie(...cookies) {
5433
5438
  return await this.defaultBrowserContext().deleteCookie(...cookies);
5434
5439
  }
5440
+ /**
5441
+ * Deletes cookies matching the provided filters from the default
5442
+ * {@link BrowserContext}.
5443
+ *
5444
+ * @remarks
5445
+ *
5446
+ * Shortcut for
5447
+ * {@link BrowserContext.deleteMatchingCookies |
5448
+ * browser.defaultBrowserContext().deleteMatchingCookies()}.
5449
+ */
5450
+ async deleteMatchingCookies(...filters) {
5451
+ return await this.defaultBrowserContext().deleteMatchingCookies(...filters);
5452
+ }
5435
5453
  /**
5436
5454
  * Whether Puppeteer is connected to this {@link Browser | browser}.
5437
5455
  *
@@ -5682,8 +5700,9 @@
5682
5700
  ), from(this.targets())).pipe(filterAsync(predicate), raceWith(timeout(ms))));
5683
5701
  }
5684
5702
  /**
5685
- * Removes cookie in the browser context
5686
- * @param cookies - {@link Cookie | cookie} to remove
5703
+ * Removes cookie in this browser context.
5704
+ *
5705
+ * @param cookies - Complete {@link Cookie | cookie} object to be removed.
5687
5706
  */
5688
5707
  async deleteCookie(...cookies) {
5689
5708
  return await this.setCookie(...cookies.map((cookie) => {
@@ -5693,6 +5712,49 @@
5693
5712
  };
5694
5713
  }));
5695
5714
  }
5715
+ /**
5716
+ * Deletes cookies matching the provided filters in this browser context.
5717
+ *
5718
+ * @param filters - {@link DeleteCookiesRequest}
5719
+ */
5720
+ async deleteMatchingCookies(...filters) {
5721
+ const cookies = await this.cookies();
5722
+ const cookiesToDelete = cookies.filter((cookie) => {
5723
+ return filters.some((filter2) => {
5724
+ if (filter2.name === cookie.name) {
5725
+ if (filter2.domain !== void 0 && filter2.domain === cookie.domain) {
5726
+ return true;
5727
+ }
5728
+ if (filter2.path !== void 0 && filter2.path === cookie.path) {
5729
+ return true;
5730
+ }
5731
+ if (filter2.partitionKey !== void 0 && cookie.partitionKey !== void 0) {
5732
+ if (typeof cookie.partitionKey !== "object") {
5733
+ throw new Error("Unexpected string partition key");
5734
+ }
5735
+ if (typeof filter2.partitionKey === "string") {
5736
+ if (filter2.partitionKey === cookie.partitionKey?.sourceOrigin) {
5737
+ return true;
5738
+ }
5739
+ } else {
5740
+ if (filter2.partitionKey.sourceOrigin === cookie.partitionKey?.sourceOrigin) {
5741
+ return true;
5742
+ }
5743
+ }
5744
+ }
5745
+ if (filter2.url !== void 0) {
5746
+ const url = new URL(filter2.url);
5747
+ if (url.hostname === cookie.domain && url.pathname === cookie.path) {
5748
+ return true;
5749
+ }
5750
+ }
5751
+ return true;
5752
+ }
5753
+ return false;
5754
+ });
5755
+ });
5756
+ await this.deleteCookie(...cookiesToDelete);
5757
+ }
5696
5758
  /**
5697
5759
  * Whether this {@link BrowserContext | browser context} is closed.
5698
5760
  */
@@ -5787,7 +5849,7 @@
5787
5849
  }
5788
5850
  return value;
5789
5851
  };
5790
- var __disposeResources = /* @__PURE__ */ function(SuppressedError3) {
5852
+ var __disposeResources = /* @__PURE__ */ (function(SuppressedError3) {
5791
5853
  return function(env) {
5792
5854
  function fail(e) {
5793
5855
  env.error = env.hasError ? new SuppressedError3(e, env.error, "An error was suppressed during disposal.") : e;
@@ -5814,7 +5876,7 @@
5814
5876
  }
5815
5877
  return next();
5816
5878
  };
5817
- }(typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
5879
+ })(typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
5818
5880
  var e = new Error(message);
5819
5881
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
5820
5882
  });
@@ -5948,7 +6010,7 @@
5948
6010
  }
5949
6011
  return value;
5950
6012
  };
5951
- var __disposeResources2 = /* @__PURE__ */ function(SuppressedError3) {
6013
+ var __disposeResources2 = /* @__PURE__ */ (function(SuppressedError3) {
5952
6014
  return function(env) {
5953
6015
  function fail(e) {
5954
6016
  env.error = env.hasError ? new SuppressedError3(e, env.error, "An error was suppressed during disposal.") : e;
@@ -5975,7 +6037,7 @@
5975
6037
  }
5976
6038
  return next();
5977
6039
  };
5978
- }(typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
6040
+ })(typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
5979
6041
  var e = new Error(message);
5980
6042
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
5981
6043
  });
@@ -6513,12 +6575,15 @@
6513
6575
  static create(pageOrFrame, selector) {
6514
6576
  return new _NodeLocator(pageOrFrame, selector).setTimeout("getDefaultTimeout" in pageOrFrame ? pageOrFrame.getDefaultTimeout() : pageOrFrame.page().getDefaultTimeout());
6515
6577
  }
6578
+ static createFromHandle(pageOrFrame, handle) {
6579
+ return new _NodeLocator(pageOrFrame, handle).setTimeout("getDefaultTimeout" in pageOrFrame ? pageOrFrame.getDefaultTimeout() : pageOrFrame.page().getDefaultTimeout());
6580
+ }
6516
6581
  #pageOrFrame;
6517
- #selector;
6518
- constructor(pageOrFrame, selector) {
6582
+ #selectorOrHandle;
6583
+ constructor(pageOrFrame, selectorOrHandle) {
6519
6584
  super();
6520
6585
  this.#pageOrFrame = pageOrFrame;
6521
- this.#selector = selector;
6586
+ this.#selectorOrHandle = selectorOrHandle;
6522
6587
  }
6523
6588
  /**
6524
6589
  * Waits for the element to become visible or hidden. visibility === 'visible'
@@ -6544,16 +6609,24 @@
6544
6609
  })().pipe(first(identity), retry({ delay: RETRY_DELAY }), ignoreElements());
6545
6610
  };
6546
6611
  _clone() {
6547
- return new _NodeLocator(this.#pageOrFrame, this.#selector).copyOptions(this);
6612
+ return new _NodeLocator(
6613
+ this.#pageOrFrame,
6614
+ // @ts-expect-error TSC does cannot parse private overloads.
6615
+ this.#selectorOrHandle
6616
+ ).copyOptions(this);
6548
6617
  }
6549
6618
  _wait(options) {
6550
6619
  const signal = options?.signal;
6551
6620
  return defer(() => {
6552
- return from(this.#pageOrFrame.waitForSelector(this.#selector, {
6553
- visible: false,
6554
- timeout: this._timeout,
6555
- signal
6556
- }));
6621
+ if (typeof this.#selectorOrHandle === "string") {
6622
+ return from(this.#pageOrFrame.waitForSelector(this.#selectorOrHandle, {
6623
+ visible: false,
6624
+ timeout: this._timeout,
6625
+ signal
6626
+ }));
6627
+ } else {
6628
+ return of(this.#selectorOrHandle);
6629
+ }
6557
6630
  }).pipe(filter((value) => {
6558
6631
  return value !== null;
6559
6632
  }), throwIfEmpty(), this.operators.conditions([this.#waitForVisibilityIfNeeded], signal));
@@ -6657,7 +6730,7 @@
6657
6730
  }
6658
6731
  return value;
6659
6732
  };
6660
- var __disposeResources3 = /* @__PURE__ */ function(SuppressedError3) {
6733
+ var __disposeResources3 = /* @__PURE__ */ (function(SuppressedError3) {
6661
6734
  return function(env) {
6662
6735
  function fail(e) {
6663
6736
  env.error = env.hasError ? new SuppressedError3(e, env.error, "An error was suppressed during disposal.") : e;
@@ -6684,7 +6757,7 @@
6684
6757
  }
6685
6758
  return next();
6686
6759
  };
6687
- }(typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
6760
+ })(typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
6688
6761
  var e = new Error(message);
6689
6762
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
6690
6763
  });
@@ -6794,11 +6867,11 @@
6794
6867
  get accessibility() {
6795
6868
  return this.mainFrame().accessibility;
6796
6869
  }
6797
- locator(selectorOrFunc) {
6798
- if (typeof selectorOrFunc === "string") {
6799
- return NodeLocator.create(this, selectorOrFunc);
6870
+ locator(input) {
6871
+ if (typeof input === "string") {
6872
+ return NodeLocator.create(this, input);
6800
6873
  } else {
6801
- return FunctionLocator.create(this, selectorOrFunc);
6874
+ return FunctionLocator.create(this, input);
6802
6875
  }
6803
6876
  }
6804
6877
  /**
@@ -7323,7 +7396,7 @@
7323
7396
  *
7324
7397
  * @remarks
7325
7398
  * This method is a shortcut for calling two methods:
7326
- * {@link Page.setUserAgent} and {@link Page.setViewport}.
7399
+ * {@link Page.(setUserAgent:2) } and {@link Page.setViewport}.
7327
7400
  *
7328
7401
  * This method will resize the page. A lot of websites don't expect phones to
7329
7402
  * change size, so you should emulate before navigating to the page.
@@ -7346,7 +7419,7 @@
7346
7419
  */
7347
7420
  async emulate(device) {
7348
7421
  await Promise.all([
7349
- this.setUserAgent(device.userAgent),
7422
+ this.setUserAgent({ userAgent: device.userAgent }),
7350
7423
  this.setViewport(device.viewport)
7351
7424
  ]);
7352
7425
  }
@@ -8241,7 +8314,7 @@
8241
8314
  }
8242
8315
  return value;
8243
8316
  };
8244
- var __disposeResources4 = /* @__PURE__ */ function(SuppressedError3) {
8317
+ var __disposeResources4 = /* @__PURE__ */ (function(SuppressedError3) {
8245
8318
  return function(env) {
8246
8319
  function fail(e) {
8247
8320
  env.error = env.hasError ? new SuppressedError3(e, env.error, "An error was suppressed during disposal.") : e;
@@ -8268,7 +8341,7 @@
8268
8341
  }
8269
8342
  return next();
8270
8343
  };
8271
- }(typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
8344
+ })(typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
8272
8345
  var e = new Error(message);
8273
8346
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
8274
8347
  });
@@ -8411,7 +8484,7 @@
8411
8484
  }
8412
8485
  return value;
8413
8486
  };
8414
- var __disposeResources5 = /* @__PURE__ */ function(SuppressedError3) {
8487
+ var __disposeResources5 = /* @__PURE__ */ (function(SuppressedError3) {
8415
8488
  return function(env) {
8416
8489
  function fail(e) {
8417
8490
  env.error = env.hasError ? new SuppressedError3(e, env.error, "An error was suppressed during disposal.") : e;
@@ -8438,7 +8511,7 @@
8438
8511
  }
8439
8512
  return next();
8440
8513
  };
8441
- }(typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
8514
+ })(typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
8442
8515
  var e = new Error(message);
8443
8516
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
8444
8517
  });
@@ -8839,7 +8912,7 @@
8839
8912
  */
8840
8913
  _rawSend(callbacks, method, params, sessionId, options) {
8841
8914
  if (this.#closed) {
8842
- return Promise.reject(new Error("Protocol error: Connection closed."));
8915
+ return Promise.reject(new ConnectionClosedError("Connection closed."));
8843
8916
  }
8844
8917
  return callbacks.create(method, options?.timeout ?? this.#timeout, (id) => {
8845
8918
  const stringifiedMessage = JSON.stringify({
@@ -9811,10 +9884,39 @@
9811
9884
  init_dirname();
9812
9885
  init_buffer2();
9813
9886
 
9814
- // node_modules/puppeteer-core/lib/esm/puppeteer/cdp/AriaQueryHandler.js
9887
+ // node_modules/puppeteer-core/lib/esm/puppeteer/common/AriaQueryHandler.js
9815
9888
  init_dirname();
9816
9889
  init_buffer2();
9817
9890
 
9891
+ // node_modules/puppeteer-core/lib/esm/puppeteer/util/AsyncIterableUtil.js
9892
+ init_dirname();
9893
+ init_buffer2();
9894
+ var AsyncIterableUtil = class {
9895
+ static async *map(iterable, map2) {
9896
+ for await (const value of iterable) {
9897
+ yield await map2(value);
9898
+ }
9899
+ }
9900
+ static async *flatMap(iterable, map2) {
9901
+ for await (const value of iterable) {
9902
+ yield* map2(value);
9903
+ }
9904
+ }
9905
+ static async collect(iterable) {
9906
+ const result = [];
9907
+ for await (const value of iterable) {
9908
+ result.push(value);
9909
+ }
9910
+ return result;
9911
+ }
9912
+ static async first(iterable) {
9913
+ for await (const value of iterable) {
9914
+ return value;
9915
+ }
9916
+ return;
9917
+ }
9918
+ };
9919
+
9818
9920
  // node_modules/puppeteer-core/lib/esm/puppeteer/common/QueryHandler.js
9819
9921
  init_dirname();
9820
9922
  init_buffer2();
@@ -9842,7 +9944,7 @@
9842
9944
  try {
9843
9945
  new Function(`(${value})`);
9844
9946
  } catch (err) {
9845
- if (err.message.includes(`Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an allowed source of script in the following Content Security Policy directive`)) {
9947
+ if (err.message.includes(`Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an allowed source of script in the following Content Security Policy directive`) || err.message.includes("Evaluating a string as JavaScript violates the following Content Security Policy")) {
9846
9948
  return value;
9847
9949
  }
9848
9950
  let prefix = "function ";
@@ -9903,7 +10005,7 @@
9903
10005
  }
9904
10006
  return value;
9905
10007
  };
9906
- var __disposeResources6 = /* @__PURE__ */ function(SuppressedError3) {
10008
+ var __disposeResources6 = /* @__PURE__ */ (function(SuppressedError3) {
9907
10009
  return function(env) {
9908
10010
  function fail(e) {
9909
10011
  env.error = env.hasError ? new SuppressedError3(e, env.error, "An error was suppressed during disposal.") : e;
@@ -9930,7 +10032,7 @@
9930
10032
  }
9931
10033
  return next();
9932
10034
  };
9933
- }(typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
10035
+ })(typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
9934
10036
  var e = new Error(message);
9935
10037
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
9936
10038
  });
@@ -9985,9 +10087,9 @@
9985
10087
  const env_3 = { stack: [], error: void 0, hasError: false };
9986
10088
  try {
9987
10089
  const generatorHandle = __addDisposableResource6(env_3, await handle.evaluateHandle((iterable) => {
9988
- return async function* () {
10090
+ return (async function* () {
9989
10091
  yield* iterable;
9990
- }();
10092
+ })();
9991
10093
  }), false);
9992
10094
  yield* transposeIteratorHandle(generatorHandle);
9993
10095
  } catch (e_3) {
@@ -10042,7 +10144,7 @@
10042
10144
  }
10043
10145
  return value;
10044
10146
  };
10045
- var __disposeResources7 = /* @__PURE__ */ function(SuppressedError3) {
10147
+ var __disposeResources7 = /* @__PURE__ */ (function(SuppressedError3) {
10046
10148
  return function(env) {
10047
10149
  function fail(e) {
10048
10150
  env.error = env.hasError ? new SuppressedError3(e, env.error, "An error was suppressed during disposal.") : e;
@@ -10069,7 +10171,7 @@
10069
10171
  }
10070
10172
  return next();
10071
10173
  };
10072
- }(typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
10174
+ })(typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
10073
10175
  var e = new Error(message);
10074
10176
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
10075
10177
  });
@@ -10210,8 +10312,9 @@
10210
10312
  if (error.name === "AbortError") {
10211
10313
  throw error;
10212
10314
  }
10213
- error.message = `Waiting for selector \`${selector}\` failed: ${error.message}`;
10214
- throw error;
10315
+ const waitForSelectorError = new (error instanceof TimeoutError ? TimeoutError : Error)(`Waiting for selector \`${selector}\` failed`);
10316
+ waitForSelectorError.cause = error;
10317
+ throw waitForSelectorError;
10215
10318
  }
10216
10319
  } catch (e_4) {
10217
10320
  env_3.error = e_4;
@@ -10222,36 +10325,7 @@
10222
10325
  }
10223
10326
  };
10224
10327
 
10225
- // node_modules/puppeteer-core/lib/esm/puppeteer/util/AsyncIterableUtil.js
10226
- init_dirname();
10227
- init_buffer2();
10228
- var AsyncIterableUtil = class {
10229
- static async *map(iterable, map2) {
10230
- for await (const value of iterable) {
10231
- yield await map2(value);
10232
- }
10233
- }
10234
- static async *flatMap(iterable, map2) {
10235
- for await (const value of iterable) {
10236
- yield* map2(value);
10237
- }
10238
- }
10239
- static async collect(iterable) {
10240
- const result = [];
10241
- for await (const value of iterable) {
10242
- result.push(value);
10243
- }
10244
- return result;
10245
- }
10246
- static async first(iterable) {
10247
- for await (const value of iterable) {
10248
- return value;
10249
- }
10250
- return;
10251
- }
10252
- };
10253
-
10254
- // node_modules/puppeteer-core/lib/esm/puppeteer/cdp/AriaQueryHandler.js
10328
+ // node_modules/puppeteer-core/lib/esm/puppeteer/common/AriaQueryHandler.js
10255
10329
  var isKnownAttribute = (attribute) => {
10256
10330
  return ["name", "role"].includes(attribute);
10257
10331
  };
@@ -10307,7 +10381,7 @@
10307
10381
  // node_modules/puppeteer-core/lib/esm/puppeteer/generated/injected.js
10308
10382
  init_dirname();
10309
10383
  init_buffer2();
10310
- var source = '"use strict";var g=Object.defineProperty;var X=Object.getOwnPropertyDescriptor;var B=Object.getOwnPropertyNames;var Y=Object.prototype.hasOwnProperty;var l=(t,e)=>{for(var r in e)g(t,r,{get:e[r],enumerable:!0})},J=(t,e,r,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of B(e))!Y.call(t,n)&&n!==r&&g(t,n,{get:()=>e[n],enumerable:!(o=X(e,n))||o.enumerable});return t};var z=t=>J(g({},"__esModule",{value:!0}),t);var pe={};l(pe,{default:()=>he});module.exports=z(pe);var N=class extends Error{constructor(e,r){super(e,r),this.name=this.constructor.name}get[Symbol.toStringTag](){return this.constructor.name}},p=class extends N{};var c=class t{static create(e){return new t(e)}static async race(e){let r=new Set;try{let o=e.map(n=>n instanceof t?(n.#n&&r.add(n),n.valueOrThrow()):n);return await Promise.race(o)}finally{for(let o of r)o.reject(new Error("Timeout cleared"))}}#e=!1;#r=!1;#o;#t;#a=new Promise(e=>{this.#t=e});#n;#i;constructor(e){e&&e.timeout>0&&(this.#i=new p(e.message),this.#n=setTimeout(()=>{this.reject(this.#i)},e.timeout))}#l(e){clearTimeout(this.#n),this.#o=e,this.#t()}resolve(e){this.#r||this.#e||(this.#e=!0,this.#l(e))}reject(e){this.#r||this.#e||(this.#r=!0,this.#l(e))}resolved(){return this.#e}finished(){return this.#e||this.#r}value(){return this.#o}#s;valueOrThrow(){return this.#s||(this.#s=(async()=>{if(await this.#a,this.#r)throw this.#o;return this.#o})()),this.#s}};var L=new Map,F=t=>{let e=L.get(t);return e||(e=new Function(`return ${t}`)(),L.set(t,e),e)};var x={};l(x,{ariaQuerySelector:()=>G,ariaQuerySelectorAll:()=>b});var G=(t,e)=>globalThis.__ariaQuerySelector(t,e),b=async function*(t,e){yield*await globalThis.__ariaQuerySelectorAll(t,e)};var E={};l(E,{cssQuerySelector:()=>K,cssQuerySelectorAll:()=>Z});var K=(t,e)=>t.querySelector(e),Z=function(t,e){return t.querySelectorAll(e)};var A={};l(A,{customQuerySelectors:()=>P});var v=class{#e=new Map;register(e,r){if(!r.queryOne&&r.queryAll){let o=r.queryAll;r.queryOne=(n,i)=>{for(let s of o(n,i))return s;return null}}else if(r.queryOne&&!r.queryAll){let o=r.queryOne;r.queryAll=(n,i)=>{let s=o(n,i);return s?[s]:[]}}else if(!r.queryOne||!r.queryAll)throw new Error("At least one query method must be defined.");this.#e.set(e,{querySelector:r.queryOne,querySelectorAll:r.queryAll})}unregister(e){this.#e.delete(e)}get(e){return this.#e.get(e)}clear(){this.#e.clear()}},P=new v;var R={};l(R,{pierceQuerySelector:()=>ee,pierceQuerySelectorAll:()=>te});var ee=(t,e)=>{let r=null,o=n=>{let i=document.createTreeWalker(n,NodeFilter.SHOW_ELEMENT);do{let s=i.currentNode;s.shadowRoot&&o(s.shadowRoot),!(s instanceof ShadowRoot)&&s!==n&&!r&&s.matches(e)&&(r=s)}while(!r&&i.nextNode())};return t instanceof Document&&(t=t.documentElement),o(t),r},te=(t,e)=>{let r=[],o=n=>{let i=document.createTreeWalker(n,NodeFilter.SHOW_ELEMENT);do{let s=i.currentNode;s.shadowRoot&&o(s.shadowRoot),!(s instanceof ShadowRoot)&&s!==n&&s.matches(e)&&r.push(s)}while(i.nextNode())};return t instanceof Document&&(t=t.documentElement),o(t),r};var u=(t,e)=>{if(!t)throw new Error(e)};var y=class{#e;#r;#o;#t;constructor(e,r){this.#e=e,this.#r=r}async start(){let e=this.#t=c.create(),r=await this.#e();if(r){e.resolve(r);return}this.#o=new MutationObserver(async()=>{let o=await this.#e();o&&(e.resolve(o),await this.stop())}),this.#o.observe(this.#r,{childList:!0,subtree:!0,attributes:!0})}async stop(){u(this.#t,"Polling never started."),this.#t.finished()||this.#t.reject(new Error("Polling stopped")),this.#o&&(this.#o.disconnect(),this.#o=void 0)}result(){return u(this.#t,"Polling never started."),this.#t.valueOrThrow()}},w=class{#e;#r;constructor(e){this.#e=e}async start(){let e=this.#r=c.create(),r=await this.#e();if(r){e.resolve(r);return}let o=async()=>{if(e.finished())return;let n=await this.#e();if(!n){window.requestAnimationFrame(o);return}e.resolve(n),await this.stop()};window.requestAnimationFrame(o)}async stop(){u(this.#r,"Polling never started."),this.#r.finished()||this.#r.reject(new Error("Polling stopped"))}result(){return u(this.#r,"Polling never started."),this.#r.valueOrThrow()}},S=class{#e;#r;#o;#t;constructor(e,r){this.#e=e,this.#r=r}async start(){let e=this.#t=c.create(),r=await this.#e();if(r){e.resolve(r);return}this.#o=setInterval(async()=>{let o=await this.#e();o&&(e.resolve(o),await this.stop())},this.#r)}async stop(){u(this.#t,"Polling never started."),this.#t.finished()||this.#t.reject(new Error("Polling stopped")),this.#o&&(clearInterval(this.#o),this.#o=void 0)}result(){return u(this.#t,"Polling never started."),this.#t.valueOrThrow()}};var _={};l(_,{PCombinator:()=>H,pQuerySelector:()=>fe,pQuerySelectorAll:()=>$});var a=class{static async*map(e,r){for await(let o of e)yield await r(o)}static async*flatMap(e,r){for await(let o of e)yield*r(o)}static async collect(e){let r=[];for await(let o of e)r.push(o);return r}static async first(e){for await(let r of e)return r}};var C={};l(C,{textQuerySelectorAll:()=>m});var re=new Set(["checkbox","image","radio"]),oe=t=>t instanceof HTMLSelectElement||t instanceof HTMLTextAreaElement||t instanceof HTMLInputElement&&!re.has(t.type),ne=new Set(["SCRIPT","STYLE"]),f=t=>!ne.has(t.nodeName)&&!document.head?.contains(t),I=new WeakMap,j=t=>{for(;t;)I.delete(t),t instanceof ShadowRoot?t=t.host:t=t.parentNode},W=new WeakSet,se=new MutationObserver(t=>{for(let e of t)j(e.target)}),d=t=>{let e=I.get(t);if(e||(e={full:"",immediate:[]},!f(t)))return e;let r="";if(oe(t))e.full=t.value,e.immediate.push(t.value),t.addEventListener("input",o=>{j(o.target)},{once:!0,capture:!0});else{for(let o=t.firstChild;o;o=o.nextSibling){if(o.nodeType===Node.TEXT_NODE){e.full+=o.nodeValue??"",r+=o.nodeValue??"";continue}r&&e.immediate.push(r),r="",o.nodeType===Node.ELEMENT_NODE&&(e.full+=d(o).full)}r&&e.immediate.push(r),t instanceof Element&&t.shadowRoot&&(e.full+=d(t.shadowRoot).full),W.has(t)||(se.observe(t,{childList:!0,characterData:!0,subtree:!0}),W.add(t))}return I.set(t,e),e};var m=function*(t,e){let r=!1;for(let o of t.childNodes)if(o instanceof Element&&f(o)){let n;o.shadowRoot?n=m(o.shadowRoot,e):n=m(o,e);for(let i of n)yield i,r=!0}r||t instanceof Element&&f(t)&&d(t).full.includes(e)&&(yield t)};var k={};l(k,{checkVisibility:()=>le,pierce:()=>T,pierceAll:()=>O});var ie=["hidden","collapse"],le=(t,e)=>{if(!t)return e===!1;if(e===void 0)return t;let r=t.nodeType===Node.TEXT_NODE?t.parentElement:t,o=window.getComputedStyle(r),n=o&&!ie.includes(o.visibility)&&!ae(r);return e===n?t:!1};function ae(t){let e=t.getBoundingClientRect();return e.width===0||e.height===0}var ce=t=>"shadowRoot"in t&&t.shadowRoot instanceof ShadowRoot;function*T(t){ce(t)?yield t.shadowRoot:yield t}function*O(t){t=T(t).next().value,yield t;let e=[document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT)];for(let r of e){let o;for(;o=r.nextNode();)o.shadowRoot&&(yield o.shadowRoot,e.push(document.createTreeWalker(o.shadowRoot,NodeFilter.SHOW_ELEMENT)))}}var Q={};l(Q,{xpathQuerySelectorAll:()=>q});var q=function*(t,e,r=-1){let n=(t.ownerDocument||document).evaluate(e,t,null,XPathResult.ORDERED_NODE_ITERATOR_TYPE),i=[],s;for(;(s=n.iterateNext())&&(i.push(s),!(r&&i.length===r)););for(let h=0;h<i.length;h++)s=i[h],yield s,delete i[h]};var ue=/[-\\w\\P{ASCII}*]/u,H=(r=>(r.Descendent=">>>",r.Child=">>>>",r))(H||{}),V=t=>"querySelectorAll"in t,M=class{#e;#r=[];#o=void 0;elements;constructor(e,r){this.elements=[e],this.#e=r,this.#t()}async run(){if(typeof this.#o=="string")switch(this.#o.trimStart()){case":scope":this.#t();break}for(;this.#o!==void 0;this.#t()){let e=this.#o;typeof e=="string"?e[0]&&ue.test(e[0])?this.elements=a.flatMap(this.elements,async function*(r){V(r)&&(yield*r.querySelectorAll(e))}):this.elements=a.flatMap(this.elements,async function*(r){if(!r.parentElement){if(!V(r))return;yield*r.querySelectorAll(e);return}let o=0;for(let n of r.parentElement.children)if(++o,n===r)break;yield*r.parentElement.querySelectorAll(`:scope>:nth-child(${o})${e}`)}):this.elements=a.flatMap(this.elements,async function*(r){switch(e.name){case"text":yield*m(r,e.value);break;case"xpath":yield*q(r,e.value);break;case"aria":yield*b(r,e.value);break;default:let o=P.get(e.name);if(!o)throw new Error(`Unknown selector type: ${e.name}`);yield*o.querySelectorAll(r,e.value)}})}}#t(){if(this.#r.length!==0){this.#o=this.#r.shift();return}if(this.#e.length===0){this.#o=void 0;return}let e=this.#e.shift();switch(e){case">>>>":{this.elements=a.flatMap(this.elements,T),this.#t();break}case">>>":{this.elements=a.flatMap(this.elements,O),this.#t();break}default:this.#r=e,this.#t();break}}},D=class{#e=new WeakMap;calculate(e,r=[]){if(e===null)return r;e instanceof ShadowRoot&&(e=e.host);let o=this.#e.get(e);if(o)return[...o,...r];let n=0;for(let s=e.previousSibling;s;s=s.previousSibling)++n;let i=this.calculate(e.parentNode,[n]);return this.#e.set(e,i),[...i,...r]}},U=(t,e)=>{if(t.length+e.length===0)return 0;let[r=-1,...o]=t,[n=-1,...i]=e;return r===n?U(o,i):r<n?-1:1},de=async function*(t){let e=new Set;for await(let o of t)e.add(o);let r=new D;yield*[...e.values()].map(o=>[o,r.calculate(o)]).sort(([,o],[,n])=>U(o,n)).map(([o])=>o)},$=function(t,e){let r=JSON.parse(e);if(r.some(o=>{let n=0;return o.some(i=>(typeof i=="string"?++n:n=0,n>1))}))throw new Error("Multiple deep combinators found in sequence.");return de(a.flatMap(r,o=>{let n=new M(t,o);return n.run(),n.elements}))},fe=async function(t,e){for await(let r of $(t,e))return r;return null};var me=Object.freeze({...x,...A,...R,..._,...C,...k,...Q,...E,Deferred:c,createFunction:F,createTextContent:d,IntervalPoller:S,isSuitableNodeForTextMatching:f,MutationPoller:y,RAFPoller:w}),he=me;\n';
10384
+ var source = '"use strict";var g=Object.defineProperty;var X=Object.getOwnPropertyDescriptor;var B=Object.getOwnPropertyNames;var J=Object.prototype.hasOwnProperty;var l=(t,e)=>{for(var r in e)g(t,r,{get:e[r],enumerable:!0})},Y=(t,e,r,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of B(e))!J.call(t,n)&&n!==r&&g(t,n,{get:()=>e[n],enumerable:!(o=X(e,n))||o.enumerable});return t};var z=t=>Y(g({},"__esModule",{value:!0}),t);var pe={};l(pe,{default:()=>he});module.exports=z(pe);var N=class extends Error{constructor(e,r){super(e,r),this.name=this.constructor.name}get[Symbol.toStringTag](){return this.constructor.name}},p=class extends N{};var c=class t{static create(e){return new t(e)}static async race(e){let r=new Set;try{let o=e.map(n=>n instanceof t?(n.#n&&r.add(n),n.valueOrThrow()):n);return await Promise.race(o)}finally{for(let o of r)o.reject(new Error("Timeout cleared"))}}#e=!1;#r=!1;#o;#t;#a=new Promise(e=>{this.#t=e});#n;#i;constructor(e){e&&e.timeout>0&&(this.#i=new p(e.message),this.#n=setTimeout(()=>{this.reject(this.#i)},e.timeout))}#l(e){clearTimeout(this.#n),this.#o=e,this.#t()}resolve(e){this.#r||this.#e||(this.#e=!0,this.#l(e))}reject(e){this.#r||this.#e||(this.#r=!0,this.#l(e))}resolved(){return this.#e}finished(){return this.#e||this.#r}value(){return this.#o}#s;valueOrThrow(){return this.#s||(this.#s=(async()=>{if(await this.#a,this.#r)throw this.#o;return this.#o})()),this.#s}};var L=new Map,F=t=>{let e=L.get(t);return e||(e=new Function(`return ${t}`)(),L.set(t,e),e)};var b={};l(b,{ariaQuerySelector:()=>G,ariaQuerySelectorAll:()=>x});var G=(t,e)=>globalThis.__ariaQuerySelector(t,e),x=async function*(t,e){yield*await globalThis.__ariaQuerySelectorAll(t,e)};var E={};l(E,{cssQuerySelector:()=>K,cssQuerySelectorAll:()=>Z});var K=(t,e)=>t.querySelector(e),Z=function(t,e){return t.querySelectorAll(e)};var A={};l(A,{customQuerySelectors:()=>P});var v=class{#e=new Map;register(e,r){if(!r.queryOne&&r.queryAll){let o=r.queryAll;r.queryOne=(n,i)=>{for(let s of o(n,i))return s;return null}}else if(r.queryOne&&!r.queryAll){let o=r.queryOne;r.queryAll=(n,i)=>{let s=o(n,i);return s?[s]:[]}}else if(!r.queryOne||!r.queryAll)throw new Error("At least one query method must be defined.");this.#e.set(e,{querySelector:r.queryOne,querySelectorAll:r.queryAll})}unregister(e){this.#e.delete(e)}get(e){return this.#e.get(e)}clear(){this.#e.clear()}},P=new v;var R={};l(R,{pierceQuerySelector:()=>ee,pierceQuerySelectorAll:()=>te});var ee=(t,e)=>{let r=null,o=n=>{let i=document.createTreeWalker(n,NodeFilter.SHOW_ELEMENT);do{let s=i.currentNode;s.shadowRoot&&o(s.shadowRoot),!(s instanceof ShadowRoot)&&s!==n&&!r&&s.matches(e)&&(r=s)}while(!r&&i.nextNode())};return t instanceof Document&&(t=t.documentElement),o(t),r},te=(t,e)=>{let r=[],o=n=>{let i=document.createTreeWalker(n,NodeFilter.SHOW_ELEMENT);do{let s=i.currentNode;s.shadowRoot&&o(s.shadowRoot),!(s instanceof ShadowRoot)&&s!==n&&s.matches(e)&&r.push(s)}while(i.nextNode())};return t instanceof Document&&(t=t.documentElement),o(t),r};var u=(t,e)=>{if(!t)throw new Error(e)};var y=class{#e;#r;#o;#t;constructor(e,r){this.#e=e,this.#r=r}async start(){let e=this.#t=c.create(),r=await this.#e();if(r){e.resolve(r);return}this.#o=new MutationObserver(async()=>{let o=await this.#e();o&&(e.resolve(o),await this.stop())}),this.#o.observe(this.#r,{childList:!0,subtree:!0,attributes:!0})}async stop(){u(this.#t,"Polling never started."),this.#t.finished()||this.#t.reject(new Error("Polling stopped")),this.#o&&(this.#o.disconnect(),this.#o=void 0)}result(){return u(this.#t,"Polling never started."),this.#t.valueOrThrow()}},w=class{#e;#r;constructor(e){this.#e=e}async start(){let e=this.#r=c.create(),r=await this.#e();if(r){e.resolve(r);return}let o=async()=>{if(e.finished())return;let n=await this.#e();if(!n){window.requestAnimationFrame(o);return}e.resolve(n),await this.stop()};window.requestAnimationFrame(o)}async stop(){u(this.#r,"Polling never started."),this.#r.finished()||this.#r.reject(new Error("Polling stopped"))}result(){return u(this.#r,"Polling never started."),this.#r.valueOrThrow()}},S=class{#e;#r;#o;#t;constructor(e,r){this.#e=e,this.#r=r}async start(){let e=this.#t=c.create(),r=await this.#e();if(r){e.resolve(r);return}this.#o=setInterval(async()=>{let o=await this.#e();o&&(e.resolve(o),await this.stop())},this.#r)}async stop(){u(this.#t,"Polling never started."),this.#t.finished()||this.#t.reject(new Error("Polling stopped")),this.#o&&(clearInterval(this.#o),this.#o=void 0)}result(){return u(this.#t,"Polling never started."),this.#t.valueOrThrow()}};var _={};l(_,{PCombinator:()=>H,pQuerySelector:()=>fe,pQuerySelectorAll:()=>$});var a=class{static async*map(e,r){for await(let o of e)yield await r(o)}static async*flatMap(e,r){for await(let o of e)yield*r(o)}static async collect(e){let r=[];for await(let o of e)r.push(o);return r}static async first(e){for await(let r of e)return r}};var C={};l(C,{textQuerySelectorAll:()=>m});var re=new Set(["checkbox","image","radio"]),oe=t=>t instanceof HTMLSelectElement||t instanceof HTMLTextAreaElement||t instanceof HTMLInputElement&&!re.has(t.type),ne=new Set(["SCRIPT","STYLE"]),f=t=>!ne.has(t.nodeName)&&!document.head?.contains(t),I=new WeakMap,W=t=>{for(;t;)I.delete(t),t instanceof ShadowRoot?t=t.host:t=t.parentNode},j=new WeakSet,se=new MutationObserver(t=>{for(let e of t)W(e.target)}),d=t=>{let e=I.get(t);if(e||(e={full:"",immediate:[]},!f(t)))return e;let r="";if(oe(t))e.full=t.value,e.immediate.push(t.value),t.addEventListener("input",o=>{W(o.target)},{once:!0,capture:!0});else{for(let o=t.firstChild;o;o=o.nextSibling){if(o.nodeType===Node.TEXT_NODE){e.full+=o.nodeValue??"",r+=o.nodeValue??"";continue}r&&e.immediate.push(r),r="",o.nodeType===Node.ELEMENT_NODE&&(e.full+=d(o).full)}r&&e.immediate.push(r),t instanceof Element&&t.shadowRoot&&(e.full+=d(t.shadowRoot).full),j.has(t)||(se.observe(t,{childList:!0,characterData:!0,subtree:!0}),j.add(t))}return I.set(t,e),e};var m=function*(t,e){let r=!1;for(let o of t.childNodes)if(o instanceof Element&&f(o)){let n;o.shadowRoot?n=m(o.shadowRoot,e):n=m(o,e);for(let i of n)yield i,r=!0}r||t instanceof Element&&f(t)&&d(t).full.includes(e)&&(yield t)};var k={};l(k,{checkVisibility:()=>le,pierce:()=>T,pierceAll:()=>O});var ie=["hidden","collapse"],le=(t,e)=>{if(!t)return e===!1;if(e===void 0)return t;let r=t.nodeType===Node.TEXT_NODE?t.parentElement:t,o=window.getComputedStyle(r),n=o&&!ie.includes(o.visibility)&&!ae(r);return e===n?t:!1};function ae(t){let e=t.getBoundingClientRect();return e.width===0||e.height===0}var ce=t=>"shadowRoot"in t&&t.shadowRoot instanceof ShadowRoot;function*T(t){ce(t)?yield t.shadowRoot:yield t}function*O(t){t=T(t).next().value,yield t;let e=[document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT)];for(let r of e){let o;for(;o=r.nextNode();)o.shadowRoot&&(yield o.shadowRoot,e.push(document.createTreeWalker(o.shadowRoot,NodeFilter.SHOW_ELEMENT)))}}var Q={};l(Q,{xpathQuerySelectorAll:()=>q});var q=function*(t,e,r=-1){let n=(t.ownerDocument||document).evaluate(e,t,null,XPathResult.ORDERED_NODE_ITERATOR_TYPE),i=[],s;for(;(s=n.iterateNext())&&(i.push(s),!(r&&i.length===r)););for(let h=0;h<i.length;h++)s=i[h],yield s,delete i[h]};var ue=/[-\\w\\P{ASCII}*]/u,H=(r=>(r.Descendent=">>>",r.Child=">>>>",r))(H||{}),V=t=>"querySelectorAll"in t,M=class{#e;#r=[];#o=void 0;elements;constructor(e,r){this.elements=[e],this.#e=r,this.#t()}async run(){if(typeof this.#o=="string")switch(this.#o.trimStart()){case":scope":this.#t();break}for(;this.#o!==void 0;this.#t()){let e=this.#o;typeof e=="string"?e[0]&&ue.test(e[0])?this.elements=a.flatMap(this.elements,async function*(r){V(r)&&(yield*r.querySelectorAll(e))}):this.elements=a.flatMap(this.elements,async function*(r){if(!r.parentElement){if(!V(r))return;yield*r.querySelectorAll(e);return}let o=0;for(let n of r.parentElement.children)if(++o,n===r)break;yield*r.parentElement.querySelectorAll(`:scope>:nth-child(${o})${e}`)}):this.elements=a.flatMap(this.elements,async function*(r){switch(e.name){case"text":yield*m(r,e.value);break;case"xpath":yield*q(r,e.value);break;case"aria":yield*x(r,e.value);break;default:let o=P.get(e.name);if(!o)throw new Error(`Unknown selector type: ${e.name}`);yield*o.querySelectorAll(r,e.value)}})}}#t(){if(this.#r.length!==0){this.#o=this.#r.shift();return}if(this.#e.length===0){this.#o=void 0;return}let e=this.#e.shift();switch(e){case">>>>":{this.elements=a.flatMap(this.elements,T),this.#t();break}case">>>":{this.elements=a.flatMap(this.elements,O),this.#t();break}default:this.#r=e,this.#t();break}}},D=class{#e=new WeakMap;calculate(e,r=[]){if(e===null)return r;e instanceof ShadowRoot&&(e=e.host);let o=this.#e.get(e);if(o)return[...o,...r];let n=0;for(let s=e.previousSibling;s;s=s.previousSibling)++n;let i=this.calculate(e.parentNode,[n]);return this.#e.set(e,i),[...i,...r]}},U=(t,e)=>{if(t.length+e.length===0)return 0;let[r=-1,...o]=t,[n=-1,...i]=e;return r===n?U(o,i):r<n?-1:1},de=async function*(t){let e=new Set;for await(let o of t)e.add(o);let r=new D;yield*[...e.values()].map(o=>[o,r.calculate(o)]).sort(([,o],[,n])=>U(o,n)).map(([o])=>o)},$=function(t,e){let r=JSON.parse(e);if(r.some(o=>{let n=0;return o.some(i=>(typeof i=="string"?++n:n=0,n>1))}))throw new Error("Multiple deep combinators found in sequence.");return de(a.flatMap(r,o=>{let n=new M(t,o);return n.run(),n.elements}))},fe=async function(t,e){for await(let r of $(t,e))return r;return null};var me=Object.freeze({...b,...A,...R,..._,...C,...k,...Q,...E,Deferred:c,createFunction:F,createTextContent:d,IntervalPoller:S,isSuitableNodeForTextMatching:f,MutationPoller:y,RAFPoller:w}),he=me;\n';
10311
10385
 
10312
10386
  // node_modules/puppeteer-core/lib/esm/puppeteer/common/ScriptInjector.js
10313
10387
  var ScriptInjector = class {
@@ -10869,7 +10943,7 @@
10869
10943
  }
10870
10944
  return value;
10871
10945
  };
10872
- var __disposeResources8 = /* @__PURE__ */ function(SuppressedError3) {
10946
+ var __disposeResources8 = /* @__PURE__ */ (function(SuppressedError3) {
10873
10947
  return function(env) {
10874
10948
  function fail(e) {
10875
10949
  env.error = env.hasError ? new SuppressedError3(e, env.error, "An error was suppressed during disposal.") : e;
@@ -10896,7 +10970,7 @@
10896
10970
  }
10897
10971
  return next();
10898
10972
  };
10899
- }(typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
10973
+ })(typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
10900
10974
  var e = new Error(message);
10901
10975
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
10902
10976
  });
@@ -11081,11 +11155,11 @@
11081
11155
  /**
11082
11156
  * @internal
11083
11157
  */
11084
- locator(selectorOrFunc) {
11085
- if (typeof selectorOrFunc === "string") {
11086
- return NodeLocator.create(this, selectorOrFunc);
11158
+ locator(input) {
11159
+ if (typeof input === "string") {
11160
+ return NodeLocator.create(this, input);
11087
11161
  } else {
11088
- return FunctionLocator.create(this, selectorOrFunc);
11162
+ return FunctionLocator.create(this, input);
11089
11163
  }
11090
11164
  }
11091
11165
  /**
@@ -11895,7 +11969,7 @@
11895
11969
  }
11896
11970
  return value;
11897
11971
  };
11898
- var __disposeResources9 = /* @__PURE__ */ function(SuppressedError3) {
11972
+ var __disposeResources9 = /* @__PURE__ */ (function(SuppressedError3) {
11899
11973
  return function(env) {
11900
11974
  function fail(e) {
11901
11975
  env.error = env.hasError ? new SuppressedError3(e, env.error, "An error was suppressed during disposal.") : e;
@@ -11922,7 +11996,7 @@
11922
11996
  }
11923
11997
  return next();
11924
11998
  };
11925
- }(typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
11999
+ })(typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
11926
12000
  var e = new Error(message);
11927
12001
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
11928
12002
  });
@@ -12000,6 +12074,7 @@
12000
12074
  let _screenshot_decorators;
12001
12075
  let _isIntersectingViewport_decorators;
12002
12076
  let _scrollIntoView_decorators;
12077
+ let _asLocator_decorators;
12003
12078
  return class ElementHandle2 extends _classSuper {
12004
12079
  static {
12005
12080
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
@@ -12034,6 +12109,7 @@
12034
12109
  _screenshot_decorators = [throwIfDisposed(), bindIsolatedHandle];
12035
12110
  _isIntersectingViewport_decorators = [throwIfDisposed(), bindIsolatedHandle];
12036
12111
  _scrollIntoView_decorators = [throwIfDisposed(), bindIsolatedHandle];
12112
+ _asLocator_decorators = [throwIfDisposed()];
12037
12113
  __esDecorate5(this, null, _getProperty_decorators, { kind: "method", name: "getProperty", static: false, private: false, access: { has: (obj) => "getProperty" in obj, get: (obj) => obj.getProperty }, metadata: _metadata }, null, _instanceExtraInitializers);
12038
12114
  __esDecorate5(this, null, _getProperties_decorators, { kind: "method", name: "getProperties", static: false, private: false, access: { has: (obj) => "getProperties" in obj, get: (obj) => obj.getProperties }, metadata: _metadata }, null, _instanceExtraInitializers);
12039
12115
  __esDecorate5(this, null, _jsonValue_decorators, { kind: "method", name: "jsonValue", static: false, private: false, access: { has: (obj) => "jsonValue" in obj, get: (obj) => obj.jsonValue }, metadata: _metadata }, null, _instanceExtraInitializers);
@@ -12067,6 +12143,7 @@
12067
12143
  __esDecorate5(this, null, _screenshot_decorators, { kind: "method", name: "screenshot", static: false, private: false, access: { has: (obj) => "screenshot" in obj, get: (obj) => obj.screenshot }, metadata: _metadata }, null, _instanceExtraInitializers);
12068
12144
  __esDecorate5(this, null, _isIntersectingViewport_decorators, { kind: "method", name: "isIntersectingViewport", static: false, private: false, access: { has: (obj) => "isIntersectingViewport" in obj, get: (obj) => obj.isIntersectingViewport }, metadata: _metadata }, null, _instanceExtraInitializers);
12069
12145
  __esDecorate5(this, null, _scrollIntoView_decorators, { kind: "method", name: "scrollIntoView", static: false, private: false, access: { has: (obj) => "scrollIntoView" in obj, get: (obj) => obj.scrollIntoView }, metadata: _metadata }, null, _instanceExtraInitializers);
12146
+ __esDecorate5(this, null, _asLocator_decorators, { kind: "method", name: "asLocator", static: false, private: false, access: { has: (obj) => "asLocator" in obj, get: (obj) => obj.asLocator }, metadata: _metadata }, null, _instanceExtraInitializers);
12070
12147
  if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
12071
12148
  }
12072
12149
  /**
@@ -13101,6 +13178,14 @@
13101
13178
  });
13102
13179
  });
13103
13180
  }
13181
+ /**
13182
+ * Creates a locator based on an ElementHandle. This would not allow
13183
+ * refreshing the element handle if it is stale but it allows re-using other
13184
+ * locator pre-conditions.
13185
+ */
13186
+ asLocator() {
13187
+ return NodeLocator.createFromHandle(this.frame, this);
13188
+ }
13104
13189
  /**
13105
13190
  * Returns true if an element is an SVGElement (included svg, path, rect
13106
13191
  * etc.).
@@ -13568,7 +13653,7 @@
13568
13653
  }
13569
13654
  return value;
13570
13655
  };
13571
- var __disposeResources10 = /* @__PURE__ */ function(SuppressedError3) {
13656
+ var __disposeResources10 = /* @__PURE__ */ (function(SuppressedError3) {
13572
13657
  return function(env) {
13573
13658
  function fail(e) {
13574
13659
  env.error = env.hasError ? new SuppressedError3(e, env.error, "An error was suppressed during disposal.") : e;
@@ -13595,17 +13680,17 @@
13595
13680
  }
13596
13681
  return next();
13597
13682
  };
13598
- }(typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
13683
+ })(typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
13599
13684
  var e = new Error(message);
13600
13685
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
13601
13686
  });
13602
13687
  var ariaQuerySelectorBinding = new Binding("__ariaQuerySelector", ARIAQueryHandler.queryOne, "");
13603
- var ariaQuerySelectorAllBinding = new Binding("__ariaQuerySelectorAll", async (element, selector) => {
13688
+ var ariaQuerySelectorAllBinding = new Binding("__ariaQuerySelectorAll", (async (element, selector) => {
13604
13689
  const results = ARIAQueryHandler.queryAll(element, selector);
13605
13690
  return await element.realm.evaluateHandle((...elements) => {
13606
13691
  return elements;
13607
13692
  }, ...await AsyncIterableUtil.collect(results));
13608
- }, "");
13693
+ }), "");
13609
13694
  var ExecutionContext = class extends EventEmitter {
13610
13695
  #client;
13611
13696
  #world;
@@ -13989,7 +14074,7 @@ ${sourceUrlComment}
13989
14074
  }
13990
14075
  return value;
13991
14076
  };
13992
- var __disposeResources11 = /* @__PURE__ */ function(SuppressedError3) {
14077
+ var __disposeResources11 = /* @__PURE__ */ (function(SuppressedError3) {
13993
14078
  return function(env) {
13994
14079
  function fail(e) {
13995
14080
  env.error = env.hasError ? new SuppressedError3(e, env.error, "An error was suppressed during disposal.") : e;
@@ -14016,7 +14101,7 @@ ${sourceUrlComment}
14016
14101
  }
14017
14102
  return next();
14018
14103
  };
14019
- }(typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
14104
+ })(typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
14020
14105
  var e = new Error(message);
14021
14106
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
14022
14107
  });
@@ -14130,9 +14215,6 @@ ${sourceUrlComment}
14130
14215
  }
14131
14216
  const interestingNodes = /* @__PURE__ */ new Set();
14132
14217
  this.collectInterestingNodes(interestingNodes, defaultRoot, false);
14133
- if (!interestingNodes.has(needle)) {
14134
- return null;
14135
- }
14136
14218
  return this.serializeTree(needle, interestingNodes)[0] ?? null;
14137
14219
  }
14138
14220
  serializeTree(node, interestingNodes) {
@@ -14179,7 +14261,6 @@ ${sourceUrlComment}
14179
14261
  #name;
14180
14262
  #role;
14181
14263
  #ignored;
14182
- #cachedHasFocusableChild;
14183
14264
  #realm;
14184
14265
  constructor(realm, payload) {
14185
14266
  this.payload = payload;
@@ -14213,18 +14294,6 @@ ${sourceUrlComment}
14213
14294
  const role = this.#role;
14214
14295
  return role === "LineBreak" || role === "text" || role === "InlineTextBox" || role === "StaticText";
14215
14296
  }
14216
- #hasFocusableChild() {
14217
- if (this.#cachedHasFocusableChild === void 0) {
14218
- this.#cachedHasFocusableChild = false;
14219
- for (const child of this.children) {
14220
- if (child.#focusable || child.#hasFocusableChild()) {
14221
- this.#cachedHasFocusableChild = true;
14222
- break;
14223
- }
14224
- }
14225
- }
14226
- return this.#cachedHasFocusableChild;
14227
- }
14228
14297
  find(predicate) {
14229
14298
  if (predicate(this)) {
14230
14299
  return this;
@@ -14258,12 +14327,6 @@ ${sourceUrlComment}
14258
14327
  default:
14259
14328
  break;
14260
14329
  }
14261
- if (this.#hasFocusableChild()) {
14262
- return false;
14263
- }
14264
- if (this.#focusable && this.#name) {
14265
- return true;
14266
- }
14267
14330
  if (this.#role === "heading" && this.#name) {
14268
14331
  return true;
14269
14332
  }
@@ -14330,10 +14393,21 @@ ${sourceUrlComment}
14330
14393
  const node = {
14331
14394
  role: this.#role,
14332
14395
  elementHandle: async () => {
14333
- if (!this.payload.backendDOMNodeId) {
14334
- return null;
14396
+ const env_2 = { stack: [], error: void 0, hasError: false };
14397
+ try {
14398
+ if (!this.payload.backendDOMNodeId) {
14399
+ return null;
14400
+ }
14401
+ const handle = __addDisposableResource11(env_2, await this.#realm.adoptBackendNode(this.payload.backendDOMNodeId), false);
14402
+ return await handle.evaluateHandle((node2) => {
14403
+ return node2.nodeType === Node.TEXT_NODE ? node2.parentElement : node2;
14404
+ });
14405
+ } catch (e_2) {
14406
+ env_2.error = e_2;
14407
+ env_2.hasError = true;
14408
+ } finally {
14409
+ __disposeResources11(env_2);
14335
14410
  }
14336
- return await this.#realm.adoptBackendNode(this.payload.backendDOMNodeId);
14337
14411
  }
14338
14412
  };
14339
14413
  const userStringProperties = [
@@ -14467,6 +14541,7 @@ ${sourceUrlComment}
14467
14541
  #fn;
14468
14542
  #args;
14469
14543
  #timeout;
14544
+ #genericError = new Error("Waiting failed");
14470
14545
  #timeoutError;
14471
14546
  #result = Deferred.create();
14472
14547
  #poller;
@@ -14555,7 +14630,8 @@ ${sourceUrlComment}
14555
14630
  }
14556
14631
  const badError = this.getBadError(error);
14557
14632
  if (badError) {
14558
- await this.terminate(badError);
14633
+ this.#genericError.cause = badError;
14634
+ await this.terminate(this.#genericError);
14559
14635
  }
14560
14636
  }
14561
14637
  }
@@ -14818,6 +14894,7 @@ ${sourceUrlComment}
14818
14894
  #sameDocumentNavigationDeferred = Deferred.create();
14819
14895
  #lifecycleDeferred = Deferred.create();
14820
14896
  #newDocumentNavigationDeferred = Deferred.create();
14897
+ #error = new Error("LifecycleWatcher terminated");
14821
14898
  #hasSameDocumentNavigation;
14822
14899
  #swapped;
14823
14900
  #navigationResponseReceived;
@@ -14834,6 +14911,9 @@ ${sourceUrlComment}
14834
14911
  return protocolEvent;
14835
14912
  });
14836
14913
  signal?.addEventListener("abort", () => {
14914
+ if (signal.reason instanceof Error) {
14915
+ signal.reason.cause = this.#error;
14916
+ }
14837
14917
  this.#terminationDeferred.reject(signal.reason);
14838
14918
  });
14839
14919
  this.#frame = frame;
@@ -14881,7 +14961,8 @@ ${sourceUrlComment}
14881
14961
  }
14882
14962
  #onFrameDetached(frame) {
14883
14963
  if (this.#frame === frame) {
14884
- this.#terminationDeferred.resolve(new Error("Navigating frame was detached"));
14964
+ this.#error.message = "Navigating frame was detached";
14965
+ this.#terminationDeferred.resolve(this.#error);
14885
14966
  return;
14886
14967
  }
14887
14968
  this.#checkLifecycleComplete();
@@ -14943,7 +15024,8 @@ ${sourceUrlComment}
14943
15024
  }
14944
15025
  dispose() {
14945
15026
  this.#subscriptions.dispose();
14946
- this.#terminationDeferred.resolve(new Error("LifecycleWatcher disposed"));
15027
+ this.#error.cause = new Error("LifecycleWatcher disposed");
15028
+ this.#terminationDeferred.resolve(this.#error);
14947
15029
  }
14948
15030
  };
14949
15031
 
@@ -16272,11 +16354,12 @@ ${sourceUrlComment}
16272
16354
  #credentials = null;
16273
16355
  #attemptedAuthentications = /* @__PURE__ */ new Set();
16274
16356
  #userRequestInterceptionEnabled = false;
16275
- #protocolRequestInterceptionEnabled = false;
16357
+ #protocolRequestInterceptionEnabled;
16276
16358
  #userCacheDisabled;
16277
16359
  #emulatedNetworkConditions;
16278
16360
  #userAgent;
16279
16361
  #userAgentMetadata;
16362
+ #platform;
16280
16363
  #handlers = [
16281
16364
  ["Fetch.requestPaused", this.#onRequestPaused],
16282
16365
  ["Fetch.authRequired", this.#onAuthRequired],
@@ -16384,7 +16467,7 @@ ${sourceUrlComment}
16384
16467
  async emulateNetworkConditions(networkConditions) {
16385
16468
  if (!this.#emulatedNetworkConditions) {
16386
16469
  this.#emulatedNetworkConditions = {
16387
- offline: false,
16470
+ offline: networkConditions?.offline ?? false,
16388
16471
  upload: -1,
16389
16472
  download: -1,
16390
16473
  latency: 0
@@ -16393,6 +16476,7 @@ ${sourceUrlComment}
16393
16476
  this.#emulatedNetworkConditions.upload = networkConditions ? networkConditions.upload : -1;
16394
16477
  this.#emulatedNetworkConditions.download = networkConditions ? networkConditions.download : -1;
16395
16478
  this.#emulatedNetworkConditions.latency = networkConditions ? networkConditions.latency : 0;
16479
+ this.#emulatedNetworkConditions.offline = networkConditions?.offline ?? false;
16396
16480
  await this.#applyToAllClients(this.#applyNetworkConditions.bind(this));
16397
16481
  }
16398
16482
  async #applyToAllClients(fn) {
@@ -16418,9 +16502,10 @@ ${sourceUrlComment}
16418
16502
  throw error;
16419
16503
  }
16420
16504
  }
16421
- async setUserAgent(userAgent, userAgentMetadata) {
16505
+ async setUserAgent(userAgent, userAgentMetadata, platform) {
16422
16506
  this.#userAgent = userAgent;
16423
16507
  this.#userAgentMetadata = userAgentMetadata;
16508
+ this.#platform = platform;
16424
16509
  await this.#applyToAllClients(this.#applyUserAgent.bind(this));
16425
16510
  }
16426
16511
  async #applyUserAgent(client) {
@@ -16430,7 +16515,8 @@ ${sourceUrlComment}
16430
16515
  try {
16431
16516
  await client.send("Network.setUserAgentOverride", {
16432
16517
  userAgent: this.#userAgent,
16433
- userAgentMetadata: this.#userAgentMetadata
16518
+ userAgentMetadata: this.#userAgentMetadata,
16519
+ platform: this.#platform
16434
16520
  });
16435
16521
  } catch (error) {
16436
16522
  if (this.#canIgnoreError(error)) {
@@ -16453,6 +16539,9 @@ ${sourceUrlComment}
16453
16539
  await this.#applyToAllClients(this.#applyProtocolRequestInterception.bind(this));
16454
16540
  }
16455
16541
  async #applyProtocolRequestInterception(client) {
16542
+ if (this.#protocolRequestInterceptionEnabled === void 0) {
16543
+ return;
16544
+ }
16456
16545
  if (this.#userCacheDisabled === void 0) {
16457
16546
  this.#userCacheDisabled = false;
16458
16547
  }
@@ -18359,7 +18448,7 @@ ${sourceUrlComment}
18359
18448
  }
18360
18449
  return value;
18361
18450
  };
18362
- var __disposeResources12 = /* @__PURE__ */ function(SuppressedError3) {
18451
+ var __disposeResources12 = /* @__PURE__ */ (function(SuppressedError3) {
18363
18452
  return function(env) {
18364
18453
  function fail(e) {
18365
18454
  env.error = env.hasError ? new SuppressedError3(e, env.error, "An error was suppressed during disposal.") : e;
@@ -18386,7 +18475,7 @@ ${sourceUrlComment}
18386
18475
  }
18387
18476
  return next();
18388
18477
  };
18389
- }(typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
18478
+ })(typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
18390
18479
  var e = new Error(message);
18391
18480
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
18392
18481
  });
@@ -18593,6 +18682,14 @@ ${sourceUrlComment}
18593
18682
  }
18594
18683
  }
18595
18684
  }
18685
+ async resize(params) {
18686
+ const { windowId } = await this.#primaryTargetClient.send("Browser.getWindowForTarget");
18687
+ await this.#primaryTargetClient.send("Browser.setContentsSize", {
18688
+ windowId,
18689
+ width: params.contentWidth,
18690
+ height: params.contentHeight
18691
+ });
18692
+ }
18596
18693
  async #onFileChooser(event) {
18597
18694
  const env_1 = { stack: [], error: void 0, hasError: false };
18598
18695
  try {
@@ -18849,8 +18946,13 @@ ${sourceUrlComment}
18849
18946
  async setExtraHTTPHeaders(headers) {
18850
18947
  return await this.#frameManager.networkManager.setExtraHTTPHeaders(headers);
18851
18948
  }
18852
- async setUserAgent(userAgent, userAgentMetadata) {
18853
- return await this.#frameManager.networkManager.setUserAgent(userAgent, userAgentMetadata);
18949
+ async setUserAgent(userAgentOrOptions, userAgentMetadata) {
18950
+ if (typeof userAgentOrOptions === "string") {
18951
+ return await this.#frameManager.networkManager.setUserAgent(userAgentOrOptions, userAgentMetadata);
18952
+ } else {
18953
+ const userAgent = userAgentOrOptions.userAgent ?? await this.browser().userAgent();
18954
+ return await this.#frameManager.networkManager.setUserAgent(userAgent, userAgentOrOptions.userAgentMetadata, userAgentOrOptions.platform);
18955
+ }
18854
18956
  }
18855
18957
  async metrics() {
18856
18958
  const response = await this.#primaryTargetClient.send("Performance.getMetrics");
@@ -18958,7 +19060,7 @@ ${sourceUrlComment}
18958
19060
  const history = await this.#primaryTargetClient.send("Page.getNavigationHistory");
18959
19061
  const entry = history.entries[history.currentIndex + delta];
18960
19062
  if (!entry) {
18961
- return null;
19063
+ throw new Error("History entry to navigate to not found.");
18962
19064
  }
18963
19065
  const result = await Promise.all([
18964
19066
  this.waitForNavigation(options),
@@ -19101,7 +19203,7 @@ ${sourceUrlComment}
19101
19203
  try {
19102
19204
  const _guard = __addDisposableResource12(env_3, await this.browserContext().waitForScreenshotOperations(), false);
19103
19205
  const connection = this.#primaryTargetClient.connection();
19104
- assert(connection, "Protocol error: Connection closed. Most likely the page has been closed.");
19206
+ assert(connection, "Connection closed. Most likely the page has been closed.");
19105
19207
  const runBeforeUnload = !!options.runBeforeUnload;
19106
19208
  if (runBeforeUnload) {
19107
19209
  await this.#primaryTargetClient.send("Page.close");
@@ -19220,7 +19322,7 @@ ${sourceUrlComment}
19220
19322
  }
19221
19323
  return value;
19222
19324
  };
19223
- var __disposeResources13 = /* @__PURE__ */ function(SuppressedError3) {
19325
+ var __disposeResources13 = /* @__PURE__ */ (function(SuppressedError3) {
19224
19326
  return function(env) {
19225
19327
  function fail(e) {
19226
19328
  env.error = env.hasError ? new SuppressedError3(e, env.error, "An error was suppressed during disposal.") : e;
@@ -19247,7 +19349,7 @@ ${sourceUrlComment}
19247
19349
  }
19248
19350
  return next();
19249
19351
  };
19250
- }(typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
19352
+ })(typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
19251
19353
  var e = new Error(message);
19252
19354
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
19253
19355
  });
@@ -20166,7 +20268,7 @@ puppeteer-core/lib/esm/puppeteer/common/Debug.js:
20166
20268
  puppeteer-core/lib/esm/puppeteer/common/PDFOptions.js:
20167
20269
  puppeteer-core/lib/esm/puppeteer/common/ConsoleMessage.js:
20168
20270
  puppeteer-core/lib/esm/puppeteer/common/FileChooser.js:
20169
- puppeteer-core/lib/esm/puppeteer/cdp/AriaQueryHandler.js:
20271
+ puppeteer-core/lib/esm/puppeteer/common/AriaQueryHandler.js:
20170
20272
  puppeteer-core/lib/esm/puppeteer/common/SecurityDetails.js:
20171
20273
  puppeteer-core/lib/esm/puppeteer/cdp/BrowserConnector.js:
20172
20274
  (**