@browserless.io/browserless 2.36.0 → 2.37.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (559) hide show
  1. package/CHANGELOG.md +16 -2
  2. package/build/browsers/index.d.ts +1 -0
  3. package/build/browsers/index.js +18 -2
  4. package/build/http.d.ts +3 -2
  5. package/build/http.js +3 -2
  6. package/build/routes/chrome/http/content.post.query.json +3 -0
  7. package/build/routes/chrome/http/download.post.query.json +3 -0
  8. package/build/routes/chrome/http/function.post.query.json +3 -0
  9. package/build/routes/chrome/http/pdf.post.query.json +3 -0
  10. package/build/routes/chrome/http/performance.post.query.json +3 -0
  11. package/build/routes/chrome/http/scrape.post.query.json +3 -0
  12. package/build/routes/chrome/http/screenshot.post.query.json +3 -0
  13. package/build/routes/chrome/tests/content.spec.js +21 -0
  14. package/build/routes/chrome/tests/json.spec.js +100 -0
  15. package/build/routes/chrome/tests/kill-sessions.spec.js +0 -11
  16. package/build/routes/chrome/ws/browser.query.json +3 -0
  17. package/build/routes/chrome/ws/cdp.query.json +3 -0
  18. package/build/routes/chrome/ws/function-connect.d.ts +7 -0
  19. package/build/routes/chrome/ws/function-connect.js +6 -0
  20. package/build/routes/chrome/ws/function-connect.query.json +123 -0
  21. package/build/routes/chrome/ws/page.query.json +3 -0
  22. package/build/routes/chromium/http/content.post.query.json +3 -0
  23. package/build/routes/chromium/http/download.post.query.json +3 -0
  24. package/build/routes/chromium/http/function.post.query.json +3 -0
  25. package/build/routes/chromium/http/pdf.post.query.json +3 -0
  26. package/build/routes/chromium/http/performance.post.query.json +3 -0
  27. package/build/routes/chromium/http/scrape.post.query.json +3 -0
  28. package/build/routes/chromium/http/screenshot.post.query.json +3 -0
  29. package/build/routes/chromium/tests/content.spec.js +21 -0
  30. package/build/routes/chromium/tests/function.spec.js +27 -0
  31. package/build/routes/chromium/tests/json.spec.js +100 -0
  32. package/build/routes/chromium/ws/browser.query.json +3 -0
  33. package/build/routes/chromium/ws/cdp.query.json +3 -0
  34. package/build/routes/chromium/ws/function-connect.d.ts +1 -0
  35. package/build/routes/chromium/ws/function-connect.js +1 -0
  36. package/build/routes/chromium/ws/function-connect.query.json +123 -0
  37. package/build/routes/chromium/ws/page.query.json +3 -0
  38. package/build/routes/edge/http/content.post.query.json +3 -0
  39. package/build/routes/edge/http/download.post.query.json +3 -0
  40. package/build/routes/edge/http/function.post.query.json +3 -0
  41. package/build/routes/edge/http/pdf.post.query.json +3 -0
  42. package/build/routes/edge/http/performance.post.query.json +3 -0
  43. package/build/routes/edge/http/scrape.post.query.json +3 -0
  44. package/build/routes/edge/http/screenshot.post.query.json +3 -0
  45. package/build/routes/edge/tests/content.spec.js +21 -0
  46. package/build/routes/edge/tests/json.spec.js +100 -0
  47. package/build/routes/edge/ws/browser.query.json +3 -0
  48. package/build/routes/edge/ws/cdp.query.json +3 -0
  49. package/build/routes/edge/ws/function-connect.d.ts +7 -0
  50. package/build/routes/edge/ws/function-connect.js +6 -0
  51. package/build/routes/edge/ws/function-connect.query.json +123 -0
  52. package/build/routes/edge/ws/page.query.json +3 -0
  53. package/build/routes/management/http/kill.get.query.json +3 -0
  54. package/build/routes/management/http/sessions.get.query.json +3 -0
  55. package/build/routes/management/tests/management.spec.js +44 -0
  56. package/build/sdk-utils.js +1 -1
  57. package/build/server.js +1 -1
  58. package/build/shared/function-connect.ws.d.ts +15 -0
  59. package/build/shared/function-connect.ws.js +13 -0
  60. package/build/shared/utils/function/handler.js +6 -4
  61. package/build/shim.js +11 -1
  62. package/build/shim.spec.js +14 -0
  63. package/build/types.d.ts +8 -0
  64. package/build/types.js +3 -0
  65. package/extensions/ublocklite/_locales/ar/messages.json +60 -24
  66. package/extensions/ublocklite/_locales/az/messages.json +36 -0
  67. package/extensions/ublocklite/_locales/be/messages.json +36 -0
  68. package/extensions/ublocklite/_locales/bg/messages.json +36 -0
  69. package/extensions/ublocklite/_locales/bn/messages.json +36 -0
  70. package/extensions/ublocklite/_locales/br_FR/messages.json +36 -0
  71. package/extensions/ublocklite/_locales/bs/messages.json +36 -0
  72. package/extensions/ublocklite/_locales/ca/messages.json +36 -0
  73. package/extensions/ublocklite/_locales/cs/messages.json +36 -0
  74. package/extensions/ublocklite/_locales/cv/messages.json +36 -0
  75. package/extensions/ublocklite/_locales/cy/messages.json +40 -4
  76. package/extensions/ublocklite/_locales/da/messages.json +39 -3
  77. package/extensions/ublocklite/_locales/de/messages.json +36 -0
  78. package/extensions/ublocklite/_locales/el/messages.json +36 -0
  79. package/extensions/ublocklite/_locales/en/messages.json +36 -0
  80. package/extensions/ublocklite/_locales/en_GB/messages.json +36 -0
  81. package/extensions/ublocklite/_locales/eo/messages.json +36 -0
  82. package/extensions/ublocklite/_locales/es/messages.json +36 -0
  83. package/extensions/ublocklite/_locales/et/messages.json +36 -0
  84. package/extensions/ublocklite/_locales/eu/messages.json +36 -0
  85. package/extensions/ublocklite/_locales/fa/messages.json +36 -0
  86. package/extensions/ublocklite/_locales/fi/messages.json +37 -1
  87. package/extensions/ublocklite/_locales/fil/messages.json +36 -0
  88. package/extensions/ublocklite/_locales/fr/messages.json +36 -0
  89. package/extensions/ublocklite/_locales/fy/messages.json +37 -1
  90. package/extensions/ublocklite/_locales/gl/messages.json +37 -1
  91. package/extensions/ublocklite/_locales/gu/messages.json +36 -0
  92. package/extensions/ublocklite/_locales/he/messages.json +36 -0
  93. package/extensions/ublocklite/_locales/hi/messages.json +36 -0
  94. package/extensions/ublocklite/_locales/hr/messages.json +36 -0
  95. package/extensions/ublocklite/_locales/hu/messages.json +36 -0
  96. package/extensions/ublocklite/_locales/hy/messages.json +36 -0
  97. package/extensions/ublocklite/_locales/id/messages.json +36 -0
  98. package/extensions/ublocklite/_locales/it/messages.json +36 -0
  99. package/extensions/ublocklite/_locales/ja/messages.json +36 -0
  100. package/extensions/ublocklite/_locales/ka/messages.json +36 -0
  101. package/extensions/ublocklite/_locales/kk/messages.json +36 -0
  102. package/extensions/ublocklite/_locales/kn/messages.json +36 -0
  103. package/extensions/ublocklite/_locales/ko/messages.json +36 -0
  104. package/extensions/ublocklite/_locales/lt/messages.json +36 -0
  105. package/extensions/ublocklite/_locales/lv/messages.json +36 -0
  106. package/extensions/ublocklite/_locales/mk/messages.json +36 -0
  107. package/extensions/ublocklite/_locales/ml/messages.json +36 -0
  108. package/extensions/ublocklite/_locales/mr/messages.json +36 -0
  109. package/extensions/ublocklite/_locales/ms/messages.json +36 -0
  110. package/extensions/ublocklite/_locales/nb/messages.json +53 -17
  111. package/extensions/ublocklite/_locales/nl/messages.json +36 -0
  112. package/extensions/ublocklite/_locales/oc/messages.json +36 -0
  113. package/extensions/ublocklite/_locales/pa/messages.json +36 -0
  114. package/extensions/ublocklite/_locales/pl/messages.json +36 -0
  115. package/extensions/ublocklite/_locales/pt_BR/messages.json +36 -0
  116. package/extensions/ublocklite/_locales/pt_PT/messages.json +36 -0
  117. package/extensions/ublocklite/_locales/ro/messages.json +36 -0
  118. package/extensions/ublocklite/_locales/ru/messages.json +36 -0
  119. package/extensions/ublocklite/_locales/si/messages.json +36 -0
  120. package/extensions/ublocklite/_locales/sk/messages.json +36 -0
  121. package/extensions/ublocklite/_locales/sl/messages.json +36 -0
  122. package/extensions/ublocklite/_locales/so/messages.json +36 -0
  123. package/extensions/ublocklite/_locales/sq/messages.json +36 -0
  124. package/extensions/ublocklite/_locales/sr/messages.json +36 -0
  125. package/extensions/ublocklite/_locales/sv/messages.json +36 -0
  126. package/extensions/ublocklite/_locales/sw/messages.json +36 -0
  127. package/extensions/ublocklite/_locales/ta/messages.json +36 -0
  128. package/extensions/ublocklite/_locales/te/messages.json +36 -0
  129. package/extensions/ublocklite/_locales/th/messages.json +36 -0
  130. package/extensions/ublocklite/_locales/tr/messages.json +36 -0
  131. package/extensions/ublocklite/_locales/uk/messages.json +36 -0
  132. package/extensions/ublocklite/_locales/ur/messages.json +36 -0
  133. package/extensions/ublocklite/_locales/vi/messages.json +36 -0
  134. package/extensions/ublocklite/_locales/zh_CN/messages.json +36 -0
  135. package/extensions/ublocklite/_locales/zh_TW/messages.json +36 -0
  136. package/extensions/ublocklite/css/dashboard-common.css +0 -1
  137. package/extensions/ublocklite/css/dashboard.css +8 -0
  138. package/extensions/ublocklite/css/settings.css +107 -1
  139. package/extensions/ublocklite/css/unpicker-ui.css +1 -0
  140. package/extensions/ublocklite/dashboard.html +48 -11
  141. package/extensions/ublocklite/js/background.js +57 -39
  142. package/extensions/ublocklite/js/backup-restore.js +153 -0
  143. package/extensions/ublocklite/js/config.js +2 -0
  144. package/extensions/ublocklite/js/dashboard.js +23 -5
  145. package/extensions/ublocklite/js/develop.js +2 -11
  146. package/extensions/ublocklite/js/dom.js +10 -0
  147. package/extensions/ublocklite/js/filter-lists.js +5 -5
  148. package/extensions/ublocklite/js/filter-manager-ui.js +486 -0
  149. package/extensions/ublocklite/js/filter-manager.js +85 -53
  150. package/extensions/ublocklite/js/jsonpath.js +25 -10
  151. package/extensions/ublocklite/js/mode-manager.js +8 -1
  152. package/extensions/ublocklite/js/picker-ui.js +2 -2
  153. package/extensions/ublocklite/js/popup.js +20 -20
  154. package/extensions/ublocklite/js/report.js +2 -4
  155. package/extensions/ublocklite/js/ro-dnr-editor.js +9 -5
  156. package/extensions/ublocklite/js/ruleset-manager.js +13 -8
  157. package/extensions/ublocklite/js/scripting/unpicker.js +3 -3
  158. package/extensions/ublocklite/js/settings.js +51 -0
  159. package/extensions/ublocklite/js/static-filtering-parser.js +4 -4
  160. package/extensions/ublocklite/js/troubleshooting.js +30 -18
  161. package/extensions/ublocklite/js/unpicker-ui.js +5 -5
  162. package/extensions/ublocklite/js/utils.js +14 -0
  163. package/extensions/ublocklite/manifest.json +3 -3
  164. package/extensions/ublocklite/rulesets/generic-details.json +2 -3
  165. package/extensions/ublocklite/rulesets/main/adguard-mobile.json +3 -2
  166. package/extensions/ublocklite/rulesets/main/adguard-spyware-url.json +6 -5
  167. package/extensions/ublocklite/rulesets/main/annoyances-cookies.json +16 -6
  168. package/extensions/ublocklite/rulesets/main/annoyances-notifications.json +3 -1
  169. package/extensions/ublocklite/rulesets/main/annoyances-others.json +4 -3
  170. package/extensions/ublocklite/rulesets/main/annoyances-overlays.json +4 -3
  171. package/extensions/ublocklite/rulesets/main/annoyances-widgets.json +5 -2
  172. package/extensions/ublocklite/rulesets/main/block-lan.json +3 -1
  173. package/extensions/ublocklite/rulesets/main/chn-0.json +28 -17
  174. package/extensions/ublocklite/rulesets/main/deu-0.json +2 -9
  175. package/extensions/ublocklite/rulesets/main/easylist.json +31 -73
  176. package/extensions/ublocklite/rulesets/main/easyprivacy.json +99 -27
  177. package/extensions/ublocklite/rulesets/main/fin-0.json +5 -2
  178. package/extensions/ublocklite/rulesets/main/fra-0.json +1 -1
  179. package/extensions/ublocklite/rulesets/main/hun-0.json +3 -2
  180. package/extensions/ublocklite/rulesets/main/idn-0.json +22 -8
  181. package/extensions/ublocklite/rulesets/main/ind-0.json +62 -43
  182. package/extensions/ublocklite/rulesets/main/irn-0.json +5 -4
  183. package/extensions/ublocklite/rulesets/main/isr-0.json +2 -3
  184. package/extensions/ublocklite/rulesets/main/ita-0.json +11 -2
  185. package/extensions/ublocklite/rulesets/main/jpn-1.json +54 -38
  186. package/extensions/ublocklite/rulesets/main/kor-1.json +6 -3
  187. package/extensions/ublocklite/rulesets/main/nld-0.json +4 -1
  188. package/extensions/ublocklite/rulesets/main/nor-0.json +2 -2
  189. package/extensions/ublocklite/rulesets/main/pgl.json +30 -6
  190. package/extensions/ublocklite/rulesets/main/pol-0.json +1 -1
  191. package/extensions/ublocklite/rulesets/main/rou-1.json +4 -2
  192. package/extensions/ublocklite/rulesets/main/rus-0.json +18 -11
  193. package/extensions/ublocklite/rulesets/main/rus-1.json +5 -4
  194. package/extensions/ublocklite/rulesets/main/spa-1.json +12 -6
  195. package/extensions/ublocklite/rulesets/main/stevenblack-hosts.json +10500 -90447
  196. package/extensions/ublocklite/rulesets/main/swe-1.json +39 -30
  197. package/extensions/ublocklite/rulesets/main/tur-0.json +12 -9
  198. package/extensions/ublocklite/rulesets/main/ublock-badware.json +39 -13
  199. package/extensions/ublocklite/rulesets/main/ublock-filters.json +77 -50
  200. package/extensions/ublocklite/rulesets/main/ubol-tests.json +28 -0
  201. package/extensions/ublocklite/rulesets/main/ukr-0.json +2 -2
  202. package/extensions/ublocklite/rulesets/main/urlhaus-full.json +2103 -582
  203. package/extensions/ublocklite/rulesets/main/vie-1.json +54 -52
  204. package/extensions/ublocklite/rulesets/regex/chn-0.json +2 -2
  205. package/extensions/ublocklite/rulesets/regex/easylist.json +1 -6
  206. package/extensions/ublocklite/rulesets/regex/jpn-1.json +1 -2
  207. package/extensions/ublocklite/rulesets/regex/swe-1.json +0 -1
  208. package/extensions/ublocklite/rulesets/regex/ublock-badware.json +8 -3
  209. package/extensions/ublocklite/rulesets/regex/ublock-filters.json +24 -16
  210. package/extensions/ublocklite/rulesets/ruleset-details.json +220 -220
  211. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-cookies.js +3 -3
  212. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-notifications.js +1 -1
  213. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-others.js +3 -3
  214. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-social.js +3 -3
  215. package/extensions/ublocklite/rulesets/scripting/generic/chn-0.js +2 -2
  216. package/extensions/ublocklite/rulesets/scripting/generic/easylist.js +3 -3
  217. package/extensions/ublocklite/rulesets/scripting/generic/ita-0.js +1 -1
  218. package/extensions/ublocklite/rulesets/scripting/generic/jpn-1.js +1 -1
  219. package/extensions/ublocklite/rulesets/scripting/generic/rus-1.js +2 -2
  220. package/extensions/ublocklite/rulesets/scripting/generic/swe-1.js +1 -1
  221. package/extensions/ublocklite/rulesets/scripting/generic/ublock-filters.js +3 -3
  222. package/extensions/ublocklite/rulesets/scripting/generichigh/easylist.css +2 -1
  223. package/extensions/ublocklite/rulesets/scripting/generichigh/idn-0.css +3 -0
  224. package/extensions/ublocklite/rulesets/scripting/generichigh/jpn-1.css +1 -0
  225. package/extensions/ublocklite/rulesets/scripting/generichigh/ublock-filters.css +9 -1
  226. package/extensions/ublocklite/rulesets/scripting/procedural/adguard-mobile.js +3 -3
  227. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-cookies.js +3 -3
  228. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-others.js +2 -2
  229. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-overlays.js +3 -3
  230. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-social.js +3 -3
  231. package/extensions/ublocklite/rulesets/scripting/procedural/chn-0.js +3 -3
  232. package/extensions/ublocklite/rulesets/scripting/procedural/deu-0.js +3 -3
  233. package/extensions/ublocklite/rulesets/scripting/procedural/easylist.js +3 -3
  234. package/extensions/ublocklite/rulesets/scripting/procedural/fin-0.js +3 -3
  235. package/extensions/ublocklite/rulesets/scripting/procedural/grc-0.js +3 -3
  236. package/extensions/ublocklite/rulesets/scripting/procedural/ind-0.js +3 -3
  237. package/extensions/ublocklite/rulesets/scripting/procedural/irn-0.js +3 -3
  238. package/extensions/ublocklite/rulesets/scripting/procedural/jpn-1.js +3 -3
  239. package/extensions/ublocklite/rulesets/scripting/procedural/kor-1.js +3 -3
  240. package/extensions/ublocklite/rulesets/scripting/procedural/ltu-0.js +1 -1
  241. package/extensions/ublocklite/rulesets/scripting/procedural/rou-1.js +3 -3
  242. package/extensions/ublocklite/rulesets/scripting/procedural/rus-0.js +3 -3
  243. package/extensions/ublocklite/rulesets/scripting/procedural/rus-1.js +1 -1
  244. package/extensions/ublocklite/rulesets/scripting/procedural/spa-1.js +3 -3
  245. package/extensions/ublocklite/rulesets/scripting/procedural/swe-1.js +3 -3
  246. package/extensions/ublocklite/rulesets/scripting/procedural/tur-0.js +3 -3
  247. package/extensions/ublocklite/rulesets/scripting/procedural/ublock-filters.js +3 -3
  248. package/extensions/ublocklite/rulesets/scripting/procedural/vie-1.js +3 -3
  249. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.abort-current-script.js +2 -2
  250. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.addEventListener-defuser.js +7 -3
  251. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.adjust-setTimeout.js +332 -0
  252. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.json-prune-fetch-response.js +588 -0
  253. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.json-prune-xhr-response.js +597 -0
  254. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.prevent-setTimeout.js +5 -1
  255. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.remove-cookie.js +376 -0
  256. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.set-constant.js +2 -2
  257. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.set-cookie-reload.js +1 -1
  258. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.xml-prune.js +443 -0
  259. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.addEventListener-defuser.js +5 -1
  260. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.prevent-requestAnimationFrame.js +6 -2
  261. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.prevent-setTimeout.js +5 -1
  262. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-cookie-reload.js +2 -2
  263. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-cookie.js +2 -2
  264. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-local-storage-item.js +2 -2
  265. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-click-element.js +88 -77
  266. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-set-cookie-reload.js +2 -2
  267. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-set-cookie.js +2 -2
  268. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-set-local-storage-item.js +2 -2
  269. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-notifications.addEventListener-defuser.js +5 -1
  270. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-others.addEventListener-defuser.js +5 -1
  271. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-others.json-prune.js +2 -2
  272. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-others.prevent-setInterval.js +5 -1
  273. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-others.prevent-setTimeout.js +5 -1
  274. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-others.set-local-storage-item.js +2 -2
  275. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-others.set-session-storage-item.js +2 -2
  276. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.abort-current-script.js +2 -2
  277. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.addEventListener-defuser.js +5 -1
  278. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.noeval-if.js +5 -1
  279. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-fetch.js +5 -1
  280. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-setInterval.js +5 -1
  281. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-setTimeout.js +7 -3
  282. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-window-open.js +5 -1
  283. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.remove-class.js +2 -2
  284. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.set-constant.js +1 -1
  285. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.trusted-click-element.js +88 -77
  286. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.trusted-replace-argument.js +5 -1
  287. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.trusted-replace-outbound-text.js +5 -1
  288. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.trusted-set-local-storage-item.js +2 -2
  289. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.trusted-suppress-native-method.js +5 -1
  290. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.addEventListener-defuser.js +6 -2
  291. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.evaldata-prune.js +5 -1
  292. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.noeval-if.js +5 -1
  293. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-fetch.js +6 -2
  294. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-setInterval.js +5 -1
  295. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-setTimeout.js +5 -1
  296. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-window-open.js +5 -1
  297. package/extensions/ublocklite/rulesets/scripting/scriptlet/cze-0.addEventListener-defuser.js +5 -1
  298. package/extensions/ublocklite/rulesets/scripting/scriptlet/cze-0.prevent-setInterval.js +5 -1
  299. package/extensions/ublocklite/rulesets/scripting/scriptlet/cze-0.prevent-setTimeout.js +5 -1
  300. package/extensions/ublocklite/rulesets/scripting/scriptlet/easyprivacy.prevent-fetch.js +5 -1
  301. package/extensions/ublocklite/rulesets/scripting/scriptlet/easyprivacy.set-constant.js +1 -1
  302. package/extensions/ublocklite/rulesets/scripting/scriptlet/est-0.addEventListener-defuser.js +5 -1
  303. package/extensions/ublocklite/rulesets/scripting/scriptlet/fin-0.prevent-setTimeout.js +5 -1
  304. package/extensions/ublocklite/rulesets/scripting/scriptlet/fin-0.remove-node-text.js +449 -0
  305. package/extensions/ublocklite/rulesets/scripting/scriptlet/fin-0.spoof-css.js +422 -0
  306. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.addEventListener-defuser.js +5 -1
  307. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-fetch.js +5 -1
  308. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-requestAnimationFrame.js +5 -1
  309. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-setInterval.js +5 -1
  310. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-setTimeout.js +5 -1
  311. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-window-open.js +5 -1
  312. package/extensions/ublocklite/rulesets/scripting/scriptlet/hun-0.addEventListener-defuser.js +5 -1
  313. package/extensions/ublocklite/rulesets/scripting/scriptlet/hun-0.prevent-setTimeout.js +5 -1
  314. package/extensions/ublocklite/rulesets/scripting/scriptlet/hun-0.prevent-window-open.js +5 -1
  315. package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.addEventListener-defuser.js +5 -1
  316. package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.noeval-if.js +5 -1
  317. package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.prevent-fetch.js +5 -1
  318. package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.prevent-setTimeout.js +5 -1
  319. package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.prevent-window-open.js +7 -3
  320. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.addEventListener-defuser.js +5 -1
  321. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.href-sanitizer.js +2 -2
  322. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.prevent-fetch.js +5 -1
  323. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.prevent-setTimeout.js +5 -1
  324. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.prevent-window-open.js +5 -1
  325. package/extensions/ublocklite/rulesets/scripting/scriptlet/isr-0.addEventListener-defuser.js +5 -1
  326. package/extensions/ublocklite/rulesets/scripting/scriptlet/isr-0.prevent-fetch.js +5 -1
  327. package/extensions/ublocklite/rulesets/scripting/scriptlet/isr-0.prevent-setTimeout.js +5 -1
  328. package/extensions/ublocklite/rulesets/scripting/scriptlet/isr-0.prevent-window-open.js +5 -1
  329. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.abort-current-script.js +1 -1
  330. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.addEventListener-defuser.js +6 -2
  331. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.href-sanitizer.js +2 -2
  332. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.json-prune.js +2 -2
  333. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.noeval-if.js +5 -1
  334. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.prevent-fetch.js +7 -3
  335. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.prevent-setInterval.js +5 -1
  336. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.prevent-setTimeout.js +5 -1
  337. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.prevent-window-open.js +5 -1
  338. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.abort-current-script.js +2 -2
  339. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.addEventListener-defuser.js +5 -1
  340. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.json-prune-xhr-response.js +2 -2
  341. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-fetch.js +7 -3
  342. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-setInterval.js +5 -1
  343. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-setTimeout.js +5 -1
  344. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-window-open.js +475 -0
  345. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-xhr.js +2 -2
  346. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.remove-cookie.js +376 -0
  347. package/extensions/ublocklite/rulesets/scripting/scriptlet/ltu-0.prevent-setTimeout.js +5 -1
  348. package/extensions/ublocklite/rulesets/scripting/scriptlet/ltu-0.prevent-window-open.js +5 -1
  349. package/extensions/ublocklite/rulesets/scripting/scriptlet/nld-0.addEventListener-defuser.js +5 -1
  350. package/extensions/ublocklite/rulesets/scripting/scriptlet/nld-0.prevent-fetch.js +5 -1
  351. package/extensions/ublocklite/rulesets/scripting/scriptlet/nld-0.prevent-setTimeout.js +5 -1
  352. package/extensions/ublocklite/rulesets/scripting/scriptlet/nor-0.addEventListener-defuser.js +5 -1
  353. package/extensions/ublocklite/rulesets/scripting/scriptlet/nor-0.prevent-fetch.js +5 -1
  354. package/extensions/ublocklite/rulesets/scripting/scriptlet/nor-0.prevent-setTimeout.js +5 -1
  355. package/extensions/ublocklite/rulesets/scripting/scriptlet/pol-0.addEventListener-defuser.js +5 -1
  356. package/extensions/ublocklite/rulesets/scripting/scriptlet/pol-0.noeval-if.js +5 -1
  357. package/extensions/ublocklite/rulesets/scripting/scriptlet/pol-0.prevent-setInterval.js +5 -1
  358. package/extensions/ublocklite/rulesets/scripting/scriptlet/pol-0.prevent-setTimeout.js +5 -1
  359. package/extensions/ublocklite/rulesets/scripting/scriptlet/pol-0.prevent-window-open.js +5 -1
  360. package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.noeval-if.js +5 -1
  361. package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.prevent-setInterval.js +5 -1
  362. package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.prevent-setTimeout.js +5 -1
  363. package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.prevent-window-open.js +5 -1
  364. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.abort-on-property-read.js +1 -1
  365. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.abort-on-property-write.js +1 -1
  366. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.abort-on-stack-trace.js +2 -2
  367. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.addEventListener-defuser.js +8 -4
  368. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.close-window.js +3 -3
  369. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.href-sanitizer.js +1 -1
  370. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.json-prune-fetch-response.js +2 -2
  371. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.noeval-if.js +5 -1
  372. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-fetch.js +5 -1
  373. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-setInterval.js +5 -1
  374. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-setTimeout.js +7 -3
  375. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-window-open.js +5 -1
  376. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.remove-node-text.js +3 -3
  377. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.set-attr.js +2 -2
  378. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.set-constant.js +3 -3
  379. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.addEventListener-defuser.js +5 -1
  380. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.json-prune-xhr-response.js +597 -0
  381. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.prevent-fetch.js +5 -1
  382. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.prevent-setTimeout.js +5 -1
  383. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.set-constant.js +1 -1
  384. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.abort-current-script.js +2 -2
  385. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.addEventListener-defuser.js +5 -1
  386. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.json-prune.js +2 -2
  387. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.noeval-if.js +7 -3
  388. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-fetch.js +7 -3
  389. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-requestAnimationFrame.js +5 -1
  390. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-setInterval.js +5 -1
  391. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-setTimeout.js +5 -1
  392. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-window-open.js +6 -2
  393. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.set-constant.js +2 -2
  394. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.addEventListener-defuser.js +5 -1
  395. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.href-sanitizer.js +1 -1
  396. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.noeval-if.js +5 -1
  397. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.prevent-setInterval.js +5 -1
  398. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.prevent-setTimeout.js +7 -3
  399. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.abort-on-property-read.js +1 -1
  400. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.addEventListener-defuser.js +7 -3
  401. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-fetch.js +5 -1
  402. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-setInterval.js +5 -1
  403. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-setTimeout.js +7 -3
  404. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-window-open.js +6 -2
  405. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.remove-attr.js +2 -2
  406. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.set-constant.js +2 -2
  407. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.set-local-storage-item.js +2 -2
  408. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-badware.addEventListener-defuser.js +5 -1
  409. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-badware.noeval-if.js +5 -1
  410. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-badware.trusted-replace-argument.js +5 -1
  411. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-experimental.trusted-json-edit-xhr-request.js +848 -0
  412. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-experimental.trusted-replace-node-text.js +1 -1
  413. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-current-script.js +3 -3
  414. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-on-property-read.js +3 -3
  415. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-on-property-write.js +2 -2
  416. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-on-stack-trace.js +3 -3
  417. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.addEventListener-defuser.js +7 -3
  418. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.adjust-setInterval.js +1 -1
  419. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.adjust-setTimeout.js +1 -1
  420. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.href-sanitizer.js +2 -2
  421. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-edit-fetch-response.js +29 -11
  422. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-edit-xhr-response.js +24 -10
  423. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-edit.js +31 -13
  424. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-prune-fetch-response.js +2 -2
  425. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-prune-xhr-response.js +1 -1
  426. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-prune.js +2 -2
  427. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.jsonl-edit-xhr-response.js +26 -12
  428. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.noeval-if.js +6 -2
  429. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-fetch.js +7 -3
  430. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-requestAnimationFrame.js +8 -4
  431. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-setInterval.js +8 -4
  432. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-setTimeout.js +8 -4
  433. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-window-open.js +7 -3
  434. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-xhr.js +1 -1
  435. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.remove-cookie.js +2 -2
  436. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.remove-node-text.js +3 -3
  437. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-attr.js +2 -2
  438. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-constant.js +3 -3
  439. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-cookie.js +2 -2
  440. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-local-storage-item.js +2 -2
  441. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-session-storage-item.js +1 -1
  442. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.spoof-css.js +2 -2
  443. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-click-element.js +86 -75
  444. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-create-html.js +2 -2
  445. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-json-edit-fetch-request.js +941 -0
  446. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-json-edit-fetch-response.js +31 -13
  447. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-json-edit.js +869 -0
  448. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-override-element-method.js +5 -1
  449. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-prevent-dom-bypass.js +5 -1
  450. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-prevent-fetch.js +7 -3
  451. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-argument.js +7 -3
  452. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-node-text.js +3 -3
  453. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-outbound-text.js +7 -3
  454. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-suppress-native-method.js +7 -3
  455. package/extensions/ublocklite/rulesets/scripting/scriptlet/ubol-tests.jsonl-edit-fetch-response.js +29 -11
  456. package/extensions/ublocklite/rulesets/scripting/scriptlet/ubol-tests.jsonl-edit-xhr-response.js +24 -10
  457. package/extensions/ublocklite/rulesets/scripting/scriptlet/ubol-tests.prevent-setTimeout.js +5 -1
  458. package/extensions/ublocklite/rulesets/scripting/scriptlet/ubol-tests.trusted-prevent-dom-bypass.js +5 -1
  459. package/extensions/ublocklite/rulesets/scripting/scriptlet/ukr-0.prevent-fetch.js +5 -1
  460. package/extensions/ublocklite/rulesets/scripting/scriptlet/ukr-0.prevent-window-open.js +5 -1
  461. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.abort-current-script.js +2 -2
  462. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.abort-on-property-read.js +2 -2
  463. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.addEventListener-defuser.js +5 -1
  464. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.prevent-fetch.js +5 -1
  465. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.prevent-setTimeout.js +5 -1
  466. package/extensions/ublocklite/rulesets/scripting/specific/adguard-mobile.js +3 -3
  467. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-cookies.js +3 -3
  468. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-notifications.js +3 -3
  469. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-others.js +3 -3
  470. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-overlays.js +3 -3
  471. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-social.js +3 -3
  472. package/extensions/ublocklite/rulesets/scripting/specific/chn-0.js +3 -3
  473. package/extensions/ublocklite/rulesets/scripting/specific/deu-0.js +3 -3
  474. package/extensions/ublocklite/rulesets/scripting/specific/easylist.js +3 -3
  475. package/extensions/ublocklite/rulesets/scripting/specific/fin-0.js +3 -3
  476. package/extensions/ublocklite/rulesets/scripting/specific/fra-0.js +3 -3
  477. package/extensions/ublocklite/rulesets/scripting/specific/grc-0.js +3 -3
  478. package/extensions/ublocklite/rulesets/scripting/specific/idn-0.js +3 -3
  479. package/extensions/ublocklite/rulesets/scripting/specific/ind-0.js +3 -3
  480. package/extensions/ublocklite/rulesets/scripting/specific/irn-0.js +3 -3
  481. package/extensions/ublocklite/rulesets/scripting/specific/isr-0.js +3 -3
  482. package/extensions/ublocklite/rulesets/scripting/specific/ita-0.js +3 -3
  483. package/extensions/ublocklite/rulesets/scripting/specific/jpn-1.js +3 -3
  484. package/extensions/ublocklite/rulesets/scripting/specific/kor-1.js +3 -3
  485. package/extensions/ublocklite/rulesets/scripting/specific/ltu-0.js +3 -3
  486. package/extensions/ublocklite/rulesets/scripting/specific/nld-0.js +3 -3
  487. package/extensions/ublocklite/rulesets/scripting/specific/rou-1.js +3 -3
  488. package/extensions/ublocklite/rulesets/scripting/specific/rus-0.js +3 -3
  489. package/extensions/ublocklite/rulesets/scripting/specific/rus-1.js +3 -3
  490. package/extensions/ublocklite/rulesets/scripting/specific/spa-1.js +3 -3
  491. package/extensions/ublocklite/rulesets/scripting/specific/swe-1.js +3 -3
  492. package/extensions/ublocklite/rulesets/scripting/specific/tur-0.js +3 -3
  493. package/extensions/ublocklite/rulesets/scripting/specific/ublock-badware.js +1 -1
  494. package/extensions/ublocklite/rulesets/scripting/specific/ublock-filters.js +3 -3
  495. package/extensions/ublocklite/rulesets/scripting/specific/ukr-0.js +3 -3
  496. package/extensions/ublocklite/rulesets/scripting/specific/vie-1.js +3 -3
  497. package/extensions/ublocklite/rulesets/scriptlet-details.json +302 -143
  498. package/extensions/ublocklite/rulesets/strictblock/adguard-mobile.json +6 -0
  499. package/extensions/ublocklite/rulesets/strictblock/annoyances-others.json +1 -0
  500. package/extensions/ublocklite/rulesets/strictblock/chn-0.json +289 -2
  501. package/extensions/ublocklite/rulesets/strictblock/easylist.json +1 -1
  502. package/extensions/ublocklite/rulesets/strictblock/easyprivacy.json +79 -3
  503. package/extensions/ublocklite/rulesets/strictblock/idn-0.json +2 -0
  504. package/extensions/ublocklite/rulesets/strictblock/irn-0.json +4 -1
  505. package/extensions/ublocklite/rulesets/strictblock/isr-0.json +1 -0
  506. package/extensions/ublocklite/rulesets/strictblock/ita-0.json +1 -0
  507. package/extensions/ublocklite/rulesets/strictblock/jpn-1.json +205 -186
  508. package/extensions/ublocklite/rulesets/strictblock/nor-0.json +1 -1
  509. package/extensions/ublocklite/rulesets/strictblock/pgl.json +30 -6
  510. package/extensions/ublocklite/rulesets/strictblock/pol-0.json +4 -0
  511. package/extensions/ublocklite/rulesets/strictblock/rou-1.json +1 -0
  512. package/extensions/ublocklite/rulesets/strictblock/stevenblack-hosts.json +10500 -90447
  513. package/extensions/ublocklite/rulesets/strictblock/swe-1.json +0 -3
  514. package/extensions/ublocklite/rulesets/strictblock/ublock-badware.json +657 -650
  515. package/extensions/ublocklite/rulesets/strictblock/ublock-filters.json +23 -19
  516. package/extensions/ublocklite/rulesets/strictblock/ukr-0.json +3 -0
  517. package/extensions/ublocklite/rulesets/strictblock/urlhaus-full.json +2103 -582
  518. package/extensions/ublocklite/rulesets/strictblock/vie-1.json +0 -3
  519. package/extensions/ublocklite/rulesets/urlskip/ublock-filters.json +31 -1
  520. package/extensions/ublocklite/ublock.zip +0 -0
  521. package/extensions/ublocklite/web_accessible_resources/google-ima.js +14 -7
  522. package/package.json +15 -14
  523. package/scripts/install-debugger.js +2 -2
  524. package/src/browsers/index.ts +25 -4
  525. package/src/http.ts +3 -2
  526. package/src/routes/chrome/tests/content.spec.ts +24 -0
  527. package/src/routes/chrome/tests/json.spec.ts +134 -0
  528. package/src/routes/chrome/tests/kill-sessions.spec.ts +0 -10
  529. package/src/routes/chrome/ws/function-connect.ts +12 -0
  530. package/src/routes/chromium/tests/content.spec.ts +24 -0
  531. package/src/routes/chromium/tests/function.spec.ts +33 -0
  532. package/src/routes/chromium/tests/json.spec.ts +134 -0
  533. package/src/routes/chromium/tests/scrape.spec.ts +3 -1
  534. package/src/routes/chromium/ws/function-connect.ts +1 -0
  535. package/src/routes/edge/tests/content.spec.ts +24 -0
  536. package/src/routes/edge/tests/json.spec.ts +134 -0
  537. package/src/routes/edge/ws/function-connect.ts +12 -0
  538. package/src/routes/management/tests/management.spec.ts +66 -0
  539. package/src/sdk-utils.ts +1 -1
  540. package/src/server.ts +1 -1
  541. package/src/shared/function-connect.ws.ts +38 -0
  542. package/src/shared/screenshot.http.ts +1 -1
  543. package/src/shared/utils/function/handler.ts +11 -6
  544. package/src/shim.spec.ts +18 -0
  545. package/src/shim.ts +15 -1
  546. package/src/types.ts +6 -0
  547. package/static/docs/swagger.json +107 -2
  548. package/static/docs/swagger.min.json +106 -1
  549. package/static/function/client.js +99 -111
  550. package/static/function/index.html +99 -111
  551. package/build/routes/chrome/tests/json-version.spec.js +0 -37
  552. package/build/routes/chromium/tests/json-version.spec.js +0 -37
  553. package/build/routes/edge/tests/json-version.spec.js +0 -37
  554. package/src/routes/chrome/tests/json-version.spec.ts +0 -52
  555. package/src/routes/chromium/tests/json-version.spec.ts +0 -52
  556. package/src/routes/edge/tests/json-version.spec.ts +0 -52
  557. /package/build/routes/chrome/tests/{json-version.spec.d.ts → json.spec.d.ts} +0 -0
  558. /package/build/routes/chromium/tests/{json-version.spec.d.ts → json.spec.d.ts} +0 -0
  559. /package/build/routes/edge/tests/{json-version.spec.d.ts → json.spec.d.ts} +0 -0
@@ -315,8 +315,8 @@ function safeSelf() {
315
315
  /******************************************************************************/
316
316
 
317
317
  const scriptletGlobals = {}; // eslint-disable-line
318
- const argsList = [["js-page-scroll-lock","body","stay"],["pum-open-overlay","body","stay"],["root-modal-container-open","body","stay"],["interstitial","aside","stay"],["zephr-modal-open","body","stay"],["open-pw","body","stay"],["subscribe-pop-active","body","stay"],["blocking-signup","html","stay"],["modal-open","","stay"],["js-show-newsletter-popup","","stay"],["show-intro-popup","html","stay"],["has-intro-popup","html","stay"],["modal-in","html","stay"],["modal-open","body","stay"],["oxy-modal-active","body","stay"],["hasAdAlert","header"],["click-to-scroll","body"],["disable-selection","body"]];
319
- const hostnamesMap = new Map([["cityam.com",0],["securityweek.com",1],["all3dp.com",2],["cityandstateny.com",3],["forbes.com",4],["money.com",5],["insider.fitt.co",6],["restofworld.org",7],["chicagotribune.com",8],["dgb.de",9],["webworm.co",[10,11,12]],["goto10retro.com",[10,11,12]],["strangeloopcanon.com",[10,11,12]],["michaelmoore.com",[10,11,12]],["persuasion.community",[10,11,12]],["thebulwark.com",[10,11,12]],["theclimatebrink.com",[10,11,12]],["forkingpaths.co",[10,11,12]],["gamefile.news",[10,11,12]],["publicnotice.co",[10,11,12]],["techemails.com",[10,11,12]],["aisnakeoil.com",[10,11,12]],["secretsofprivacy.com",[10,11,12]],["moreisdifferent.blog",[10,11,12]],["latent.space",[10,11,12]],["statsignificant.com",[10,11,12]],["noahpinion.blog",[10,11,12]],["read.perspectiveship.com",[10,11,12]],["newsletter.maartengrootendorst.com",[10,11,12]],["newsletter.eng-leadership.com",[10,11,12]],["blog.codingconfessions.com",[10,11,12]],["afterbabel.com",[10,11,12]],["theintrinsicperspective.com",[10,11,12]],["elysian.press",[10,11,12]],["experimental-history.com",[10,11,12]],["thebignewsletter.com",[10,11,12]],["honest-broker.com",[10,11,12]],["henrikkarlsson.xyz",[10,11,12]],["computerenhance.com",[10,11,12]],["friendlyatheist.com",[10,11,12]],["unchartedterritories.tomaspueyo.com",[10,11,12]],["construction-physics.com",[10,11,12]],["sambowman.co",[10,11,12]],["asiasentinel.com",[10,11,12]],["understandingai.org",[10,11,12]],["hamiltonnolan.com",[10,11,12]],["aporiamagazine.com",[10,11,12]],["garbageday.email",[10,11,12]],["jacobwolf.report",[10,11,12]],["semianalysis.com",[10,11,12]],["dossier.today",[10,11,12]],["engineeringleadership.xyz",[10,11,12]],["piratewires.com",[10,11,12]],["slowboring.com",[10,11,12]],["flowstate.fm",[10,11,12]],["popular.info",[10,11,12]],["newsletter.banklesshq.com",[10,11,12]],["antiracismnewsletter.com",[10,11,12]],["racket.news",[10,11,12]],["eugyppius.com",[10,11,12]],["dkb.blog",[10,11,12]],["duffelblog.com",[10,11,12]],["theankler.com",[10,11,12]],["fullstackeconomics.com",[10,11,12]],["substack.com",[10,11,12]],["platformer.news",[10,11,12]],["kunstler.com",[10,11,12]],["wonkette.com",[10,11,12]],["americafirstreport.com",[10,11,12]],["tweaktown.com",13],["mightyape.co.nz",13],["suzukicycles.com",13],["wahaca.co.uk",14],["pornhub.*",15],["novelza.com",16],["postype.com",17]]);
318
+ const argsList = [["disable-scroll","body","stay"],["js-page-scroll-lock","body","stay"],["pum-open-overlay","body","stay"],["root-modal-container-open","body","stay"],["interstitial","aside","stay"],["zephr-modal-open","body","stay"],["open-pw","body","stay"],["subscribe-pop-active","body","stay"],["blocking-signup","html","stay"],["modal-open","","stay"],["js-show-newsletter-popup","","stay"],["show-intro-popup","html","stay"],["has-intro-popup","html","stay"],["modal-in","html","stay"],["modal-open","body","stay"],["oxy-modal-active","body","stay"],["hasAdAlert","header"],["click-to-scroll","body"],["disable-selection","body"]];
319
+ const hostnamesMap = new Map([["printables.com",0],["cityam.com",1],["securityweek.com",2],["all3dp.com",3],["cityandstateny.com",4],["forbes.com",5],["money.com",6],["insider.fitt.co",7],["restofworld.org",8],["chicagotribune.com",9],["dgb.de",10],["webworm.co",[11,12,13]],["goto10retro.com",[11,12,13]],["strangeloopcanon.com",[11,12,13]],["michaelmoore.com",[11,12,13]],["persuasion.community",[11,12,13]],["thebulwark.com",[11,12,13]],["theclimatebrink.com",[11,12,13]],["forkingpaths.co",[11,12,13]],["gamefile.news",[11,12,13]],["publicnotice.co",[11,12,13]],["techemails.com",[11,12,13]],["aisnakeoil.com",[11,12,13]],["secretsofprivacy.com",[11,12,13]],["moreisdifferent.blog",[11,12,13]],["latent.space",[11,12,13]],["statsignificant.com",[11,12,13]],["noahpinion.blog",[11,12,13]],["read.perspectiveship.com",[11,12,13]],["newsletter.maartengrootendorst.com",[11,12,13]],["newsletter.eng-leadership.com",[11,12,13]],["blog.codingconfessions.com",[11,12,13]],["afterbabel.com",[11,12,13]],["theintrinsicperspective.com",[11,12,13]],["elysian.press",[11,12,13]],["experimental-history.com",[11,12,13]],["thebignewsletter.com",[11,12,13]],["honest-broker.com",[11,12,13]],["henrikkarlsson.xyz",[11,12,13]],["computerenhance.com",[11,12,13]],["friendlyatheist.com",[11,12,13]],["unchartedterritories.tomaspueyo.com",[11,12,13]],["construction-physics.com",[11,12,13]],["sambowman.co",[11,12,13]],["asiasentinel.com",[11,12,13]],["understandingai.org",[11,12,13]],["hamiltonnolan.com",[11,12,13]],["aporiamagazine.com",[11,12,13]],["garbageday.email",[11,12,13]],["jacobwolf.report",[11,12,13]],["semianalysis.com",[11,12,13]],["dossier.today",[11,12,13]],["engineeringleadership.xyz",[11,12,13]],["piratewires.com",[11,12,13]],["slowboring.com",[11,12,13]],["flowstate.fm",[11,12,13]],["popular.info",[11,12,13]],["newsletter.banklesshq.com",[11,12,13]],["antiracismnewsletter.com",[11,12,13]],["racket.news",[11,12,13]],["eugyppius.com",[11,12,13]],["dkb.blog",[11,12,13]],["duffelblog.com",[11,12,13]],["theankler.com",[11,12,13]],["fullstackeconomics.com",[11,12,13]],["substack.com",[11,12,13]],["platformer.news",[11,12,13]],["kunstler.com",[11,12,13]],["wonkette.com",[11,12,13]],["americafirstreport.com",[11,12,13]],["tweaktown.com",14],["mightyape.co.nz",14],["suzukicycles.com",14],["wahaca.co.uk",15],["pornhub.*",16],["novelza.com",17],["postype.com",18]]);
320
320
  const exceptionsMap = new Map([]);
321
321
  const hasEntities = true;
322
322
  const hasAncestors = false;
@@ -461,7 +461,7 @@ function validateConstantFn(trusted, raw, extraArgs = {}) {
461
461
 
462
462
  const scriptletGlobals = {}; // eslint-disable-line
463
463
  const argsList = [["ConsoleBan.init","noopFunc"],["devtoolsDetector","{}"],["killads","true"],["PASSER_videoPAS_apres","0"],["ads_enabled","true"],["nebula.session.flags.adblock","undefined"],["_adBlockCheck","true"],["navigator.storage.estimate","undefined"],["valid_user","true"],["Drupal.behaviors.detectAdblockers","noopFunc"],["disableSelection","noopFunc"],["ADBdetected","noopFunc"],["adblock","false"],["BIA.ADBLOCKER","false"],["samDetected","true"],["adBlockFunction","trueFunc"],["checkAds","trueFunc"],["google_jobrunner","true"],["isAdblockDisabled","true"],["checkPrivacyWall","noopFunc"],["nocontext","noopFunc"],["adsAreShown","true"],["abd","false"],["detector_active","true"],["aoezone_adchecker","true"],["pageService.initDownloadProtection","noopFunc"],["detectPrivateMode","noopFunc"],["webkitRequestFileSystem","undefined"],["adsbygoogle","null"],["_sharedData.is_whitelisted_crawl_bot","true"],["ads_not_blocked","true"],["ytInitialPlayerResponse.auxiliaryUi.messageRenderers.upsellDialogRenderer","undefined"],["hideBannerBlockedMessage","true"],["blurred","false"],["better_ads_adblock","0"],["console.debug","trueFunc"],["console.clear","trueFunc"],["adBlock","false"],["document.oncontextmenu","undefined"],["adsEnabled","true"],["better_ads_adblock","null"],["document.oncontextmenu","null"],["window.SteadyWidgetSettings.adblockActive","false"],["f12lock","false"],["document.onselectstart","null"],["console.clear","undefined"],["adBlockDetected","false"],["document.onkeyup","null"],["document.ondragstart","null"],["commonUtil.openToast","null"],["NS_TVER_EQ.checkEndEQ","trueFunc"],["mps._queue.abdetect","null"],["fuckAdBlock","trueFunc"],["abp","false"],["document.onkeydown","noopFunc"],["getSelection","undefined"],["document.onkeydown","null"],["console.clear","noopFunc"],["document.oncontextmenu","noopFunc"],["x5engine.utils.imCodeProtection","null"],["ansFrontendGlobals.settings.signupWallType","undefined"],["onload","null"],["document.documentElement.AdBlockDetection","noopFunc"],["document.ondragstart","noopFunc"],["document.onmousedown","noopFunc"],["document.onselectstart","noopFunc"],["disableselect","trueFunc"],["document.oncontextmenu",""],["document.onselectstart",""],["document.onkeydown",""],["document.onmousedown",""],["document.onclick",""],["document.body.onmouseup","null"],["document.oncopy","null"],["SD_BLOCKTHROUGH","true"],["document.onkeydown","trueFunc"],["ab","false"],["canRunAds","true"],["document.body.oncut","null"],["document.body.oncopy","null"],["console.log","noopFunc"],["document.onkeypress","null"],["mb.advertisingShouldBeEnabled","false"],["document.ondragstart","trueFunc"],["document.onselectstart","trueFunc"],["jsData.hasVideoMeteringUnlogEnabled","undefined"],["lepopup_abd_enabled",""],["Object.prototype.preroll","[]"],["document.oncontextmenu","trueFunc"],["devtoolsDetector","undefined"],["Object.prototype.bgOverlay","noopFunc"],["Object.prototype.fixedContentPos","noopFunc"],["console.dir","noopFunc"],["navigator.userAgent",""],["devtoolIsOpening","noopFunc"],["securityTool.disableRightClick","noopFunc"],["securityTool.disableF12","noopFunc"],["securityTool.disableCtrlP","noopFunc"],["securityTool.disableCtrlS","noopFunc"],["securityTool.disablePrintScreen","noopFunc"],["securityTool.disablePrintThisPage","noopFunc"],["securityTool.disableElementForPrintThisPage","noopFunc"],["checkAds","noopFunc"],["stopPrntScr","noopFunc"],["disableSelection","undefined"],["nocontext","undefined"],["disable_hot_keys","undefined"],["flashvars.autoplay",""],["document.body.oncopy","null","3"],["document.body.onselectstart","null","3"],["document.body.oncontextmenu","null","3"],["Time_Start","0"],["DD","trueFunc"],["document.oncontextmenu","null","3"],["Object.prototype._detectLoop","noopFunc"],["forbiddenList","[]"],["document.onkeypress","trueFunc"],["document.oncontextmenu","true"],["Object.prototype._detectLoop","undefined"],["SteadyWidgetSettings.adblockActive","false"],["devtoolsOpen","false"],["DisDevTool","undefined"],["admiral","noopFunc"],["document.oncopy","noopFunc"],["initials.layout.layoutPromoProps.promoMessagesWrapperProps.shouldDisplayAdblockMessage","false"],["mtGlobal.disabledAds","true"],["devtoolsDetector.launch","noopFunc"],["console.clear","throwFunc"],["ANN.ads.adblocked","false"],["maxUnauthenicatedArticleViews","null"],["placeAdsHandler","noopFunc"],["ramp.addUnits","noopFunc"],["pqdxwidthqt","false"],["nitroAds.loaded","true"],["jh_disabled_options_data","null"],["topMessage","noopFunc"],["document.onmousedown","null"],["forbidDebug","noopFunc"],["adblock","2"],["DisableDevtool","noopFunc"],["__NEXT_DATA__.props.pageProps.adPlacements","undefined"],["login_completed","true"],["console.table","trueFunc"],["console.log","trueFunc"],["Object.prototype.disableMenu","false"],["confirm","noopFunc"],["HTMLImageElement.prototype.onerror","undefined"]];
464
- const hostnamesMap = new Map([["xn-----0b4asja8cbew2b4b0gd0edbjm2jpa1b1e9zva7a0347s4da2797e7qri.xn--1ck2e1b",0],["up4stream.com",1],["ups2up.fun",1],["9tsu.vip",1],["moviesapi.club",[1,126]],["watchx.top",1],["xclient.info",2],["bejson.com",2],["impots.gouv.fr",3],["airnavradar.com",4],["radarbox.com",4],["gearside.com",5],["nytimes.com",[6,7]],["tvtropes.org",8],["justtrucks.com.au",9],["cittadinanza.biz",10],["glistranieri.it",10],["ideapod.com",[10,20]],["privivkainfo.ru",10],["awebstories.com",[10,103]],["ancient.eu",11],["intramed.net",12],["protest.eu",13],["northwestfirearms.com",14],["techkings.org",14],["spookshow.net",15],["fosshub.com",16],["pokemonforever.com",17],["carsguide.com.au",18],["humo.be",19],["webwereld.nl",21],["palemoon.org",22],["wheel-size.com",23],["aoezone.net",24],["radioony.fm",25],["mexiconewsdaily.com",26],["technologyreview.com",27],["bdcraft.net",28],["instagram.com",29],["wired.co.uk",30],["gq-magazine.co.uk",30],["glamourmagazine.co.uk",30],["m.youtube.com",31],["music.youtube.com",31],["tv.youtube.com",31],["www.youtube.com",31],["youtubekids.com",31],["buienradar.nl",32],["clk.ink",33],["earnload.*",33],["windows101tricks.com",34],["hindipix.*",[35,36]],["vidsrc.*",[36,126,139]],["bitcine.app",[36,142,143]],["cineby.app",[36,142,143]],["moflix-stream.day",[36,142,143]],["tv.verizon.com",[36,142,143]],["fontsfree.pro",37],["oceanof-games.com",38],["strangermeetup.com",39],["adslayuda.com",40],["intergate.info",41],["alphapolis.co.jp",[41,44]],["chronologia.pl",[41,44]],["reportergazeta.pl",[41,44,48]],["odiarioonline.com.br",[41,56]],["nordkorea-info.de",41],["geotips.net",[41,61]],["noweconomy.live",41],["naaree.com",[41,56]],["cda-hd.cc",41],["hqq.to",[41,57,75]],["tv-tokyo.co.jp",41],["arti-definisi-pengertian.info",41],["studyadda.com",[41,136]],["handball-world.news",42],["mobiflip.de",42],["titanic-magazin.de",42],["mimikama.org",42],["langweiledich.net",42],["der-postillon.com",42],["perlentaucher.de",42],["lwlies.com",42],["serieslyawesome.tv",42],["critic.de",42],["mediotejo.net",42],["nahrungsmittel-intoleranz.com",42],["madeinbocholt.de",42],["goodnews-magazin.de",42],["wallauonline.de",42],["cleanthinking.de",42],["avdelphi.com",43],["doods.*",45],["ds2play.com",45],["ds2video.com",45],["d0o0d.com",45],["vidembed.me",45],["mzzcloud.life",45],["videobot.stream",45],["videovard.*",45],["justswallows.net",45],["onscreensvideo.com",45],["katerionews.com",45],["telenovelas-turcas.com.es",45],["kmo.to",45],["jeniusplay.com",[45,118]],["southcloud.tv",45],["d0000d.com",45],["4x4earth.com",46],["jootc.com",[47,48]],["photobank.mainichi.co.jp",49],["tbs.co.jp",50],["rottentomatoes.com",51],["sovetromantica.com",52],["longecity.org",53],["fruit01.xyz",54],["foxteller.com",54],["lyricstranslate.com",55],["hardcoregames.ca",56],["allsmo.com",56],["themosvagas.com.br",56],["urbharat.xyz",56],["sportnews.to",[56,81]],["123movies.*",57],["miraculous.to",[57,80]],["webnovel.com",57],["pepperlive.info",57],["unbiasedsenseevent.com",57],["maxt.church",57],["cool-etv.net",57],["vgembed.com",[57,112]],["photopea.com",57],["szkolawohyn.pl",58],["torrentlawyer.com",[58,63,64,65]],["virpe.cc",58],["gmarket.co.kr",[58,64]],["paesifantasma.it",59],["talpo.it",59],["quora.com",60],["gmx.net",62],["hoca4u.com",64],["youmath.it",66],["renditepassive.net",[67,68,69,70,71]],["360doc.com",72],["logonews.cn",73],["spanishdict.com",74],["cloudcomputingtopics.net",75],["0123movies.ch",[75,84,88,116]],["epn.bz",76],["affbank.com",77],["gardenia.net",[78,79]],["meteoblue.com",82],["novelpia.com",[83,84]],["brainly.*",85],["blueraindrops.com",86],["animecruzers.com",87],["descargatepelis.com",88],["news.ntv.co.jp",88],["bongdaplus.vn",88],["bestjavporn.com",89],["mm9841.cc",89],["ggwash.org",[90,91]],["ask4movie.*",[92,93]],["watch.lonelil.com",93],["cinegrabber.com",94],["readawrite.com",[95,96,97,98,99,100,101]],["morosedog.gitlab.io",102],["indianhealthyrecipes.com",104],["thailandopen.org",[105,106]],["theaircurrent.com",[105,106]],["freereadnovel.online",[105,106]],["reborntrans.com",[105,106]],["secondlifetranslations.com",[105,106]],["koltry.life",[105,106]],["kolnovel.com",[105,106]],["heavyfetish.com",107],["joysound.com",[108,109,110]],["colors.sonicthehedgehog.com",[110,113]],["bluemediafile.*",111],["leakedzone.com",114],["mehoathinh2.com",115],["brutal.io",117],["powerline.io",117],["enduro-mtb.com",119],["kukaj.io",120],["aniwave.*",121],["anix.*",121],["flixrave.to",121],["hdtoday.so",121],["vidplay.*",121],["vid2faf.site",121],["lazyadmin.nl",122],["thejakartapost.com",123],["colourxh.site",124],["fullxh.com",124],["galleryxh.site",124],["megaxh.com",124],["movingxh.world",124],["seexh.com",124],["unlockxh4.com",124],["valuexh.life",124],["xhaccess.com",124],["xhadult4.com",124],["xhamster.*",124],["xhamster1.*",124],["xhamster10.*",124],["xhamster11.*",124],["xhamster12.*",124],["xhamster13.*",124],["xhamster14.*",124],["xhamster15.*",124],["xhamster16.*",124],["xhamster17.*",124],["xhamster18.*",124],["xhamster19.*",124],["xhamster20.*",124],["xhamster2.*",124],["xhamster3.*",124],["xhamster4.*",124],["xhamster42.*",124],["xhamster46.com",124],["xhamster5.*",124],["xhamster7.*",124],["xhamster8.*",124],["xhbig.com",124],["xhbranch5.com",124],["xhchannel.com",124],["xhdate.world",124],["xhmoon5.com",124],["xhofficial.com",124],["xhopen.com",124],["xhplanet1.com",124],["xhplanet2.com",124],["xhreal2.com",124],["xhspot.com",124],["xhtotal.com",124],["xhvictory.com",124],["xhwebsite5.com",124],["xhwide5.com",124],["marinetraffic.com",125],["ymovies.vip",126],["aniwatch.to",126],["aniwatchtv.to",126],["megacloud.tv",126],["hianime.*",126],["hianimez.to",126],["putlocker.vip",126],["rapid-cloud.co",126],["rabbitstream.net",126],["pupupul.site",126],["netu.*",126],["netuplayer.top",126],["stbnetu.xyz",126],["thotsbay.tv",126],["vipstreams.in",126],["freewatchtv.top",126],["gdplayertv.*",126],["mixstreams.top",126],["tvfreemium.top",126],["abysscdn.com",126],["grostembed.online",127],["premiumembeding.cloud",127],["venusembed.site",127],["animekai.*",127],["anigo.to",127],["megaup.cc",127],["megaup.site",127],["rapidshare.cc",127],["sflix.fi",127],["yflix.to",127],["animenewsnetwork.com",128],["androidpolice.com",129],["makeuseof.com",129],["movieweb.com",129],["xda-developers.com",129],["thegamer.com",129],["cbr.com",129],["gamerant.com",129],["screenrant.com",129],["howtogeek.com",129],["thethings.com",129],["simpleflying.com",129],["dualshockers.com",129],["digminecraft.com",130],["arras.io",131],["arras.netlify.app",131],["arrax.io",131],["how-to-pc.info",132],["programming-link.info",132],["maxroll.gg",133],["tv.bdix.app",134],["hitokageproduction.com",135],["dngz.net",137],["vnexpress.net",138],["archon.gg",140],["einthusan.tv",141],["sussytoons.*",144],["astro-cric.pages.dev",145],["crichype.*",145],["jio.pftv.ws",145],["shz.al",145],["tnt2-cricstreaming.pages.dev",145],["wlo-cricstreamiing.pages.dev",145],["sporttotal.tv",146]]);
464
+ const hostnamesMap = new Map([["xn-----0b4asja8cbew2b4b0gd0edbjm2jpa1b1e9zva7a0347s4da2797e7qri.xn--1ck2e1b",0],["up4stream.com",1],["ups2up.fun",1],["9tsu.vip",1],["moviesapi.club",[1,126]],["watchx.top",1],["xclient.info",2],["bejson.com",2],["impots.gouv.fr",3],["airnavradar.com",4],["radarbox.com",4],["gearside.com",5],["nytimes.com",[6,7]],["tvtropes.org",8],["justtrucks.com.au",9],["cittadinanza.biz",10],["glistranieri.it",10],["ideapod.com",[10,20]],["privivkainfo.ru",10],["awebstories.com",[10,103]],["ancient.eu",11],["intramed.net",12],["protest.eu",13],["northwestfirearms.com",14],["techkings.org",14],["spookshow.net",15],["fosshub.com",16],["pokemonforever.com",17],["carsguide.com.au",18],["humo.be",19],["webwereld.nl",21],["palemoon.org",22],["wheel-size.com",23],["aoezone.net",24],["radioony.fm",25],["mexiconewsdaily.com",26],["technologyreview.com",27],["bdcraft.net",28],["instagram.com",29],["wired.co.uk",30],["gq-magazine.co.uk",30],["glamourmagazine.co.uk",30],["m.youtube.com",31],["music.youtube.com",31],["tv.youtube.com",31],["www.youtube.com",31],["youtubekids.com",31],["buienradar.nl",32],["clk.ink",33],["earnload.*",33],["windows101tricks.com",34],["hindipix.*",[35,36]],["vidsrc.*",[36,126,139]],["bitcine.app",[36,142,143]],["cineby.app",[36,142,143]],["moflix-stream.day",[36,142,143]],["tv.verizon.com",[36,142,143]],["fontsfree.pro",37],["oceanof-games.com",38],["strangermeetup.com",39],["adslayuda.com",40],["intergate.info",41],["alphapolis.co.jp",[41,44]],["chronologia.pl",[41,44]],["reportergazeta.pl",[41,44,48]],["odiarioonline.com.br",[41,56]],["nordkorea-info.de",41],["geotips.net",[41,61]],["noweconomy.live",41],["naaree.com",[41,56]],["cda-hd.cc",41],["hqq.to",[41,57,75]],["tv-tokyo.co.jp",41],["arti-definisi-pengertian.info",41],["studyadda.com",[41,136]],["handball-world.news",42],["mobiflip.de",42],["titanic-magazin.de",42],["mimikama.org",42],["langweiledich.net",42],["der-postillon.com",42],["perlentaucher.de",42],["lwlies.com",42],["serieslyawesome.tv",42],["critic.de",42],["mediotejo.net",42],["nahrungsmittel-intoleranz.com",42],["madeinbocholt.de",42],["goodnews-magazin.de",42],["wallauonline.de",42],["cleanthinking.de",42],["avdelphi.com",43],["doods.*",45],["ds2play.com",45],["ds2video.com",45],["d0o0d.com",45],["vidembed.me",45],["mzzcloud.life",45],["videobot.stream",45],["videovard.*",45],["justswallows.net",45],["onscreensvideo.com",45],["katerionews.com",45],["telenovelas-turcas.com.es",45],["kmo.to",45],["jeniusplay.com",[45,118]],["southcloud.tv",45],["d0000d.com",45],["4x4earth.com",46],["jootc.com",[47,48]],["photobank.mainichi.co.jp",49],["tbs.co.jp",50],["rottentomatoes.com",51],["sovetromantica.com",52],["longecity.org",53],["fruit01.xyz",54],["foxteller.com",54],["lyricstranslate.com",55],["hardcoregames.ca",56],["allsmo.com",56],["themosvagas.com.br",56],["urbharat.xyz",56],["sportnews.to",[56,81]],["123movies.*",57],["miraculous.to",[57,80]],["webnovel.com",57],["pepperlive.info",57],["unbiasedsenseevent.com",57],["maxt.church",57],["cool-etv.net",57],["vgembed.com",[57,112]],["photopea.com",57],["szkolawohyn.pl",58],["torrentlawyer.com",[58,63,64,65]],["virpe.cc",58],["gmarket.co.kr",[58,64]],["paesifantasma.it",59],["talpo.it",59],["quora.com",60],["gmx.net",62],["hoca4u.com",64],["youmath.it",66],["renditepassive.net",[67,68,69,70,71]],["360doc.com",72],["logonews.cn",73],["spanishdict.com",74],["cloudcomputingtopics.net",75],["0123movies.ch",[75,84,88,116]],["epn.bz",76],["affbank.com",77],["gardenia.net",[78,79]],["meteoblue.com",82],["novelpia.com",[83,84]],["brainly.*",85],["blueraindrops.com",86],["animecruzers.com",87],["descargatepelis.com",88],["news.ntv.co.jp",88],["bongdaplus.vn",88],["bestjavporn.com",89],["mm9841.cc",89],["ggwash.org",[90,91]],["ask4movie.*",[92,93]],["watch.lonelil.com",93],["cinegrabber.com",94],["readawrite.com",[95,96,97,98,99,100,101]],["morosedog.gitlab.io",102],["indianhealthyrecipes.com",104],["thailandopen.org",[105,106]],["theaircurrent.com",[105,106]],["freereadnovel.online",[105,106]],["reborntrans.com",[105,106]],["secondlifetranslations.com",[105,106]],["koltry.life",[105,106]],["kolnovel.com",[105,106]],["heavyfetish.com",107],["joysound.com",[108,109,110]],["colors.sonicthehedgehog.com",[110,113]],["bluemediafile.*",111],["leakedzone.com",114],["mehoathinh2.com",115],["brutal.io",117],["powerline.io",117],["enduro-mtb.com",119],["kukaj.io",120],["aniwave.*",121],["anix.*",121],["flixrave.to",121],["hdtoday.so",121],["vidplay.*",121],["vid2faf.site",121],["lazyadmin.nl",122],["thejakartapost.com",123],["colourxh.site",124],["fullxh.com",124],["galleryxh.site",124],["megaxh.com",124],["movingxh.world",124],["seexh.com",124],["unlockxh4.com",124],["valuexh.life",124],["xhaccess.com",124],["xhadult4.com",124],["xhamster.*",124],["xhamster1.*",124],["xhamster10.*",124],["xhamster11.*",124],["xhamster12.*",124],["xhamster13.*",124],["xhamster14.*",124],["xhamster15.*",124],["xhamster16.*",124],["xhamster17.*",124],["xhamster18.*",124],["xhamster19.*",124],["xhamster20.*",124],["xhamster2.*",124],["xhamster3.*",124],["xhamster4.*",124],["xhamster42.*",124],["xhamster46.com",124],["xhamster5.*",124],["xhamster7.*",124],["xhamster8.*",124],["xhbig.com",124],["xhbranch5.com",124],["xhchannel.com",124],["xhdate.world",124],["xhmoon5.com",124],["xhofficial.com",124],["xhopen.com",124],["xhplanet1.com",124],["xhplanet2.com",124],["xhreal2.com",124],["xhspot.com",124],["xhtotal.com",124],["xhvictory.com",124],["xhwebsite5.com",124],["xhwide5.com",124],["marinetraffic.com",125],["ymovies.vip",126],["aniwatch.to",126],["aniwatchtv.to",126],["megacloud.tv",126],["hianime.*",126],["hianimez.to",126],["putlocker.vip",126],["rapid-cloud.co",126],["rabbitstream.net",126],["pupupul.site",126],["netu.*",126],["netuplayer.top",126],["stbnetu.xyz",126],["thotsbay.tv",126],["vipstreams.in",126],["freewatchtv.top",126],["gdplayertv.*",126],["mixstreams.top",126],["tvfreemium.top",126],["abysscdn.com",126],["grostembed.online",127],["premiumembeding.cloud",127],["venusembed.site",127],["animekai.*",127],["anigo.to",127],["megaup.cc",127],["megaup.live",127],["megaup.site",127],["rapidshare.cc",127],["sflix.fi",127],["yflix.to",127],["animenewsnetwork.com",128],["androidpolice.com",129],["makeuseof.com",129],["movieweb.com",129],["xda-developers.com",129],["thegamer.com",129],["cbr.com",129],["gamerant.com",129],["screenrant.com",129],["howtogeek.com",129],["thethings.com",129],["simpleflying.com",129],["dualshockers.com",129],["digminecraft.com",130],["arras.io",131],["arras.netlify.app",131],["arrax.io",131],["how-to-pc.info",132],["programming-link.info",132],["maxroll.gg",133],["tv.bdix.app",134],["hitokageproduction.com",135],["dngz.net",137],["vnexpress.net",138],["archon.gg",140],["einthusan.tv",141],["sussytoons.*",144],["astro-cric.pages.dev",145],["crichype.*",145],["jio.pftv.ws",145],["shz.al",145],["tnt2-cricstreaming.pages.dev",145],["wlo-cricstreamiing.pages.dev",145],["sporttotal.tv",146]]);
465
465
  const exceptionsMap = new Map([]);
466
466
  const hasEntities = true;
467
467
  const hasAncestors = false;
@@ -107,92 +107,103 @@ function trustedClickElement(
107
107
  return shadowRoot && querySelectorEx(inside, shadowRoot);
108
108
  };
109
109
 
110
- const selectorList = safe.String_split.call(selectors, /\s*,\s*/)
111
- .filter(s => {
112
- try {
113
- void querySelectorEx(s);
114
- } catch {
115
- return false;
116
- }
117
- return true;
118
- });
119
- if ( selectorList.length === 0 ) { return; }
120
-
110
+ const steps = safe.String_split.call(selectors, /\s*,\s*/).map(a => {
111
+ if ( /^\d+$/.test(a) ) { return parseInt(a, 10); }
112
+ return a;
113
+ });
114
+ if ( steps.length === 0 ) { return; }
121
115
  const clickDelay = parseInt(delay, 10) || 1;
122
- const t0 = Date.now();
123
- const tbye = t0 + 10000;
124
- let tnext = selectorList.length !== 1 ? t0 : t0 + clickDelay;
116
+ for ( let i = steps.length-1; i > 0; i-- ) {
117
+ if ( typeof steps[i] !== 'string' ) { continue; }
118
+ if ( typeof steps[i-1] !== 'string' ) { continue; }
119
+ steps.splice(i, 0, clickDelay);
120
+ }
121
+ if ( typeof steps.at(-1) !== 'number' ) {
122
+ steps.push(10000);
123
+ }
125
124
 
126
- const terminate = ( ) => {
127
- selectorList.length = 0;
128
- next.stop();
129
- observe.stop();
125
+ const waitForTime = ms => {
126
+ return new Promise(resolve => {
127
+ safe.uboLog(logPrefix, `Waiting for ${ms} ms`);
128
+ waitForTime.timer = setTimeout(( ) => {
129
+ waitForTime.timer = undefined;
130
+ resolve();
131
+ }, ms);
132
+ });
133
+ };
134
+ waitForTime.cancel = ( ) => {
135
+ const { timer } = waitForTime;
136
+ if ( timer === undefined ) { return; }
137
+ clearTimeout(timer);
138
+ waitForTime.timer = undefined;
130
139
  };
131
140
 
132
- const next = notFound => {
133
- if ( selectorList.length === 0 ) {
134
- safe.uboLog(logPrefix, 'Completed');
135
- return terminate();
136
- }
137
- const tnow = Date.now();
138
- if ( tnow >= tbye ) {
139
- safe.uboLog(logPrefix, 'Timed out');
140
- return terminate();
141
- }
142
- if ( notFound ) { observe(); }
143
- const delay = Math.max(notFound ? tbye - tnow : tnext - tnow, 1);
144
- next.timer = setTimeout(( ) => {
145
- next.timer = undefined;
146
- process();
147
- }, delay);
148
- safe.uboLog(logPrefix, `Waiting for ${selectorList[0]}...`);
141
+ const waitForElement = selector => {
142
+ return new Promise(resolve => {
143
+ const elem = querySelectorEx(selector);
144
+ if ( elem !== null ) {
145
+ elem.click();
146
+ resolve();
147
+ return;
148
+ }
149
+ safe.uboLog(logPrefix, `Waiting for ${selector}`);
150
+ const observer = new MutationObserver(( ) => {
151
+ const elem = querySelectorEx(selector);
152
+ if ( elem === null ) { return; }
153
+ waitForElement.cancel();
154
+ elem.click();
155
+ resolve();
156
+ });
157
+ observer.observe(document, {
158
+ attributes: true,
159
+ childList: true,
160
+ subtree: true,
161
+ });
162
+ waitForElement.observer = observer;
163
+ });
149
164
  };
150
- next.stop = ( ) => {
151
- if ( next.timer === undefined ) { return; }
152
- clearTimeout(next.timer);
153
- next.timer = undefined;
165
+ waitForElement.cancel = ( ) => {
166
+ const { observer } = waitForElement;
167
+ if ( observer === undefined ) { return; }
168
+ waitForElement.observer = undefined;
169
+ observer.disconnect();
154
170
  };
155
171
 
156
- const observe = ( ) => {
157
- if ( observe.observer !== undefined ) { return; }
158
- observe.observer = new MutationObserver(( ) => {
159
- if ( observe.timer !== undefined ) { return; }
160
- observe.timer = setTimeout(( ) => {
161
- observe.timer = undefined;
162
- process();
163
- }, 20);
164
- });
165
- observe.observer.observe(document, {
166
- attributes: true,
167
- childList: true,
168
- subtree: true,
169
- });
172
+ const waitForTimeout = ms => {
173
+ waitForTimeout.cancel();
174
+ waitForTimeout.timer = setTimeout(( ) => {
175
+ waitForTimeout.timer = undefined;
176
+ terminate();
177
+ safe.uboLog(logPrefix, `Timed out after ${ms} ms`);
178
+ }, ms);
170
179
  };
171
- observe.stop = ( ) => {
172
- if ( observe.timer !== undefined ) {
173
- clearTimeout(observe.timer);
174
- observe.timer = undefined;
175
- }
176
- if ( observe.observer ) {
177
- observe.observer.disconnect();
178
- observe.observer = undefined;
179
- }
180
+ waitForTimeout.cancel = ( ) => {
181
+ if ( waitForTimeout.timer === undefined ) { return; }
182
+ clearTimeout(waitForTimeout.timer);
183
+ waitForTimeout.timer = undefined;
180
184
  };
181
185
 
182
- const process = ( ) => {
183
- next.stop();
184
- if ( Date.now() < tnext ) { return next(); }
185
- const selector = selectorList.shift();
186
- if ( selector === undefined ) { return terminate(); }
187
- const elem = querySelectorEx(selector);
188
- if ( elem === null ) {
189
- selectorList.unshift(selector);
190
- return next(true);
186
+ const terminate = ( ) => {
187
+ waitForTime.cancel();
188
+ waitForElement.cancel();
189
+ waitForTimeout.cancel();
190
+ };
191
+
192
+ const process = async ( ) => {
193
+ waitForTimeout(steps.pop());
194
+ while ( steps.length !== 0 ) {
195
+ const step = steps.shift();
196
+ if ( step === undefined ) { break; }
197
+ if ( typeof step === 'number' ) {
198
+ await waitForTime(step);
199
+ if ( step === 1 ) { continue; }
200
+ continue;
201
+ }
202
+ if ( step.startsWith('!') ) { continue; }
203
+ await waitForElement(step);
204
+ safe.uboLog(logPrefix, `Clicked ${step}`);
191
205
  }
192
- safe.uboLog(logPrefix, `Clicked ${selector}`);
193
- elem.click();
194
- tnext += clickDelay;
195
- next();
206
+ terminate();
196
207
  };
197
208
 
198
209
  runAtHtmlElementFn(process);
@@ -426,8 +437,8 @@ function safeSelf() {
426
437
  /******************************************************************************/
427
438
 
428
439
  const scriptletGlobals = {}; // eslint-disable-line
429
- const argsList = [[".chakra-portal .chakra-modal__content-container > section.chakra-modal__content > .chakra-modal__header:has(> .chakra-stack > a[href^=\"https://www.deezer.com/payment/go.php?origin=paywall_pressure\"]) + button.chakra-modal__close-btn"],["[data-automation=\"continue-to-ads-btn\"]","","10000"],[".z_share_popover div.gap_2 > button.mt_24px.rounded_100vh + button.text_tint.disabled\\:opacity_0\\.4.h_50px"],["[data-testid=\"consentBanner\"] > button[data-testid=\"banner-button\"]","","1000"],["[data-testid=\"consentBanner\"] > button[data-testid=\"banner-button\"]","","1100"],["[data-testid=\"consentBanner\"] > button[data-testid=\"banner-button\"]","","1200"],["[data-testid=\"consentBanner\"] > button[data-testid=\"banner-button\"]","","1300"],["#web-modal button.css-1d86b5p"],[".erc-existing-profile-onboarding-modal button[class^=\"modal-portal__close-button\"]"],["#com-onboarding-OnboardingWelcomeModal__title + div .com-a-Button--dark"],["#app > [data-testid=\"embed-wrapper\"] [aria-label*=\"становить\"]"],[".seo-landing-modal-cancel-btn .design-system-button-container","","500"],[".dig-Modal:has(div[data-testid=\"digTruncateTooltipTrigger\"]) > .dig-Modal-close-btn","","2000"]];
430
- const hostnamesMap = new Map([["deezer.com",0],["moovitapp.com",1],["teller.jp",2],["bbc.com",[3,4,5,6]],["wrtn.jp",7],["crunchyroll.com",8],["abema.tv",9],["rutube.ru",10],["lemon8-app.com",11],["dropbox.com",12]]);
440
+ const argsList = [[".chakra-portal .chakra-modal__content-container > section.chakra-modal__content > .chakra-modal__header:has(> .chakra-stack > a[href^=\"https://www.deezer.com/payment/go.php?origin=paywall_pressure\"]) + button.chakra-modal__close-btn"],["[data-automation=\"continue-to-ads-btn\"]","","10000"],[".z_share_popover div.gap_2 > button.mt_24px.rounded_100vh + button.text_tint.disabled\\:opacity_0\\.4.h_50px"],["[data-testid=\"consentBanner\"] > button[data-testid=\"banner-button\"]","","1000"],["[data-testid=\"consentBanner\"] > button[data-testid=\"banner-button\"]","","1100"],["[data-testid=\"consentBanner\"] > button[data-testid=\"banner-button\"]","","1200"],["[data-testid=\"consentBanner\"] > button[data-testid=\"banner-button\"]","","1300"],["#web-modal button.css-1d86b5p"],[".erc-existing-profile-onboarding-modal button[class^=\"modal-portal__close-button\"]"],["#com-onboarding-OnboardingWelcomeModal__title + div .com-a-Button--dark"],[".seo-landing-modal-cancel-btn .design-system-button-container","","500"],[".dig-Modal:has(div[data-testid=\"digTruncateTooltipTrigger\"]) > .dig-Modal-close-btn","","2000"]];
441
+ const hostnamesMap = new Map([["deezer.com",0],["moovitapp.com",1],["teller.jp",2],["bbc.com",[3,4,5,6]],["wrtn.jp",7],["crunchyroll.com",8],["abema.tv",9],["lemon8-app.com",10],["dropbox.com",11]]);
431
442
  const exceptionsMap = new Map([]);
432
443
  const hasEntities = false;
433
444
  const hasAncestors = false;
@@ -169,6 +169,10 @@ function proxyApplyFn(
169
169
  : new proxyApplyFn.ApplyContext(...args);
170
170
  }
171
171
  };
172
+ proxyApplyFn.isCtor = new Map();
173
+ }
174
+ if ( proxyApplyFn.isCtor.has(target) === false ) {
175
+ proxyApplyFn.isCtor.set(target, fn.prototype?.constructor === fn);
172
176
  }
173
177
  const fnStr = fn.toString();
174
178
  const toString = (function toString() { return fnStr; }).bind(null);
@@ -181,7 +185,7 @@ function proxyApplyFn(
181
185
  return Reflect.get(target, prop);
182
186
  },
183
187
  };
184
- if ( fn.prototype?.constructor === fn ) {
188
+ if ( proxyApplyFn.isCtor.get(target) ) {
185
189
  proxyDetails.construct = function(target, args) {
186
190
  return handler(proxyApplyFn.CtorContext.factory(target, args));
187
191
  };
@@ -133,6 +133,10 @@ function proxyApplyFn(
133
133
  : new proxyApplyFn.ApplyContext(...args);
134
134
  }
135
135
  };
136
+ proxyApplyFn.isCtor = new Map();
137
+ }
138
+ if ( proxyApplyFn.isCtor.has(target) === false ) {
139
+ proxyApplyFn.isCtor.set(target, fn.prototype?.constructor === fn);
136
140
  }
137
141
  const fnStr = fn.toString();
138
142
  const toString = (function toString() { return fnStr; }).bind(null);
@@ -145,7 +149,7 @@ function proxyApplyFn(
145
149
  return Reflect.get(target, prop);
146
150
  },
147
151
  };
148
- if ( fn.prototype?.constructor === fn ) {
152
+ if ( proxyApplyFn.isCtor.get(target) ) {
149
153
  proxyDetails.construct = function(target, args) {
150
154
  return handler(proxyApplyFn.CtorContext.factory(target, args));
151
155
  };
@@ -318,8 +318,8 @@ function safeSelf() {
318
318
  /******************************************************************************/
319
319
 
320
320
  const scriptletGlobals = {}; // eslint-disable-line
321
- const argsList = [["contextual-sign-in-modal-cool-off-hidden","$now$"],["halfSheetAppBannerDismissed","{\"halfSheetAppBannerDismissed\":{\"expiration\":2000000000000,\"data\":true}}"],["lastViewTime","$currentDate$"],["reference_offer","__q_objt|{\"offer_type\":\"PROMOTION\"}"],["show_offer","__q_bool|0"],["show_offer_timestamp","__q_numb|9999999999999"],["adblockNotice","{\"dismissed\":true,\"impressionCount\":1}"]];
322
- const hostnamesMap = new Map([["linkedin.com",0],["patreon.com",1],["cu.tbs.co.jp",2],["bitchute.com",[3,4,5]],["duckduckgo.com",6]]);
321
+ const argsList = [["contextual-sign-in-modal-cool-off-hidden","$now$"],["halfSheetAppBannerDismissed","{\"halfSheetAppBannerDismissed\":{\"expiration\":2000000000000,\"data\":true}}"],["lastViewTime","$currentDate$"],["reference_offer","__q_objt|{\"offer_type\":\"PROMOTION\"}"],["show_offer","__q_bool|0"],["show_offer_timestamp","__q_numb|9999999999999"],["adblockNotice","{\"dismissed\":true,\"impressionCount\":1}"],["xvmDialogLastShown","$now$"]];
322
+ const hostnamesMap = new Map([["linkedin.com",0],["patreon.com",1],["cu.tbs.co.jp",2],["bitchute.com",[3,4,5]],["duckduckgo.com",6],["modxvm.com",7]]);
323
323
  const exceptionsMap = new Map([]);
324
324
  const hasEntities = false;
325
325
  const hasAncestors = false;
@@ -204,6 +204,10 @@ function proxyApplyFn(
204
204
  : new proxyApplyFn.ApplyContext(...args);
205
205
  }
206
206
  };
207
+ proxyApplyFn.isCtor = new Map();
208
+ }
209
+ if ( proxyApplyFn.isCtor.has(target) === false ) {
210
+ proxyApplyFn.isCtor.set(target, fn.prototype?.constructor === fn);
207
211
  }
208
212
  const fnStr = fn.toString();
209
213
  const toString = (function toString() { return fnStr; }).bind(null);
@@ -216,7 +220,7 @@ function proxyApplyFn(
216
220
  return Reflect.get(target, prop);
217
221
  },
218
222
  };
219
- if ( fn.prototype?.constructor === fn ) {
223
+ if ( proxyApplyFn.isCtor.get(target) ) {
220
224
  proxyDetails.construct = function(target, args) {
221
225
  return handler(proxyApplyFn.CtorContext.factory(target, args));
222
226
  };
@@ -170,6 +170,10 @@ function proxyApplyFn(
170
170
  : new proxyApplyFn.ApplyContext(...args);
171
171
  }
172
172
  };
173
+ proxyApplyFn.isCtor = new Map();
174
+ }
175
+ if ( proxyApplyFn.isCtor.has(target) === false ) {
176
+ proxyApplyFn.isCtor.set(target, fn.prototype?.constructor === fn);
173
177
  }
174
178
  const fnStr = fn.toString();
175
179
  const toString = (function toString() { return fnStr; }).bind(null);
@@ -182,7 +186,7 @@ function proxyApplyFn(
182
186
  return Reflect.get(target, prop);
183
187
  },
184
188
  };
185
- if ( fn.prototype?.constructor === fn ) {
189
+ if ( proxyApplyFn.isCtor.get(target) ) {
186
190
  proxyDetails.construct = function(target, args) {
187
191
  return handler(proxyApplyFn.CtorContext.factory(target, args));
188
192
  };
@@ -418,7 +422,7 @@ function shouldDebug(details) {
418
422
 
419
423
  const scriptletGlobals = {}; // eslint-disable-line
420
424
  const argsList = [["DOMContentLoaded","check"],["error","event.target.tagName"],["DOMContentLoaded","adBlock"],["","showRemoveAdBlocker"],["DOMContentLoaded","document.createElement"],["DOMContentLoaded","localStorage"],["touchend","window.location.href"],["touchend","clientheight"]];
421
- const hostnamesMap = new Map([["xchina.co",0],["rjno1.com",1],["linovelib.com",2],["xiebruce.top",3],["85tube.com",4],["iplark.com",5],["69shumi.com",6],["biquge543.com",6],["beqg.cc",6],["biquge321.com",6],["m.13xsw.com",7],["wap.yushuwu.cloud",7]]);
425
+ const hostnamesMap = new Map([["xchina.co",0],["rjno1.com",1],["linovelib.com",2],["xiebruce.top",3],["85tube.com",4],["iplark.com",5],["m.biquge12345.com",6],["69shumi.com",6],["biquge543.com",6],["beqg.cc",6],["biquge321.com",6],["m.13xsw.com",7],["wap.yushuwu.cloud",7]]);
422
426
  const exceptionsMap = new Map([]);
423
427
  const hasEntities = false;
424
428
  const hasAncestors = false;
@@ -146,6 +146,10 @@ function proxyApplyFn(
146
146
  : new proxyApplyFn.ApplyContext(...args);
147
147
  }
148
148
  };
149
+ proxyApplyFn.isCtor = new Map();
150
+ }
151
+ if ( proxyApplyFn.isCtor.has(target) === false ) {
152
+ proxyApplyFn.isCtor.set(target, fn.prototype?.constructor === fn);
149
153
  }
150
154
  const fnStr = fn.toString();
151
155
  const toString = (function toString() { return fnStr; }).bind(null);
@@ -158,7 +162,7 @@ function proxyApplyFn(
158
162
  return Reflect.get(target, prop);
159
163
  },
160
164
  };
161
- if ( fn.prototype?.constructor === fn ) {
165
+ if ( proxyApplyFn.isCtor.get(target) ) {
162
166
  proxyDetails.construct = function(target, args) {
163
167
  return handler(proxyApplyFn.CtorContext.factory(target, args));
164
168
  };
@@ -112,6 +112,10 @@ function proxyApplyFn(
112
112
  : new proxyApplyFn.ApplyContext(...args);
113
113
  }
114
114
  };
115
+ proxyApplyFn.isCtor = new Map();
116
+ }
117
+ if ( proxyApplyFn.isCtor.has(target) === false ) {
118
+ proxyApplyFn.isCtor.set(target, fn.prototype?.constructor === fn);
115
119
  }
116
120
  const fnStr = fn.toString();
117
121
  const toString = (function toString() { return fnStr; }).bind(null);
@@ -124,7 +128,7 @@ function proxyApplyFn(
124
128
  return Reflect.get(target, prop);
125
129
  },
126
130
  };
127
- if ( fn.prototype?.constructor === fn ) {
131
+ if ( proxyApplyFn.isCtor.get(target) ) {
128
132
  proxyDetails.construct = function(target, args) {
129
133
  return handler(proxyApplyFn.CtorContext.factory(target, args));
130
134
  };
@@ -266,6 +266,10 @@ function proxyApplyFn(
266
266
  : new proxyApplyFn.ApplyContext(...args);
267
267
  }
268
268
  };
269
+ proxyApplyFn.isCtor = new Map();
270
+ }
271
+ if ( proxyApplyFn.isCtor.has(target) === false ) {
272
+ proxyApplyFn.isCtor.set(target, fn.prototype?.constructor === fn);
269
273
  }
270
274
  const fnStr = fn.toString();
271
275
  const toString = (function toString() { return fnStr; }).bind(null);
@@ -278,7 +282,7 @@ function proxyApplyFn(
278
282
  return Reflect.get(target, prop);
279
283
  },
280
284
  };
281
- if ( fn.prototype?.constructor === fn ) {
285
+ if ( proxyApplyFn.isCtor.get(target) ) {
282
286
  proxyDetails.construct = function(target, args) {
283
287
  return handler(proxyApplyFn.CtorContext.factory(target, args));
284
288
  };
@@ -480,7 +484,7 @@ function safeSelf() {
480
484
 
481
485
  const scriptletGlobals = {}; // eslint-disable-line
482
486
  const argsList = [["adsbygoogle.js"],["pagead2.googlesyndication.com"],["method:HEAD"],["/googlesyndication\\.com|doubleclick\\.net/"],["www3.doubleclick.net"],["/pagead2\\.googlesyndication\\.com|\\/fbevents\\.js/"]];
483
- const hostnamesMap = new Map([["helper-employer.com",0],["slashview.com",1],["fsbot.xyz",1],["mpyit.com",1],["hmanga.world",2],["wandhi.com",3],["taiwanlibrarysearch.herokuapp.com",4],["linetv.tw",5]]);
487
+ const hostnamesMap = new Map([["helper-employer.com",0],["slashview.com",1],["fsbot.xyz",1],["mpyit.com",1],["4gtv.tv",1],["hmanga.world",2],["wandhi.com",3],["taiwanlibrarysearch.herokuapp.com",4],["linetv.tw",5]]);
484
488
  const exceptionsMap = new Map([]);
485
489
  const hasEntities = false;
486
490
  const hasAncestors = false;
@@ -118,6 +118,10 @@ function proxyApplyFn(
118
118
  : new proxyApplyFn.ApplyContext(...args);
119
119
  }
120
120
  };
121
+ proxyApplyFn.isCtor = new Map();
122
+ }
123
+ if ( proxyApplyFn.isCtor.has(target) === false ) {
124
+ proxyApplyFn.isCtor.set(target, fn.prototype?.constructor === fn);
121
125
  }
122
126
  const fnStr = fn.toString();
123
127
  const toString = (function toString() { return fnStr; }).bind(null);
@@ -130,7 +134,7 @@ function proxyApplyFn(
130
134
  return Reflect.get(target, prop);
131
135
  },
132
136
  };
133
- if ( fn.prototype?.constructor === fn ) {
137
+ if ( proxyApplyFn.isCtor.get(target) ) {
134
138
  proxyDetails.construct = function(target, args) {
135
139
  return handler(proxyApplyFn.CtorContext.factory(target, args));
136
140
  };
@@ -118,6 +118,10 @@ function proxyApplyFn(
118
118
  : new proxyApplyFn.ApplyContext(...args);
119
119
  }
120
120
  };
121
+ proxyApplyFn.isCtor = new Map();
122
+ }
123
+ if ( proxyApplyFn.isCtor.has(target) === false ) {
124
+ proxyApplyFn.isCtor.set(target, fn.prototype?.constructor === fn);
121
125
  }
122
126
  const fnStr = fn.toString();
123
127
  const toString = (function toString() { return fnStr; }).bind(null);
@@ -130,7 +134,7 @@ function proxyApplyFn(
130
134
  return Reflect.get(target, prop);
131
135
  },
132
136
  };
133
- if ( fn.prototype?.constructor === fn ) {
137
+ if ( proxyApplyFn.isCtor.get(target) ) {
134
138
  proxyDetails.construct = function(target, args) {
135
139
  return handler(proxyApplyFn.CtorContext.factory(target, args));
136
140
  };
@@ -177,6 +177,10 @@ function proxyApplyFn(
177
177
  : new proxyApplyFn.ApplyContext(...args);
178
178
  }
179
179
  };
180
+ proxyApplyFn.isCtor = new Map();
181
+ }
182
+ if ( proxyApplyFn.isCtor.has(target) === false ) {
183
+ proxyApplyFn.isCtor.set(target, fn.prototype?.constructor === fn);
180
184
  }
181
185
  const fnStr = fn.toString();
182
186
  const toString = (function toString() { return fnStr; }).bind(null);
@@ -189,7 +193,7 @@ function proxyApplyFn(
189
193
  return Reflect.get(target, prop);
190
194
  },
191
195
  };
192
- if ( fn.prototype?.constructor === fn ) {
196
+ if ( proxyApplyFn.isCtor.get(target) ) {
193
197
  proxyDetails.construct = function(target, args) {
194
198
  return handler(proxyApplyFn.CtorContext.factory(target, args));
195
199
  };
@@ -170,6 +170,10 @@ function proxyApplyFn(
170
170
  : new proxyApplyFn.ApplyContext(...args);
171
171
  }
172
172
  };
173
+ proxyApplyFn.isCtor = new Map();
174
+ }
175
+ if ( proxyApplyFn.isCtor.has(target) === false ) {
176
+ proxyApplyFn.isCtor.set(target, fn.prototype?.constructor === fn);
173
177
  }
174
178
  const fnStr = fn.toString();
175
179
  const toString = (function toString() { return fnStr; }).bind(null);
@@ -182,7 +186,7 @@ function proxyApplyFn(
182
186
  return Reflect.get(target, prop);
183
187
  },
184
188
  };
185
- if ( fn.prototype?.constructor === fn ) {
189
+ if ( proxyApplyFn.isCtor.get(target) ) {
186
190
  proxyDetails.construct = function(target, args) {
187
191
  return handler(proxyApplyFn.CtorContext.factory(target, args));
188
192
  };
@@ -118,6 +118,10 @@ function proxyApplyFn(
118
118
  : new proxyApplyFn.ApplyContext(...args);
119
119
  }
120
120
  };
121
+ proxyApplyFn.isCtor = new Map();
122
+ }
123
+ if ( proxyApplyFn.isCtor.has(target) === false ) {
124
+ proxyApplyFn.isCtor.set(target, fn.prototype?.constructor === fn);
121
125
  }
122
126
  const fnStr = fn.toString();
123
127
  const toString = (function toString() { return fnStr; }).bind(null);
@@ -130,7 +134,7 @@ function proxyApplyFn(
130
134
  return Reflect.get(target, prop);
131
135
  },
132
136
  };
133
- if ( fn.prototype?.constructor === fn ) {
137
+ if ( proxyApplyFn.isCtor.get(target) ) {
134
138
  proxyDetails.construct = function(target, args) {
135
139
  return handler(proxyApplyFn.CtorContext.factory(target, args));
136
140
  };
@@ -118,6 +118,10 @@ function proxyApplyFn(
118
118
  : new proxyApplyFn.ApplyContext(...args);
119
119
  }
120
120
  };
121
+ proxyApplyFn.isCtor = new Map();
122
+ }
123
+ if ( proxyApplyFn.isCtor.has(target) === false ) {
124
+ proxyApplyFn.isCtor.set(target, fn.prototype?.constructor === fn);
121
125
  }
122
126
  const fnStr = fn.toString();
123
127
  const toString = (function toString() { return fnStr; }).bind(null);
@@ -130,7 +134,7 @@ function proxyApplyFn(
130
134
  return Reflect.get(target, prop);
131
135
  },
132
136
  };
133
- if ( fn.prototype?.constructor === fn ) {
137
+ if ( proxyApplyFn.isCtor.get(target) ) {
134
138
  proxyDetails.construct = function(target, args) {
135
139
  return handler(proxyApplyFn.CtorContext.factory(target, args));
136
140
  };
@@ -266,6 +266,10 @@ function proxyApplyFn(
266
266
  : new proxyApplyFn.ApplyContext(...args);
267
267
  }
268
268
  };
269
+ proxyApplyFn.isCtor = new Map();
270
+ }
271
+ if ( proxyApplyFn.isCtor.has(target) === false ) {
272
+ proxyApplyFn.isCtor.set(target, fn.prototype?.constructor === fn);
269
273
  }
270
274
  const fnStr = fn.toString();
271
275
  const toString = (function toString() { return fnStr; }).bind(null);
@@ -278,7 +282,7 @@ function proxyApplyFn(
278
282
  return Reflect.get(target, prop);
279
283
  },
280
284
  };
281
- if ( fn.prototype?.constructor === fn ) {
285
+ if ( proxyApplyFn.isCtor.get(target) ) {
282
286
  proxyDetails.construct = function(target, args) {
283
287
  return handler(proxyApplyFn.CtorContext.factory(target, args));
284
288
  };