@fkn/lib 0.4.8 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/account.cjs +1 -0
  2. package/account.d.ts +17 -0
  3. package/account.js +28 -0
  4. package/api-ByfayMm1.js +67 -0
  5. package/api-CDb2pv7C.cjs +1 -0
  6. package/background-Dk_vaVP1.cjs +1 -0
  7. package/{background-CTsVv_a0.js → background-TtzKw6g0.js} +5 -4
  8. package/chunk-B6C_zzib.cjs +1 -0
  9. package/chunk-CPXzm0be.js +11 -0
  10. package/cloud/dgram.cjs +1 -0
  11. package/cloud/dgram.d.ts +537 -0
  12. package/cloud/dgram.js +4 -0
  13. package/cloud/dns.cjs +1 -0
  14. package/cloud/dns.d.ts +12 -0
  15. package/cloud/dns.js +3 -0
  16. package/cloud/fs/promises.cjs +1 -0
  17. package/cloud/fs/promises.d.ts +45 -0
  18. package/cloud/fs/promises.js +8 -0
  19. package/cloud/fs.cjs +1 -0
  20. package/cloud/fs.d.ts +75 -0
  21. package/cloud/fs.js +20 -0
  22. package/cloud/http.cjs +1 -0
  23. package/cloud/http.d.ts +767 -0
  24. package/cloud/http.js +5 -0
  25. package/cloud/net.cjs +1 -0
  26. package/cloud/net.d.ts +606 -0
  27. package/cloud/net.js +4 -0
  28. package/cloud-BVnscun4.js +33 -0
  29. package/cloud-DTL2B5pW.cjs +1 -0
  30. package/cloud.cjs +1 -0
  31. package/cloud.d.ts +1048 -0
  32. package/cloud.js +12 -0
  33. package/desktop.cjs +1 -0
  34. package/desktop.d.ts +49 -0
  35. package/desktop.js +51 -0
  36. package/dgram-5YUb70O2.js +326 -0
  37. package/dgram-Cdi6Y7zJ.cjs +1 -0
  38. package/dgram.cjs +1 -0
  39. package/dgram.d.ts +537 -0
  40. package/dgram.js +4 -0
  41. package/dns.cjs +1 -0
  42. package/dns.d.ts +12 -0
  43. package/dns.js +6 -0
  44. package/extension-9Uv_0HdS.cjs +1 -0
  45. package/extension-Dgz0UTy0.js +245 -0
  46. package/extension.cjs +1 -0
  47. package/extension.d.ts +853 -0
  48. package/extension.js +5 -0
  49. package/fs/promises.cjs +1 -0
  50. package/fs/promises.d.ts +46 -0
  51. package/fs/promises.js +8 -0
  52. package/fs-B7JumDCn.js +78 -0
  53. package/fs-DrwvwtqC.cjs +1 -0
  54. package/fs.cjs +1 -0
  55. package/fs.d.ts +84 -0
  56. package/fs.js +5 -0
  57. package/http.cjs +9 -0
  58. package/http.d.ts +767 -0
  59. package/http.js +541 -0
  60. package/index.cjs +1 -9
  61. package/index.d.ts +495 -268
  62. package/index.js +27 -1569
  63. package/locator-Cf7M3QKN.cjs +53 -0
  64. package/{locator-Q5m8i40Z.js → locator-DxAsGV_o.js} +331 -337
  65. package/net-Bl6_W3bd.js +275 -0
  66. package/net-C5kWnI4C.cjs +1 -0
  67. package/net.cjs +1 -0
  68. package/net.d.ts +606 -0
  69. package/net.js +4 -0
  70. package/node-fs-Bd_UUx1m.js +361 -0
  71. package/node-fs-lrlD_zqB.cjs +1 -0
  72. package/opfs/promises.cjs +1 -0
  73. package/opfs/promises.d.ts +46 -0
  74. package/opfs/promises.js +6 -0
  75. package/opfs-BfcYLPGb.js +55 -0
  76. package/opfs-Dsi4FkJU.cjs +1 -0
  77. package/opfs.cjs +1 -0
  78. package/opfs.d.ts +83 -0
  79. package/opfs.js +35 -0
  80. package/package.json +91 -1
  81. package/proxy-A9UvWUaF.cjs +1 -0
  82. package/proxy-wiZN4eTR.js +14 -0
  83. package/storage-BadvHtv0.cjs +1 -0
  84. package/storage-z0q3iena.js +13 -0
  85. package/utils-BsNRWMfl.cjs +1 -0
  86. package/utils-CNydj3OT.js +52 -0
  87. package/background-BqRFQggD.cjs +0 -1
  88. package/locator-Cjl21Nkt.cjs +0 -53
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fkn/lib",
3
- "version": "0.4.8",
3
+ "version": "0.5.0",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "type": "module",
@@ -10,6 +10,96 @@
10
10
  "import": "./index.js",
11
11
  "require": "./index.cjs"
12
12
  },
13
+ "./fs": {
14
+ "types": "./fs.d.ts",
15
+ "import": "./fs.js",
16
+ "require": "./fs.cjs"
17
+ },
18
+ "./fs/promises": {
19
+ "types": "./fs/promises.d.ts",
20
+ "import": "./fs/promises.js",
21
+ "require": "./fs/promises.cjs"
22
+ },
23
+ "./opfs": {
24
+ "types": "./opfs.d.ts",
25
+ "import": "./opfs.js",
26
+ "require": "./opfs.cjs"
27
+ },
28
+ "./opfs/promises": {
29
+ "types": "./opfs/promises.d.ts",
30
+ "import": "./opfs/promises.js",
31
+ "require": "./opfs/promises.cjs"
32
+ },
33
+ "./cloud": {
34
+ "types": "./cloud.d.ts",
35
+ "import": "./cloud.js",
36
+ "require": "./cloud.cjs"
37
+ },
38
+ "./cloud/fs": {
39
+ "types": "./cloud/fs.d.ts",
40
+ "import": "./cloud/fs.js",
41
+ "require": "./cloud/fs.cjs"
42
+ },
43
+ "./cloud/fs/promises": {
44
+ "types": "./cloud/fs/promises.d.ts",
45
+ "import": "./cloud/fs/promises.js",
46
+ "require": "./cloud/fs/promises.cjs"
47
+ },
48
+ "./cloud/net": {
49
+ "types": "./cloud/net.d.ts",
50
+ "import": "./cloud/net.js",
51
+ "require": "./cloud/net.cjs"
52
+ },
53
+ "./cloud/dgram": {
54
+ "types": "./cloud/dgram.d.ts",
55
+ "import": "./cloud/dgram.js",
56
+ "require": "./cloud/dgram.cjs"
57
+ },
58
+ "./cloud/http": {
59
+ "types": "./cloud/http.d.ts",
60
+ "import": "./cloud/http.js",
61
+ "require": "./cloud/http.cjs"
62
+ },
63
+ "./cloud/dns": {
64
+ "types": "./cloud/dns.d.ts",
65
+ "import": "./cloud/dns.js",
66
+ "require": "./cloud/dns.cjs"
67
+ },
68
+ "./net": {
69
+ "types": "./net.d.ts",
70
+ "import": "./net.js",
71
+ "require": "./net.cjs"
72
+ },
73
+ "./dgram": {
74
+ "types": "./dgram.d.ts",
75
+ "import": "./dgram.js",
76
+ "require": "./dgram.cjs"
77
+ },
78
+ "./http": {
79
+ "types": "./http.d.ts",
80
+ "import": "./http.js",
81
+ "require": "./http.cjs"
82
+ },
83
+ "./dns": {
84
+ "types": "./dns.d.ts",
85
+ "import": "./dns.js",
86
+ "require": "./dns.cjs"
87
+ },
88
+ "./extension": {
89
+ "types": "./extension.d.ts",
90
+ "import": "./extension.js",
91
+ "require": "./extension.cjs"
92
+ },
93
+ "./desktop": {
94
+ "types": "./desktop.d.ts",
95
+ "import": "./desktop.js",
96
+ "require": "./desktop.cjs"
97
+ },
98
+ "./account": {
99
+ "types": "./account.d.ts",
100
+ "import": "./account.js",
101
+ "require": "./account.cjs"
102
+ },
13
103
  "./package.json": "./package.json"
14
104
  },
15
105
  "dependencies": {
@@ -0,0 +1 @@
1
+ const e=require(`./api-CDb2pv7C.cjs`);var t=[`fkn.app`,`fkn.dev`],n=e=>{let n=typeof e==`string`?e:e instanceof URL?e.href:e.url,r;try{r=new URL(n)}catch{return}let i=r.hostname;if(t.some(e=>i===e||i.endsWith(`.${e}`)))throw Error(`fetch refuses FKN platform domains (${i})`)},r=(t,r)=>(n(t),e.t.then(e=>e.cloud.fetch(t,r)));Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return r}});
@@ -0,0 +1,14 @@
1
+ import { t as e } from "./api-ByfayMm1.js";
2
+ //#region src/lib/fkn-target.ts
3
+ var t = ["fkn.app", "fkn.dev"], n = (e) => {
4
+ let n = typeof e == "string" ? e : e instanceof URL ? e.href : e.url, r;
5
+ try {
6
+ r = new URL(n);
7
+ } catch {
8
+ return;
9
+ }
10
+ let i = r.hostname;
11
+ if (t.some((e) => i === e || i.endsWith(`.${e}`))) throw Error(`fetch refuses FKN platform domains (${i})`);
12
+ }, r = (t, r) => (n(t), e.then((e) => e.cloud.fetch(t, r)));
13
+ //#endregion
14
+ export { n, r as t };
@@ -0,0 +1 @@
1
+ const e=require(`./chunk-B6C_zzib.cjs`),t=require(`./api-CDb2pv7C.cjs`);var n=e.n({available:()=>r,list:()=>i,quota:()=>a,readFile:()=>o,remove:()=>c,writeFile:()=>s}),r=()=>t.t.then(e=>e.cloud.fs.available()).catch(()=>!1),i=()=>t.t.then(e=>e.cloud.fs.list()),a=()=>t.t.then(e=>e.cloud.fs.quota()),o=async e=>await(await t.t).cloud.fs.readFile(e),s=(e,n,r)=>t.t.then(t=>t.cloud.fs.writeFile(e,n,r?.contentType??null)).then(()=>void 0),c=e=>t.t.then(t=>t.cloud.fs.remove(e)).then(()=>void 0);Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return r}});
@@ -0,0 +1,13 @@
1
+ import { n as e } from "./chunk-CPXzm0be.js";
2
+ import { t } from "./api-ByfayMm1.js";
3
+ //#region src/lib/storage.ts
4
+ var n = /* @__PURE__ */ e({
5
+ available: () => r,
6
+ list: () => i,
7
+ quota: () => a,
8
+ readFile: () => o,
9
+ remove: () => c,
10
+ writeFile: () => s
11
+ }), r = () => t.then((e) => e.cloud.fs.available()).catch(() => !1), i = () => t.then((e) => e.cloud.fs.list()), a = () => t.then((e) => e.cloud.fs.quota()), o = async (e) => await (await t).cloud.fs.readFile(e), s = (e, n, r) => t.then((t) => t.cloud.fs.writeFile(e, n, r?.contentType ?? null)).then(() => void 0), c = (e) => t.then((t) => t.cloud.fs.remove(e)).then(() => void 0);
12
+ //#endregion
13
+ export { c as a, o as i, i as n, n as o, a as r, s, r as t };
@@ -0,0 +1 @@
1
+ let e=require(`ip-address`);var t=new TextEncoder;new TextDecoder;var n=t=>e.Address4.isValid(t),r=t=>e.Address6.isValid(t),i=e=>n(e)?4:r(e)?6:0,a=(...e)=>{if(typeof e[0]==`string`)throw Error(`FKN WebVPN does not support IPC connections`);let t=typeof e.at(-1)==`function`?e.at(-1):void 0;return e[0]&&typeof e[0]==`object`?{...e[0],callback:t}:{port:e[0]??0,host:typeof e[1]==`string`?e[1]:void 0,callback:t}},o=(...e)=>{let t=typeof e.at(-1)==`function`?e.at(-1):void 0,n=e[0]??0,r=typeof e[1]==`string`?e[1]:void 0;return typeof e[0]==`object`?{...e[0],address:e[0].address??r,port:e[0].port??n,callback:t}:{address:r,port:n,callback:t}},s=(...e)=>{let t=typeof e.at(-1)==`function`?e.at(-1):void 0,n=e[0];if(typeof e[2]==`number`)return{message:n,offset:e[1],length:e[2],port:typeof e[3]==`number`?e[3]:0,address:typeof e[4]==`string`?e[4]:void 0,callback:t};{let r=typeof e[1]==`number`?e[1]:0,i=typeof e[2]==`string`?e[2]:void 0;return{message:n,offset:0,length:n.length,port:r,address:i,callback:t}}};new TextEncoder,new TextDecoder,Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return t}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return i}});
@@ -0,0 +1,52 @@
1
+ import { Address4 as e, Address6 as t } from "ip-address";
2
+ //#region src/lib/webvpn/utils.ts
3
+ var n = new TextEncoder();
4
+ new TextDecoder();
5
+ var r = (t) => e.isValid(t), i = (e) => t.isValid(e), a = (e) => r(e) ? 4 : i(e) ? 6 : 0, o = (...e) => {
6
+ if (typeof e[0] == "string") throw Error("FKN WebVPN does not support IPC connections");
7
+ let t = typeof e.at(-1) == "function" ? e.at(-1) : void 0;
8
+ return e[0] && typeof e[0] == "object" ? {
9
+ ...e[0],
10
+ callback: t
11
+ } : {
12
+ port: e[0] ?? 0,
13
+ host: typeof e[1] == "string" ? e[1] : void 0,
14
+ callback: t
15
+ };
16
+ }, s = (...e) => {
17
+ let t = typeof e.at(-1) == "function" ? e.at(-1) : void 0, n = e[0] ?? 0, r = typeof e[1] == "string" ? e[1] : void 0;
18
+ return typeof e[0] == "object" ? {
19
+ ...e[0],
20
+ address: e[0].address ?? r,
21
+ port: e[0].port ?? n,
22
+ callback: t
23
+ } : {
24
+ address: r,
25
+ port: n,
26
+ callback: t
27
+ };
28
+ }, c = (...e) => {
29
+ let t = typeof e.at(-1) == "function" ? e.at(-1) : void 0, n = e[0];
30
+ if (typeof e[2] == "number") return {
31
+ message: n,
32
+ offset: e[1],
33
+ length: e[2],
34
+ port: typeof e[3] == "number" ? e[3] : 0,
35
+ address: typeof e[4] == "string" ? e[4] : void 0,
36
+ callback: t
37
+ };
38
+ {
39
+ let r = typeof e[1] == "number" ? e[1] : 0, i = typeof e[2] == "string" ? e[2] : void 0;
40
+ return {
41
+ message: n,
42
+ offset: 0,
43
+ length: n.length,
44
+ port: r,
45
+ address: i,
46
+ callback: t
47
+ };
48
+ }
49
+ };
50
+ new TextEncoder(), new TextDecoder();
51
+ //#endregion
52
+ export { c as a, s as i, r as n, o, i as r, n as s, a as t };
@@ -1 +0,0 @@
1
- const e=require(`./locator-Cjl21Nkt.cjs`);let t=require(`osra`);var n=e.h(((e,t)=>{(function(n,r){if(typeof define==`function`&&define.amd)define(`webextension-polyfill`,[`module`],r);else if(e!==void 0)r(t);else{var i={exports:{}};r(i),n.browser=i.exports}})(typeof globalThis<`u`?globalThis:typeof self<`u`?self:e,function(e){"use strict";if(!(globalThis.chrome&&globalThis.chrome.runtime&&globalThis.chrome.runtime.id))throw Error(`This script should only be loaded in a browser extension.`);globalThis.browser&&globalThis.browser.runtime&&globalThis.browser.runtime.id?e.exports=globalThis.browser:e.exports=(e=>{let t={alarms:{clear:{minArgs:0,maxArgs:1},clearAll:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getAll:{minArgs:0,maxArgs:0}},bookmarks:{create:{minArgs:1,maxArgs:1},get:{minArgs:1,maxArgs:1},getChildren:{minArgs:1,maxArgs:1},getRecent:{minArgs:1,maxArgs:1},getSubTree:{minArgs:1,maxArgs:1},getTree:{minArgs:0,maxArgs:0},move:{minArgs:2,maxArgs:2},remove:{minArgs:1,maxArgs:1},removeTree:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1},update:{minArgs:2,maxArgs:2}},browserAction:{disable:{minArgs:0,maxArgs:1,fallbackToNoCallback:!0},enable:{minArgs:0,maxArgs:1,fallbackToNoCallback:!0},getBadgeBackgroundColor:{minArgs:1,maxArgs:1},getBadgeText:{minArgs:1,maxArgs:1},getPopup:{minArgs:1,maxArgs:1},getTitle:{minArgs:1,maxArgs:1},openPopup:{minArgs:0,maxArgs:0},setBadgeBackgroundColor:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setBadgeText:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setIcon:{minArgs:1,maxArgs:1},setPopup:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setTitle:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},browsingData:{remove:{minArgs:2,maxArgs:2},removeCache:{minArgs:1,maxArgs:1},removeCookies:{minArgs:1,maxArgs:1},removeDownloads:{minArgs:1,maxArgs:1},removeFormData:{minArgs:1,maxArgs:1},removeHistory:{minArgs:1,maxArgs:1},removeLocalStorage:{minArgs:1,maxArgs:1},removePasswords:{minArgs:1,maxArgs:1},removePluginData:{minArgs:1,maxArgs:1},settings:{minArgs:0,maxArgs:0}},commands:{getAll:{minArgs:0,maxArgs:0}},contextMenus:{remove:{minArgs:1,maxArgs:1},removeAll:{minArgs:0,maxArgs:0},update:{minArgs:2,maxArgs:2}},cookies:{get:{minArgs:1,maxArgs:1},getAll:{minArgs:1,maxArgs:1},getAllCookieStores:{minArgs:0,maxArgs:0},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}},devtools:{inspectedWindow:{eval:{minArgs:1,maxArgs:2,singleCallbackArg:!1}},panels:{create:{minArgs:3,maxArgs:3,singleCallbackArg:!0},elements:{createSidebarPane:{minArgs:1,maxArgs:1}}}},downloads:{cancel:{minArgs:1,maxArgs:1},download:{minArgs:1,maxArgs:1},erase:{minArgs:1,maxArgs:1},getFileIcon:{minArgs:1,maxArgs:2},open:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},pause:{minArgs:1,maxArgs:1},removeFile:{minArgs:1,maxArgs:1},resume:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1},show:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},extension:{isAllowedFileSchemeAccess:{minArgs:0,maxArgs:0},isAllowedIncognitoAccess:{minArgs:0,maxArgs:0}},history:{addUrl:{minArgs:1,maxArgs:1},deleteAll:{minArgs:0,maxArgs:0},deleteRange:{minArgs:1,maxArgs:1},deleteUrl:{minArgs:1,maxArgs:1},getVisits:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1}},i18n:{detectLanguage:{minArgs:1,maxArgs:1},getAcceptLanguages:{minArgs:0,maxArgs:0}},identity:{launchWebAuthFlow:{minArgs:1,maxArgs:1}},idle:{queryState:{minArgs:1,maxArgs:1}},management:{get:{minArgs:1,maxArgs:1},getAll:{minArgs:0,maxArgs:0},getSelf:{minArgs:0,maxArgs:0},setEnabled:{minArgs:2,maxArgs:2},uninstallSelf:{minArgs:0,maxArgs:1}},notifications:{clear:{minArgs:1,maxArgs:1},create:{minArgs:1,maxArgs:2},getAll:{minArgs:0,maxArgs:0},getPermissionLevel:{minArgs:0,maxArgs:0},update:{minArgs:2,maxArgs:2}},pageAction:{getPopup:{minArgs:1,maxArgs:1},getTitle:{minArgs:1,maxArgs:1},hide:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setIcon:{minArgs:1,maxArgs:1},setPopup:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setTitle:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},show:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},permissions:{contains:{minArgs:1,maxArgs:1},getAll:{minArgs:0,maxArgs:0},remove:{minArgs:1,maxArgs:1},request:{minArgs:1,maxArgs:1}},runtime:{getBackgroundPage:{minArgs:0,maxArgs:0},getPlatformInfo:{minArgs:0,maxArgs:0},openOptionsPage:{minArgs:0,maxArgs:0},requestUpdateCheck:{minArgs:0,maxArgs:0},sendMessage:{minArgs:1,maxArgs:3},sendNativeMessage:{minArgs:2,maxArgs:2},setUninstallURL:{minArgs:1,maxArgs:1}},sessions:{getDevices:{minArgs:0,maxArgs:1},getRecentlyClosed:{minArgs:0,maxArgs:1},restore:{minArgs:0,maxArgs:1}},storage:{local:{clear:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}},managed:{get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1}},sync:{clear:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}}},tabs:{captureVisibleTab:{minArgs:0,maxArgs:2},create:{minArgs:1,maxArgs:1},detectLanguage:{minArgs:0,maxArgs:1},discard:{minArgs:0,maxArgs:1},duplicate:{minArgs:1,maxArgs:1},executeScript:{minArgs:1,maxArgs:2},get:{minArgs:1,maxArgs:1},getCurrent:{minArgs:0,maxArgs:0},getZoom:{minArgs:0,maxArgs:1},getZoomSettings:{minArgs:0,maxArgs:1},goBack:{minArgs:0,maxArgs:1},goForward:{minArgs:0,maxArgs:1},highlight:{minArgs:1,maxArgs:1},insertCSS:{minArgs:1,maxArgs:2},move:{minArgs:2,maxArgs:2},query:{minArgs:1,maxArgs:1},reload:{minArgs:0,maxArgs:2},remove:{minArgs:1,maxArgs:1},removeCSS:{minArgs:1,maxArgs:2},sendMessage:{minArgs:2,maxArgs:3},setZoom:{minArgs:1,maxArgs:2},setZoomSettings:{minArgs:1,maxArgs:2},update:{minArgs:1,maxArgs:2}},topSites:{get:{minArgs:0,maxArgs:0}},webNavigation:{getAllFrames:{minArgs:1,maxArgs:1},getFrame:{minArgs:1,maxArgs:1}},webRequest:{handlerBehaviorChanged:{minArgs:0,maxArgs:0}},windows:{create:{minArgs:0,maxArgs:1},get:{minArgs:1,maxArgs:2},getAll:{minArgs:0,maxArgs:1},getCurrent:{minArgs:0,maxArgs:1},getLastFocused:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},update:{minArgs:2,maxArgs:2}}};if(Object.keys(t).length===0)throw Error(`api-metadata.json has not been included in browser-polyfill`);class n extends WeakMap{constructor(e,t=void 0){super(t),this.createItem=e}get(e){return this.has(e)||this.set(e,this.createItem(e)),super.get(e)}}let r=e=>e&&typeof e==`object`&&typeof e.then==`function`,i=(t,n)=>(...r)=>{e.runtime.lastError?t.reject(Error(e.runtime.lastError.message)):n.singleCallbackArg||r.length<=1&&n.singleCallbackArg!==!1?t.resolve(r[0]):t.resolve(r)},a=e=>e==1?`argument`:`arguments`,o=(e,t)=>function(n,...r){if(r.length<t.minArgs)throw Error(`Expected at least ${t.minArgs} ${a(t.minArgs)} for ${e}(), got ${r.length}`);if(r.length>t.maxArgs)throw Error(`Expected at most ${t.maxArgs} ${a(t.maxArgs)} for ${e}(), got ${r.length}`);return new Promise((a,o)=>{if(t.fallbackToNoCallback)try{n[e](...r,i({resolve:a,reject:o},t))}catch(i){console.warn(`${e} API method doesn't seem to support the callback parameter, falling back to call it without a callback: `,i),n[e](...r),t.fallbackToNoCallback=!1,t.noCallback=!0,a()}else t.noCallback?(n[e](...r),a()):n[e](...r,i({resolve:a,reject:o},t))})},s=(e,t,n)=>new Proxy(t,{apply(t,r,i){return n.call(r,e,...i)}}),c=Function.call.bind(Object.prototype.hasOwnProperty),l=(e,t={},n={})=>{let r=Object.create(null);return new Proxy(Object.create(e),{has(t,n){return n in e||n in r},get(i,a,u){if(a in r)return r[a];if(!(a in e))return;let d=e[a];if(typeof d==`function`)if(typeof t[a]==`function`)d=s(e,e[a],t[a]);else if(c(n,a)){let t=o(a,n[a]);d=s(e,e[a],t)}else d=d.bind(e);else if(typeof d==`object`&&d&&(c(t,a)||c(n,a)))d=l(d,t[a],n[a]);else if(c(n,`*`))d=l(d,t[a],n[`*`]);else return Object.defineProperty(r,a,{configurable:!0,enumerable:!0,get(){return e[a]},set(t){e[a]=t}}),d;return r[a]=d,d},set(t,n,i,a){return n in r?r[n]=i:e[n]=i,!0},defineProperty(e,t,n){return Reflect.defineProperty(r,t,n)},deleteProperty(e,t){return Reflect.deleteProperty(r,t)}})},u=e=>({addListener(t,n,...r){t.addListener(e.get(n),...r)},hasListener(t,n){return t.hasListener(e.get(n))},removeListener(t,n){t.removeListener(e.get(n))}}),d=new n(e=>typeof e==`function`?function(t){e(l(t,{},{getContent:{minArgs:0,maxArgs:0}}))}:e),f=new n(e=>typeof e==`function`?function(t,n,i){let a=!1,o,s=new Promise(e=>{o=function(t){a=!0,e(t)}}),c;try{c=e(t,n,o)}catch(e){c=Promise.reject(e)}let l=c!==!0&&r(c);return c!==!0&&!l&&!a?!1:((e=>{e.then(e=>{i(e)},e=>{let t;t=e&&(e instanceof Error||typeof e.message==`string`)?e.message:`An unexpected error occurred`,i({__mozWebExtensionPolyfillReject__:!0,message:t})}).catch(e=>{console.error(`Failed to send onMessage rejected reply`,e)})})(l?c:s),!0)}:e),p=({reject:t,resolve:n},r)=>{e.runtime.lastError?e.runtime.lastError.message===`The message port closed before a response was received.`?n():t(Error(e.runtime.lastError.message)):r&&r.__mozWebExtensionPolyfillReject__?t(Error(r.message)):n(r)},m=(e,t,n,...r)=>{if(r.length<t.minArgs)throw Error(`Expected at least ${t.minArgs} ${a(t.minArgs)} for ${e}(), got ${r.length}`);if(r.length>t.maxArgs)throw Error(`Expected at most ${t.maxArgs} ${a(t.maxArgs)} for ${e}(), got ${r.length}`);return new Promise((e,t)=>{let i=p.bind(null,{resolve:e,reject:t});r.push(i),n.sendMessage(...r)})},h={devtools:{network:{onRequestFinished:u(d)}},runtime:{onMessage:u(f),onMessageExternal:u(f),sendMessage:m.bind(null,`sendMessage`,{minArgs:1,maxArgs:3})},tabs:{sendMessage:m.bind(null,`sendMessage`,{minArgs:2,maxArgs:3})}},g={clear:{minArgs:1,maxArgs:1},get:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}};return t.privacy={network:{"*":g},services:{"*":g},websites:{"*":g}},l(e,h,t)})(chrome)})}))(),r=`FKN_WEB_EXTENSION_BACKGROUND_COMMUNICATION_OSRA_KEY`,i=`FKN_WEB_EXTENSION_CONTENT_SCRIPT_PEER_OSRA_KEY`,a=`FKN_WEB_EXTENSION_CONTENT_SCRIPT_RELAY_ENVELOPE_KEY`,o=t=>e.c(t)&&t.FKN_WEB_EXTENSION_CONTENT_SCRIPT_RELAY_ENVELOPE_KEY===!0&&typeof t.from==`string`&&e.c(t.message),s=new Map,c=r=>{let o=s.get(r);if(o)return o;let{promise:c,resolve:l}=Promise.withResolvers(),{promise:u,resolve:d}=Promise.withResolvers(),f={resolvers:(0,t.expose)(M,{key:i,revivableModules:e.l,transport:{isJson:!0,receive:e=>l(e),emit:e=>{n.runtime.sendMessage({[a]:!0,target:r,message:e}).catch(()=>{})}}}),listener:c,stale:u,markStale:d};return s.set(r,f),f};n.runtime.onMessage.addListener((e,n)=>{o(e)&&(0,t.checkOsraMessageKey)(e.message,`FKN_WEB_EXTENSION_CONTENT_SCRIPT_PEER_OSRA_KEY`)&&c(e.from).listener.then(t=>t(e.message,{sender:n}))}),e.s(e=>{let t=s.get(e);t&&(t.markStale(),s.delete(e))});var l=async e=>{let t=c(e);return{resolvers:await Promise.race([t.resolvers,t.stale.then(()=>{throw Error(`peer ${e} became stale before connect completed`)})]),stale:t.stale}},u=[`position: fixed`,`border: 2px solid oklch(63% 0.24 25)`,`border-radius: 4px`,`background: oklch(63% 0.24 25 / 0.12)`,`box-shadow: 0 0 0 2px oklch(63% 0.24 25 / 0.5), 0 0 0 100vmax oklch(0% 0 0 / 0.5)`,`z-index: 2147483647`,`pointer-events: none`,`box-sizing: border-box`],d=(e,t)=>{let n=t.getBoundingClientRect();e.setAttribute(`style`,[...u,`left: ${n.left}px`,`top: ${n.top}px`,`width: ${n.width}px`,`height: ${n.height}px`].map(e=>`${e} !important`).join(`; `))},f=e=>{let t=e.getBoundingClientRect();return{clientX:t.left+t.width/2,clientY:t.top+t.height/2}},p=0,m=e=>{p^=1;let{clientX:t,clientY:n}=f(e),r={bubbles:!0,cancelable:!0,composed:!0,clientX:t+p,clientY:n};e.dispatchEvent(new PointerEvent(`pointermove`,{...r,pointerType:`mouse`,pointerId:1,isPrimary:!0})),e.dispatchEvent(new MouseEvent(`mousemove`,r))},h=[[PointerEvent,`pointerover`,!0],[PointerEvent,`pointerenter`,!1],[MouseEvent,`mouseover`,!0],[MouseEvent,`mouseenter`,!1]],g=[[PointerEvent,`pointerout`,!0],[PointerEvent,`pointerleave`,!1],[MouseEvent,`mouseout`,!0],[MouseEvent,`mouseleave`,!1]],_=(e,t)=>t.forEach(([t,n,r])=>e.dispatchEvent(new t(n,{bubbles:r,cancelable:!0,composed:!0,...f(e)}))),v=e=>{_(e,h),m(e)},y=e=>_(e,g),b=null,x=e=>{S();try{e.scrollIntoView({block:`center`,inline:`center`})}catch{}let t=document.createElement(`div`);(document.body??document.documentElement).appendChild(t),v(e);let n=requestAnimationFrame(function r(){d(t,e),n=requestAnimationFrame(r)}),r=window.setInterval(()=>m(e),300);b={stop:()=>{cancelAnimationFrame(n),clearInterval(r),y(e),t.remove()}}},S=()=>{b?.stop(),b=null},C={[e.n]:e.t,[e.a]:e.i},w=e=>{let t=C[e.locatorType];if(!t)throw Error(`Unknown locator kind: "${e.locatorType}"`);let n=t.selectorModules.find(t=>t.type===e.type);if(!n)throw Error(`Unknown selector: "${e.locatorType}.${e.type}"`);return n},T=e=>e.reduce((e,t)=>w(t).resolve({elements:e},...t.args),[document.documentElement]),E=e=>{for(let t=0;t<e.length;t++){let n=w(e[t]);if(n.resolvePeer)return{module:n,index:t}}return null},D=async(t,n,r)=>{let i=E(t);if(i){let e=await i.module.resolvePeer({parts:t,selfIndex:i.index,resolveLocal:T}),{resolvers:a,stale:o}=await l(e),s=t.slice(i.index+1);return Promise.race([a.executeLocator(s,n,r),o.then(()=>{throw Error(`peer ${e} became stale during call, retrying`)})])}if(n===`__fkn_highlight`){if(r[0]?.on){let n=T(t)[0];n&&(e.o(!0),x(n))}else S(),e.o(!1);return}let a=[...e.t.operationModules,...e.i.operationModules].find(e=>e.type===n);if(!a)throw Error(`Unknown operation: "${n}"`);return a.resolve({elements:T(t)},...r)},O=`FKN_EVALUATE`,k,A=()=>(k??=new Promise((e,t)=>{let n=t=>{let r=t.data;!r||r.channel!==O||r.kind!==`ready`||(window.removeEventListener(`message`,n),e())};window.addEventListener(`message`,n);let r=document.createElement(`script`);r.src=chrome.runtime.getURL(`main-world-bridge.js`),r.onload=()=>r.remove(),(document.documentElement??document.head??document.body).appendChild(r),setTimeout(()=>t(Error(`evaluate: main-world bridge did not become ready`)),5e3)}),k),j=0,M={contentScriptDummy:()=>{},executeLocator:D,evaluate:async({code:e,arg:t})=>{await A();let n=`${++j}`;return new Promise((r,i)=>{let a=e=>{let t=e.data;!t||t.channel!==O||t.kind!==`result`||t.id!==n||(window.removeEventListener(`message`,a),t.error?i(Error(String(t.error))):r(t.result))};window.addEventListener(`message`,a),window.postMessage({channel:O,kind:`call`,id:n,code:e,arg:t},`*`)})}},N=(0,t.expose)(M,{key:r,transport:{isJson:!0,receive:n.runtime.onMessage,emit:n.runtime}});exports.backgroundResolvers=N;
@@ -1,53 +0,0 @@
1
- var e=Object.defineProperty,t=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),n=(t,n)=>{let r={};for(var i in t)e(r,i,{get:t[i],enumerable:!0});return n||e(r,Symbol.toStringTag,{value:`Module`}),r};let r=require(`osra`);var i=(e,t)=>{let n=new EventTarget,r=new Map,i=EventTarget.prototype.addEventListener.bind(n),a=EventTarget.prototype.removeEventListener.bind(n);return Object.defineProperty(n,`addEventListener`,{configurable:!0,value:(a,o,s)=>{if(o!==null){if(!r.has(a)){let i=r=>{n.dispatchEvent(new CustomEvent(a,{detail:t(r,e),bubbles:r.bubbles,cancelable:r.cancelable,composed:r.composed}))};e.addEventListener(a,i),r.set(a,i)}i(a,o,s)}}}),Object.defineProperty(n,`removeEventListener`,{configurable:!0,value:(t,n,i)=>{if(n===null)return;a(t,n,i);let o=r.get(t);o&&(e.removeEventListener(t,o),r.delete(t))}}),n},a=e=>typeof e==`boolean`?e?1:0:e?.capture?1:0,o=e=>{let t=new WeakMap;return{addEventListener:(n,r,i)=>{if(r===null)return;let o=`${n}|${a(i)}`,s=t.get(r);if(s||(s=new Map,t.set(r,s)),s.has(o))return;let c=typeof i==`object`&&!!i&&!!i.once,l=t=>{c&&s.delete(o);let i=e.unenrich(t,n);typeof r==`function`?r.call(e.target,i):r.handleEvent(i)};s.set(o,l),e.remoteEvents.addEventListener(n,l,i)},removeEventListener:(n,r,i)=>{if(r===null)return;let o=`${n}|${a(i)}`,s=t.get(r),c=s?.get(o);c&&(e.remoteEvents.removeEventListener(n,c,i),s.delete(o))},dispatchEvent:t=>e.remoteEvents.dispatchEvent(t)}},s=n({box:()=>T,createVideoElementHandle:()=>C,isType:()=>w,revive:()=>E,type:()=>c}),c=`videoElement`,l=[`currentTime`,`volume`,`muted`,`playbackRate`,`src`,`loop`,`autoplay`,`preload`,`poster`,`disableRemotePlayback`],u=[`duration`,`paused`,`ended`,`seeking`,`readyState`,`currentSrc`],d=[`buffered`,`seekable`],f=Symbol.for(`fkn.remoteVideoElement`),p=Symbol.for(`fkn.remoteVideoElement.state`),m=Symbol.for(`fkn.remoteVideoElement.controller`),h=e=>e?Array.from({length:e.length},(t,n)=>[e.start(n),e.end(n)]):[],g=e=>{let t={};for(let n of[...l,...u])t[n]=e[n];for(let n of d)t[n]=h(e[n]);return t.error=e.error?{code:e.error.code,message:e.error.message}:null,t},_=e=>{let t=t=>{if(!Number.isInteger(t)||t<0||t>=e.length)throw new DOMException(`Index or size is negative or greater than the allowed amount`,`IndexSizeError`)};return{get length(){return e.length},start(n){return t(n),e[n][0]},end(n){return t(n),e[n][1]}}},v=e=>e?{code:e.code,message:e.message,MEDIA_ERR_ABORTED:1,MEDIA_ERR_NETWORK:2,MEDIA_ERR_DECODE:3,MEDIA_ERR_SRC_NOT_SUPPORTED:4}:null,y=e=>i(e,(e,t)=>({originalDetail:e instanceof CustomEvent?e.detail:null,snapshot:g(t)})),b=async(e,t)=>{switch(t){case`play`:return await e.play(),null;case`pause`:return e.pause(),null;case`load`:return e.load(),null;case`requestPictureInPicture`:if(typeof e.requestPictureInPicture!=`function`)throw Error(`requestPictureInPicture is not supported in this environment`);return await e.requestPictureInPicture(),null;case`exitPictureInPicture`:{let t=e.ownerDocument;if(typeof t?.exitPictureInPicture!=`function`)throw Error(`exitPictureInPicture is not supported in this environment`);return await t.exitPictureInPicture(),null}default:throw Error(`videoElement: unknown method "${t}"`)}},x=e=>({call:async t=>b(e,t),set:async(t,n)=>{try{e[t]=n}catch{}return g(e)},events:y(e)}),S=(e,t)=>{let n=new EventTarget;Object.defineProperty(n,f,{value:!0}),Object.defineProperty(n,p,{value:e}),Object.defineProperty(n,m,{value:t});let r=o({target:n,remoteEvents:t.events,unenrich:(t,n)=>{if(!(t instanceof CustomEvent))return t;let r=t.detail;if(!r||!(`snapshot`in r))return t;Object.assign(e,r.snapshot);let i={bubbles:t.bubbles,cancelable:t.cancelable,composed:t.composed};return r.originalDetail===null?new Event(n,i):new CustomEvent(n,{...i,detail:r.originalDetail})}}),i={addEventListener:{configurable:!0,value:r.addEventListener},removeEventListener:{configurable:!0,value:r.removeEventListener},dispatchEvent:{configurable:!0,value:r.dispatchEvent},error:{configurable:!0,enumerable:!0,get(){return v(e.error)}},play:{configurable:!0,value:()=>t.call(`play`,[])},pause:{configurable:!0,value:()=>{t.call(`pause`,[]).catch(()=>{})}},load:{configurable:!0,value:()=>{t.call(`load`,[]).catch(()=>{})}},requestPictureInPicture:{configurable:!0,value:()=>t.call(`requestPictureInPicture`,[])},exitPictureInPicture:{configurable:!0,value:()=>t.call(`exitPictureInPicture`,[])},HAVE_FUTURE_DATA:{enumerable:!0,value:3},HAVE_ENOUGH_DATA:{enumerable:!0,value:4}};for(let n of l)i[n]={configurable:!0,enumerable:!0,get(){return e[n]},set(r){e[n]=r,t.set(n,r).then(t=>{Object.assign(e,t)},()=>{})}};for(let t of u)i[t]={configurable:!0,enumerable:!0,get(){return e[t]}};for(let t of d)i[t]={configurable:!0,enumerable:!0,get(){return _(e[t])}};return Object.defineProperties(n,i),n},C=e=>S(g(e),x(e)),w=e=>typeof e==`object`&&!!e&&e[f]===!0,T=(e,t)=>{let n=e;return{...r.BoxBase,type:c,initialState:n[p],controller:(0,r.recursiveBox)(n[m],t)}},E=(e,t)=>{let n=(0,r.recursiveRevive)(e.controller,t);return S({...e.initialState},n)},ee=e=>[s,...e],D=e=>typeof e==`object`&&!!e,te=`PermissionDeniedError`,ne=e=>e instanceof Error?e.name===te:D(e)&&e.name===`PermissionDeniedError`,re=3e4,ie=50,ae=e=>{let t=e[e.length-1];return typeof t==`object`&&t?t:void 0},oe=e=>{let t=ae(e)?.timeout;return typeof t==`number`?t:re},se=async(e,t,n,r,i)=>{i&&await i(t,n,r);let a=e,o=oe(r),s=Date.now()+o,c=Error(`Locator timeout (${o}ms): ${n}`),{promise:l,reject:u}=Promise.withResolvers(),d=setTimeout(()=>u(c),o),f=c;try{for(;Date.now()<s;)try{return await Promise.race([a(t,n,r),l])}catch(e){if(e===c)break;if(ne(e))throw e;f=e;let t=s-Date.now();if(t<=0)break;await new Promise(e=>setTimeout(e,Math.min(ie,t)))}}finally{clearTimeout(d)}throw f},ce=n({render:()=>de,resolve:()=>ue,type:()=>le}),le=`locator`,ue=(e,t)=>e.elements.flatMap(e=>[...e.querySelectorAll(t)]),de=e=>({fragment:typeof e==`string`?e:`?`,separator:`descend`}),fe=`FKN_WEB_EXTENSION_FRAME_ANNOUNCE_REQUEST_KEY`,pe=typeof chrome<`u`&&!!chrome.runtime?.id,me=e=>D(e)&&e.FKN_WEB_EXTENSION_FRAME_ANNOUNCE_KEY===!0&&typeof e.frameId==`string`,O=new WeakMap,k=new WeakMap,A=new Set,he=e=>(A.add(e),()=>A.delete(e));typeof window<`u`&&pe&&window.addEventListener(`message`,e=>{if(!me(e.data))return;e.stopImmediatePropagation();let t=e.source;if(!t||typeof t!=`object`)return;let n=t,r=O.get(n),i=e.data.frameId;if(O.set(n,i),r)for(let e of A)e(r);let a=k.get(n);if(a){k.delete(n);for(let e of a)e(i)}},{capture:!0});var ge=e=>{let t=e.contentWindow;if(!t)return Promise.reject(Error(`frameLocator: <iframe> has no contentWindow`));let n=O.get(t);return n?Promise.resolve(n):new Promise(e=>{let n=k.get(t)??[];n.push(e),k.set(t,n),t.postMessage({[fe]:!0},`*`)})},j=n({render:()=>be,resolve:()=>ve,resolvePeer:()=>ye,type:()=>_e}),_e=`frameLocator`,ve=(e,t)=>e.elements.flatMap(e=>[...e.querySelectorAll(t)]).filter(e=>e instanceof HTMLIFrameElement),ye=async({parts:e,selfIndex:t,resolveLocal:n})=>{let r=n(e.slice(0,t+1))[0];if(!r)throw Error(`frameLocator: no <iframe> matched`);if(!(r instanceof HTMLIFrameElement))throw Error(`frameLocator: expected <iframe>, got <${r.tagName.toLowerCase()}>`);return ge(r)},be=e=>({fragment:typeof e==`string`?e:`?`,separator:`frame-down`}),xe=n({render:()=>Te,resolve:()=>Ce,resolvePeer:()=>we,type:()=>Se}),Se=`owner`,Ce=e=>{throw Error(`owner: must be processed by the executor as an upward pivot`)},we=async()=>{let{backgroundResolvers:e}=await Promise.resolve().then(()=>require(`./background-BqRFQggD.cjs`)),t=await(await e).getParentFrameId();if(!t)throw Error(`owner: already at top frame`);return t},Te=()=>({fragment:``,separator:`frame-up`}),Ee=class extends Error{reason;filename;line;column;source;constructor(e,t,n,r,i){super(`${e}:${n}:${r}: ${t}`),this.reason=t,this.filename=e,this.line=n,this.column=r,this.source=i}},De=class{start;end;source;constructor(e,t,n){this.start=e,this.end=t,this.source=n}},M;(function(e){e.stylesheet=`stylesheet`,e.rule=`rule`,e.declaration=`declaration`,e.comment=`comment`,e.atRule=`at-rule`,e.container=`container`,e.charset=`charset`,e.counterStyle=`counter-style`,e.document=`document`,e.customMedia=`custom-media`,e.fontFace=`font-face`,e.fontFeatureValues=`font-feature-values`,e.host=`host`,e.import=`import`,e.keyframes=`keyframes`,e.keyframe=`keyframe`,e.layer=`layer`,e.media=`media`,e.namespace=`namespace`,e.page=`page`,e.pageMarginBox=`page-margin-box`,e.positionTry=`position-try`,e.property=`property`,e.scope=`scope`,e.startingStyle=`starting-style`,e.supports=`supports`,e.viewTransition=`view-transition`})(M||={});var N=(e,t,n)=>{let r=n,i=1e4;do{let n=t.map(t=>e.indexOf(t,r));n.push(e.indexOf(`\\`,r));let a=n.filter(e=>e!==-1);if(a.length===0)return-1;let o=Math.min(...a);if(e[o]!==`\\`)return o;r=o+2,i--}while(i>0);throw Error(`Too many escaping`)},P=(e,t,n)=>{let r=n,i=1e4;do{let n=t.map(t=>e.indexOf(t,r));n.push(e.indexOf(`(`,r)),n.push(e.indexOf(`"`,r)),n.push(e.indexOf(`'`,r)),n.push(e.indexOf(`\\`,r));let a=n.filter(e=>e!==-1);if(a.length===0)return-1;let o=Math.min(...a);switch(e[o]){case`\\`:r=o+2;break;case`(`:{let t=P(e,[`)`],o+1);if(t===-1)return-1;r=t+1}break;case`"`:{let t=N(e,[`"`],o+1);if(t===-1)return-1;r=t+1}break;case`'`:{let t=N(e,[`'`],o+1);if(t===-1)return-1;r=t+1}break;default:return o}i--}while(i>0);throw Error(`Too many escaping`)},F=/\/\*[^]*?(?:\*\/|$)/g;function I(e){return e?e.trim():``}function L(e,t){let n=e&&typeof e.type==`string`,r=n?e:t;for(let t in e){let n=e[t];Array.isArray(n)?n.forEach(e=>{L(e,r)}):n&&typeof n==`object`&&L(n,r)}return n&&Object.defineProperty(e,`parent`,{configurable:!0,writable:!0,enumerable:!1,value:t||null}),e}var Oe=class{level=0;indentation=` `;compress=!1;constructor(e){typeof e?.indent==`string`&&(this.indentation=e?.indent),e?.compress&&(this.compress=!0)}emit(e,t){return e}indent(e){return this.level=this.level||1,e?(this.level+=e,``):Array(this.level).join(this.indentation)}visit(e){switch(e.type){case M.stylesheet:return this.stylesheet(e);case M.rule:return this.rule(e);case M.declaration:return this.declaration(e);case M.comment:return this.comment(e);case M.container:return this.container(e);case M.charset:return this.charset(e);case M.counterStyle:return this.counterStyle(e);case M.document:return this.document(e);case M.customMedia:return this.customMedia(e);case M.fontFace:return this.fontFace(e);case M.fontFeatureValues:return this.fontFeatureValues(e);case M.host:return this.host(e);case M.import:return this.import(e);case M.keyframes:return this.keyframes(e);case M.keyframe:return this.keyframe(e);case M.layer:return this.layer(e);case M.media:return this.media(e);case M.namespace:return this.namespace(e);case M.page:return this.page(e);case M.pageMarginBox:return this.pageMarginBox(e);case M.positionTry:return this.positionTry(e);case M.property:return this.property(e);case M.scope:return this.scope(e);case M.startingStyle:return this.startingStyle(e);case M.supports:return this.supports(e);case M.viewTransition:return this.viewTransition(e);case M.atRule:return this.genericAtRule(e)}}mapVisit(e,t){let n=``;t||=``;for(let r=0,i=e.length;r<i;r++)n+=this.visit(e[r]),t&&r<i-1&&(n+=this.emit(t));return n}compile(e){return this.compress?e.stylesheet.rules.map(this.visit,this).join(``):this.stylesheet(e)}stylesheet(e){return this.mapVisit(e.stylesheet.rules,`
2
-
3
- `)}comment(e){return this.compress?this.emit(``,e.position):this.emit(`${this.indent()}/*${e.comment}*/`,e.position)}container(e){return this.compress?this.emit(`@container ${e.container}`,e.position)+this.emit(`{`)+this.mapVisit(e.rules)+this.emit(`}`):this.emit(`${this.indent()}@container ${e.container}`,e.position)+this.emit(` {\n${this.indent(1)}`)+this.mapVisit(e.rules,`
4
-
5
- `)+this.emit(`\n${this.indent(-1)}${this.indent()}}`)}layer(e){return this.compress?this.emit(`@layer ${e.layer}`,e.position)+(e.rules?this.emit(`{`)+this.mapVisit(e.rules)+this.emit(`}`):`;`):this.emit(`${this.indent()}@layer ${e.layer}`,e.position)+(e.rules?this.emit(` {\n${this.indent(1)}`)+this.mapVisit(e.rules,`
6
-
7
- `)+this.emit(`\n${this.indent(-1)}${this.indent()}}`):`;`)}import(e){return this.emit(`@import ${e.import};`,e.position)}media(e){return this.compress?this.emit(`@media ${e.media}`,e.position)+this.emit(`{`)+this.mapVisit(e.rules)+this.emit(`}`):this.emit(`${this.indent()}@media ${e.media}`,e.position)+this.emit(` {\n${this.indent(1)}`)+this.mapVisit(e.rules,`
8
-
9
- `)+this.emit(`\n${this.indent(-1)}${this.indent()}}`)}document(e){let t=`@${e.vendor||``}document ${e.document}`;return this.compress?this.emit(t,e.position)+this.emit(`{`)+this.mapVisit(e.rules)+this.emit(`}`):this.emit(t,e.position)+this.emit(` {\n${this.indent(1)}`)+this.mapVisit(e.rules,`
10
-
11
- `)+this.emit(`${this.indent(-1)}\n}`)}charset(e){return this.emit(`@charset ${e.charset};`,e.position)}namespace(e){return this.emit(`@namespace ${e.namespace};`,e.position)}startingStyle(e){return this.compress?this.emit(`@starting-style`,e.position)+this.emit(`{`)+this.mapVisit(e.rules)+this.emit(`}`):this.emit(`${this.indent()}@starting-style`,e.position)+this.emit(` {\n${this.indent(1)}`)+this.mapVisit(e.rules,`
12
-
13
- `)+this.emit(`\n${this.indent(-1)}${this.indent()}}`)}supports(e){return this.compress?this.emit(`@supports ${e.supports}`,e.position)+this.emit(`{`)+this.mapVisit(e.rules)+this.emit(`}`):this.emit(`${this.indent()}@supports ${e.supports}`,e.position)+this.emit(` {\n${this.indent(1)}`)+this.mapVisit(e.rules,`
14
-
15
- `)+this.emit(`\n${this.indent(-1)}${this.indent()}}`)}keyframes(e){return this.compress?this.emit(`@${e.vendor||``}keyframes ${e.name}`,e.position)+this.emit(`{`)+this.mapVisit(e.keyframes)+this.emit(`}`):this.emit(`@${e.vendor||``}keyframes ${e.name}`,e.position)+this.emit(` {\n${this.indent(1)}`)+this.mapVisit(e.keyframes,`
16
- `)+this.emit(`${this.indent(-1)}}`)}keyframe(e){let t=e.declarations;return this.compress?this.emit(e.values.join(`,`),e.position)+this.emit(`{`)+this.mapVisit(t)+this.emit(`}`):this.emit(this.indent())+this.emit(e.values.join(`, `),e.position)+this.emit(` {\n${this.indent(1)}`)+this.mapVisit(t,`
17
- `)+this.emit(`${this.indent(-1)}\n${this.indent()}}\n`)}page(e){if(this.compress){let t=e.selectors.length?e.selectors.join(`, `):``;return this.emit(`@page ${t}`,e.position)+this.emit(`{`)+this.mapVisit(e.declarations)+this.emit(`}`)}let t=e.selectors.length?`${e.selectors.join(`, `)} `:``;return this.emit(`@page ${t}`,e.position)+this.emit(`{
18
- `)+this.emit(this.indent(1))+this.mapVisit(e.declarations,`
19
- `)+this.emit(this.indent(-1))+this.emit(`
20
- }`)}pageMarginBox(e){return this.compress?this.emit(`@${e.name}`,e.position)+this.emit(`{`)+this.mapVisit(e.declarations)+this.emit(`}`):this.emit(`${this.indent()}@${e.name} `,e.position)+this.emit(`{
21
- `)+this.emit(this.indent(1))+this.mapVisit(e.declarations,`
22
- `)+this.emit(this.indent(-1))+this.emit(`\n${this.indent()}}`)}fontFace(e){return this.compress?this.emit(`@font-face`,e.position)+this.emit(`{`)+this.mapVisit(e.declarations)+this.emit(`}`):this.emit(`@font-face `,e.position)+this.emit(`{
23
- `)+this.emit(this.indent(1))+this.mapVisit(e.declarations,`
24
- `)+this.emit(this.indent(-1))+this.emit(`
25
- }`)}host(e){return this.compress?this.emit(`@host`,e.position)+this.emit(`{`)+this.mapVisit(e.rules)+this.emit(`}`):this.emit(`@host`,e.position)+this.emit(` {\n${this.indent(1)}`)+this.mapVisit(e.rules,`
26
-
27
- `)+this.emit(`${this.indent(-1)}\n}`)}customMedia(e){return this.emit(`@custom-media ${e.name} ${e.media};`,e.position)}property(e){return this.compress?this.emit(`@property ${e.name}`,e.position)+this.emit(`{`)+this.mapVisit(e.declarations)+this.emit(`}`):this.emit(`@property ${e.name} `,e.position)+this.emit(`{
28
- `)+this.emit(this.indent(1))+this.mapVisit(e.declarations,`
29
- `)+this.emit(this.indent(-1))+this.emit(`
30
- }`)}counterStyle(e){return this.compress?this.emit(`@counter-style ${e.name}`,e.position)+this.emit(`{`)+this.mapVisit(e.declarations)+this.emit(`}`):this.emit(`@counter-style ${e.name} `,e.position)+this.emit(`{
31
- `)+this.emit(this.indent(1))+this.mapVisit(e.declarations,`
32
- `)+this.emit(this.indent(-1))+this.emit(`
33
- }`)}fontFeatureValues(e){return this.compress?this.emit(`@font-feature-values ${e.fontFamily}`,e.position)+this.emit(`{`)+this.mapVisit(e.rules)+this.emit(`}`):this.emit(`${this.indent()}@font-feature-values ${e.fontFamily}`,e.position)+this.emit(` {\n${this.indent(1)}`)+this.mapVisit(e.rules,`
34
-
35
- `)+this.emit(`\n${this.indent(-1)}${this.indent()}}`)}scope(e){let t=e.scope?` ${e.scope}`:``;return this.compress?this.emit(`@scope${t}`,e.position)+this.emit(`{`)+this.mapVisit(e.rules)+this.emit(`}`):this.emit(`${this.indent()}@scope${t}`,e.position)+this.emit(` {\n${this.indent(1)}`)+this.mapVisit(e.rules,`
36
-
37
- `)+this.emit(`\n${this.indent(-1)}${this.indent()}}`)}viewTransition(e){return this.compress?this.emit(`@view-transition`,e.position)+this.emit(`{`)+this.mapVisit(e.declarations)+this.emit(`}`):this.emit(`@view-transition `,e.position)+this.emit(`{
38
- `)+this.emit(this.indent(1))+this.mapVisit(e.declarations,`
39
- `)+this.emit(this.indent(-1))+this.emit(`
40
- }`)}positionTry(e){return this.compress?this.emit(`@position-try ${e.name}`,e.position)+this.emit(`{`)+this.mapVisit(e.declarations)+this.emit(`}`):this.emit(`@position-try ${e.name} `,e.position)+this.emit(`{
41
- `)+this.emit(this.indent(1))+this.mapVisit(e.declarations,`
42
- `)+this.emit(this.indent(-1))+this.emit(`
43
- }`)}genericAtRule(e){let t=e.prelude?` ${e.prelude}`:``;if(this.compress)return this.emit(`@${e.name}${t}`,e.position)+(e.rules?this.emit(`{`)+this.mapVisit(e.rules)+this.emit(`}`):`;`);if(!e.rules)return this.emit(`${this.indent()}@${e.name}${t};`,e.position);let n=e.rules.some(e=>e.type!==M.declaration&&e.type!==M.comment),r=n?`
44
-
45
- `:`
46
- `;return this.emit(`${this.indent()}@${e.name}${t}`,e.position)+this.emit(n?` {\n${this.indent(1)}`:` {
47
- `)+this.emit(n?``:this.indent(1))+this.mapVisit(e.rules,r)+this.emit(n?`\n${this.indent(-1)}${this.indent()}}`:`${this.indent(-1)}\n${this.indent()}}`)}rule(e){let t=e.declarations;if(!t.length)return``;if(this.compress)return this.emit(e.selectors.join(`,`),e.position)+this.emit(`{`)+this.mapVisit(t)+this.emit(`}`);let n=this.indent();return this.emit(e.selectors.map(e=>n+e).join(`,
48
- `),e.position)+this.emit(` {
49
- `)+this.emit(this.indent(1))+this.mapVisit(t,`
50
- `)+this.emit(this.indent(-1))+this.emit(`\n${this.indent()}}`)}declaration(e){return this.compress?this.emit(`${e.property}:${e.value}`,e.position)+this.emit(`;`):e.property===`grid-template-areas`?this.emit(this.indent())+this.emit(e.property+`: `+e.value.split(`
51
- `).join(`
52
- `.padEnd(22)+this.indent()),e.position)+this.emit(`;`):this.emit(this.indent())+this.emit(`${e.property}: ${e.value}`,e.position)+this.emit(`;`)}},ke=(e,t)=>{t||={};let n=1,r=1;function i(){let e={line:n,column:r};return i=>(i.position=new De(e,{line:n,column:r},t?.source||``),u(),i)}let a=[];function o(i){let o=new Ee(t?.source||``,i,n,r,e);if(!t?.silent)throw o;a.push(o)}function s(){let t=/^{\s*/.exec(e);return!!t&&(l(t),!0)}function c(){let t=/^}/.exec(e);return!!t&&(l(t),!0)}function l(t){let i=t[0];return function(e){let t=e.match(/\n/g);t&&(n+=t.length);let i=e.lastIndexOf(`
53
- `);r=~i?e.length-i:r+e.length}(i),e=e.slice(i.length),t}function u(){let t=/^\s*/.exec(e);t&&l(t)}function d(e){e||=[];let t=f();for(;t;)e.push(t),t=f();return e}function f(){let t=i();if(e.charAt(0)!==`/`||e.charAt(1)!==`*`)return;let n=/^\/\*[^]*?\*\//.exec(e);return n?(l(n),t({type:M.comment,comment:n[0].slice(2,-2)})):o(`End of comment missing`)}function p(){let t=P(e,[`{`]);if(t===-1||t===0)return;let n=e.substring(0,t);return l([n]),((e,t)=>{let n=[],r=0;for(;r<e.length;){let i=P(e,t,r);if(i===-1)return n.push(e.substring(r)),n;n.push(e.substring(r,i)),r=i+1}return n})(I(n).replace(F,``),[`,`]).map(e=>I(e))}function m(){let t=i(),n=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/.exec(e);if(!n)return;l(n);let r=I(n[0]),a=/^:\s*/.exec(e);if(!a)return o(`property missing ':'`);l(a);let s=``,c=P(e,[`;`,`}`]);c!==-1&&(s=e.substring(0,c),l([s]),s=I(s).replace(F,``));let u=t({type:M.declaration,property:r.replace(F,``),value:s}),d=/^[;\s]*/.exec(e);return d&&l(d),u}function h(){let n=[];if(!s())return o(`missing '{'`);d(n);let r=m();for(;r;)n.push(r),d(n),r=m();for(;t?.silent&&e.length&&e.charAt(0)!==`}`;){let t=e.indexOf(`;`),i=e.indexOf(`}`);if(t===-1||!(i===-1||t<i))break;for(l([e.substring(0,t+1)]),u(),d(n),r=m();r;)n.push(r),d(n),r=m()}return c()?n:o(`missing '}'`)}function g(){let t=P(e,[`{`]);if(t===-1)return!1;let n=P(e,[`;`]),r=P(e,[`}`]);return!(n!==-1&&n<t)&&!(r!==-1&&r<t)}function _(){let n=[];if(!s())return o(`missing '{'`);for(d(n);e.length&&e.charAt(0)!==`}`;){if(e.charAt(0)===`@`){let e=T();if(e){n.push(e),d(n);continue}}if(g()){let e=E();if(e){n.push(e),d(n);continue}}let r=m();if(!r){if(t?.silent){let t=e.indexOf(`;`),r=e.indexOf(`}`);if(t!==-1&&(r===-1||t<r)){l([e.substring(0,t+1)]),u(),d(n);continue}}break}n.push(r),d(n)}return c()?n:o(`missing '}'`)}function v(){let n=[];for(u(),d(n);e.length&&e.charAt(0)!==`}`;){if(e.charAt(0)===`@`){let e=T();if(e){n.push(e),d(n);continue}}if(g()){let e=E();if(e){n.push(e),d(n);continue}}let r=m();if(!r){if(t?.silent){let t=e.indexOf(`;`),r=e.indexOf(`}`);if(t!==-1&&(r===-1||t<r)){l([e.substring(0,t+1)]),u(),d(n);continue}}break}n.push(r),d(n)}return n}function y(){let t=[],n=i(),r=/^((\d+\.\d+|\.\d+|\d+)%?|[a-z]+)\s*/.exec(e);for(;r;){let n=l(r);t.push(n[1]);let i=/^,\s*/.exec(e);i&&l(i),r=/^((\d+\.\d+|\.\d+|\d+)%?|[a-z]+)\s*/.exec(e)}if(t.length)return n({type:M.keyframe,values:t,declarations:h()||[]})}let b=RegExp(`^@(${[`top-left-corner`,`top-left`,`top-center`,`top-right`,`top-right-corner`,`bottom-left-corner`,`bottom-left`,`bottom-center`,`bottom-right`,`bottom-right-corner`,`left-top`,`left-middle`,`left-bottom`,`right-top`,`right-middle`,`right-bottom`].join(`|`)})(?![\\w-])\\s*`),x=w(`import`),S=w(`charset`),C=w(`namespace`);function w(t){let n=RegExp(`^@`+t+`\\s*((?::?[^;'"]|"(?:\\\\"|[^"])*?"|'(?:\\\\'|[^'])*?')+)(?:;|$)`);return()=>{let r=i(),a=n.exec(e);if(!a)return;let o=l(a),s={type:t};return s[t]=o[1].trim(),r(s)}}function T(){if(e[0]===`@`)return function(){let t=i(),n=/^@([-\w]+)?keyframes\s*/.exec(e);if(!n)return;let r=l(n)[1],a=/^([-\w]+)\s*/.exec(e);if(!a)return o(`@keyframes missing name`);let u=l(a)[1];if(!s())return o(`@keyframes missing '{'`);let f=d(),p=y();for(;p;)f.push(p),f=f.concat(d()),p=y();return c()?t({type:M.keyframes,name:u,vendor:r,keyframes:f}):o(`@keyframes missing '}'`)}()||function(){let t=i(),n=/^@media *([^{]+)/.exec(e);if(!n)return;let r=I(l(n)[1]);if(!s())return o(`@media missing '{'`);let a=v();return c()?t({type:M.media,media:r,rules:a}):o(`@media missing '}'`)}()||function(){let t=i(),n=/^@custom-media\s+(--\S+)\s+([^{;\s][^{;]*);/.exec(e);if(!n)return;let r=l(n);return t({type:M.customMedia,name:I(r[1]),media:I(r[2])})}()||function(){let t=i(),n=/^@supports *([^{]+)/.exec(e);if(!n)return;let r=I(l(n)[1]);if(!s())return o(`@supports missing '{'`);let a=v();return c()?t({type:M.supports,supports:r,rules:a}):o(`@supports missing '}'`)}()||x()||S()||C()||function(){let t=i(),n=/^@([-\w]+)?document *([^{]+)/.exec(e);if(!n)return;let r=l(n),a=I(r[1]),u=I(r[2]);if(!s())return o(`@document missing '{'`);let d=v();return c()?t({type:M.document,document:u,vendor:a,rules:d}):o(`@document missing '}'`)}()||function(){let t=i(),n=/^@page */.exec(e);if(!n)return;l(n);let r=p()||[];if(!s())return o(`@page missing '{'`);let a=[];for(d(a);e.length&&e.charAt(0)!==`}`;){if(e.charAt(0)===`@`){let e=T();if(e){a.push(e),d(a);continue}}let t=m();if(!t)break;a.push(t),d(a)}return c()?t({type:M.page,selectors:r,declarations:a}):o(`@page missing '}'`)}()||function(){let t=i(),n=/^@host\s*/.exec(e);if(!n)return;if(l(n),!s())return o(`@host missing '{'`);let r=v();return c()?t({type:M.host,rules:r}):o(`@host missing '}'`)}()||function(){let t=i(),n=/^@font-face\s*/.exec(e);if(!n)return;if(l(n),!s())return o(`@font-face missing '{'`);let r=d(),a=m();for(;a;)r.push(a),r=r.concat(d()),a=m();return c()?t({type:M.fontFace,declarations:r}):o(`@font-face missing '}'`)}()||function(){let t=i(),n=/^@font-feature-values\s+([^{]+)/.exec(e);if(!n)return;let r=I(l(n)[1]);if(!s())return o(`@font-feature-values missing '{'`);let a=v();return c()?t({type:M.fontFeatureValues,fontFamily:r,rules:a}):o(`@font-feature-values missing '}'`)}()||function(){let t=i(),n=/^@container *([^{]+)/.exec(e);if(!n)return;let r=I(l(n)[1]);if(!s())return o(`@container missing '{'`);let a=v();return c()?t({type:M.container,container:r,rules:a}):o(`@container missing '}'`)}()||function(){let t=i(),n=/^@starting-style\s*/.exec(e);if(!n)return;if(l(n),!s())return o(`@starting-style missing '{'`);let r=v();return c()?t({type:M.startingStyle,rules:r}):o(`@starting-style missing '}'`)}()||function(){let t=i(),n=/^@layer *([^{;@]+)/.exec(e);if(!n)return;let r=I(l(n)[1]);if(!s()){let n=/^[;\s]*/.exec(e);return n&&l(n),t({type:M.layer,layer:r})}let a=v();return c()?t({type:M.layer,layer:r,rules:a}):o(`@layer missing '}'`)}()||function(){let t=i(),n=/^@property\s+(--[-\w]+)\s*/.exec(e);if(!n)return;let r=l(n)[1];if(!s())return o(`@property missing '{'`);let a=d(),u=m();for(;u;)a.push(u),a=a.concat(d()),u=m();return c()?t({type:M.property,name:r,declarations:a}):o(`@property missing '}'`)}()||function(){let t=i(),n=/^@counter-style\s+([-\w]+)\s*/.exec(e);if(!n)return;let r=l(n)[1];if(!s())return o(`@counter-style missing '{'`);let a=d(),u=m();for(;u;)a.push(u),a=a.concat(d()),u=m();return c()?t({type:M.counterStyle,name:r,declarations:a}):o(`@counter-style missing '}'`)}()||function(){let t=i(),n=/^@scope\s*([^{]*)/.exec(e);if(!n)return;let r=I(l(n)[1]);if(!s())return o(`@scope missing '{'`);let a=v();return c()?t({type:M.scope,scope:r,rules:a}):o(`@scope missing '}'`)}()||function(){let t=i(),n=/^@view-transition\s*/.exec(e);if(!n)return;if(l(n),!s())return o(`@view-transition missing '{'`);let r=d(),a=m();for(;a;)r.push(a),r=r.concat(d()),a=m();return c()?t({type:M.viewTransition,declarations:r}):o(`@view-transition missing '}'`)}()||function(){let t=i(),n=/^@position-try\s+(--[-\w]+)\s*/.exec(e);if(!n)return;let r=l(n)[1];if(!s())return o(`@position-try missing '{'`);let a=d(),u=m();for(;u;)a.push(u),a=a.concat(d()),u=m();return c()?t({type:M.positionTry,name:r,declarations:a}):o(`@position-try missing '}'`)}()||function(){let t=i(),n=b.exec(e);if(!n)return;let r=l(n)[1];if(!s())return o(`@${r} missing '{'`);let a=d(),u=m();for(;u;)a.push(u),a=a.concat(d()),u=m();return c()?t({type:M.pageMarginBox,name:r,declarations:a}):o(`@${r} missing '}'`)}()||function(){let t=i(),n=/^@([-\w]+)\s*/.exec(e);if(!n)return;let r=l(n)[1],a=``,u=P(e,[`{`,`;`]);if(u!==-1&&u>0&&(a=I(e.substring(0,u)),l([e.substring(0,u)])),s()){let e=v();return c()?t({type:M.atRule,name:r,prelude:a,rules:e}):o(`@${r} missing '}'`)}let d=/^[;\s]*/.exec(e);return d&&l(d),t({type:M.atRule,name:r,prelude:a})}()}function E(){let e=i(),t=p();return t?(d(),e({type:M.rule,selectors:t,declarations:_()||[]})):o(`selector missing`)}return L(function(){let n=function(){let n,r=[];for(u(),d(r);e.length;){if(e.charAt(0)===`}`){if(t?.silent){o(`extra '}'`),l([`}`]),u(),d(r);continue}break}if(n=T()||E(),!n){if(t?.silent){l([e.charAt(0)]),u(),d(r);continue}break}r.push(n),d(r)}return r}();return{type:M.stylesheet,stylesheet:{source:t?.source,rules:n,parsingErrors:a}}}())},Ae=(e,t)=>new Oe(t||{}).compile(e),je=n({appearPermission:()=>R,appearUnsafePermission:()=>z,permission:()=>Ne,resolve:()=>Re,setInjectedStylesDisabled:()=>W,type:()=>Me}),Me=`addStyleTag`,R={scope:`media.appear`,category:`media`,severity:0,title:`Change page appearance`,description:`Lets the app restyle parts of the page (safely filtered).`},z={scope:`media.appearU`,category:`media`,severity:2,unsafe:!0,title:`Change page appearance (unsafe)`,description:`Lets the app restyle the page WITHOUT safety filtering. Could be used to leak data over the network.`},Ne=e=>e?.noSanitize?z:R,Pe=/(?:^|[^\w-])(?:url|image|image-set|cross-fade|paint|element|expression)\s*\(/i,Fe=e=>e.replace(/\\([0-9a-fA-F]{1,6})\s?/g,(e,t)=>String.fromCodePoint(Number.parseInt(t,16))).replace(/\\(.)/g,`$1`),B=e=>!Pe.test(Fe(e.value)),V=e=>{let t=[];for(let n of e)switch(n.type){case M.import:case M.fontFace:case M.namespace:case M.charset:case M.document:case M.comment:continue;case M.rule:case M.page:t.push({...n,declarations:n.declarations.filter(e=>e.type!==M.declaration||B(e))});continue;case M.media:case M.supports:case M.container:case M.host:case M.startingStyle:t.push({...n,rules:V(n.rules)});continue;case M.layer:t.push({...n,rules:n.rules?V(n.rules):void 0});continue;case M.keyframes:t.push({...n,keyframes:n.keyframes.map(e=>e.type===M.keyframe?{...e,declarations:e.declarations.filter(e=>e.type!==M.declaration||B(e))}:e)});continue;default:continue}return t},Ie=e=>{let t;try{t=ke(e,{silent:!0})}catch{return``}return t.stylesheet.rules=V(t.stylesheet.rules),Ae(t)},Le=e=>{let t=()=>{e.parentNode||(document.head??document.documentElement).appendChild(e)};t();let n=new MutationObserver(n=>{for(let r of n)for(let n of r.removedNodes)if(n===e||n.contains?.(e)){t();return}});n.observe(document.documentElement,{childList:!0,subtree:!0}),window.addEventListener(`load`,()=>n.disconnect(),{once:!0})},H=new Set,U=!1,W=e=>{U=e;for(let t of H)t.disabled=e},Re=async(e,t)=>{let n=document.createElement(`style`);n.textContent=t.noSanitize?t.content:Ie(t.content);try{Le(n)}catch(e){console.error(e)}H.add(n),U&&(n.disabled=!0)},G=`frameLocator`,K=[{...ce,nextLocatorType:`locator`},j,xe],q=[je],ze={type:G,selectorModules:K,operationModules:q},J=Y({ownType:G,selectorModules:K,operationModules:q});function Y(e){return(t,n,r=[])=>({...Object.fromEntries(e.selectorModules.map(i=>[i.type,(...a)=>{let o=[...r,{locatorType:e.ownType,type:i.type,args:a}];return(i.nextLocatorType??e.ownType)===`locator`?Gt(t,n,o):J(t,n,o)}])),...Object.fromEntries(e.operationModules.map(({type:e})=>[e,(...i)=>se(t,r,e,i,n)])),ensure:(e,t={})=>n?n(r,e,[t]):Promise.resolve()})}var Be=n({render:()=>Ue,resolve:()=>He,type:()=>Ve}),Ve=`getByRole`,He=(e,t)=>e.elements.flatMap(e=>[...e.querySelectorAll(`[role="${CSS.escape(t)}"]`)]),Ue=e=>({fragment:typeof e==`string`?`[role="${e.replaceAll(`"`,`\\"`)}"]`:`[role]`}),We=n({render:()=>qe,resolve:()=>Ke,type:()=>Ge}),Ge=`getByText`,Ke=(e,t)=>e.elements.flatMap(e=>[e,...e.querySelectorAll(`*`)]).filter(e=>e.textContent?.includes(t)),qe=e=>({fragment:typeof e==`string`?`:has-text("${e.replaceAll(`"`,`\\"`)}")`:`:has-text(...)`}),Je=n({render:()=>Ze,resolve:()=>Xe,type:()=>Ye}),Ye=`getByTestId`,Xe=(e,t)=>e.elements.flatMap(e=>[...e.querySelectorAll(`[data-testid="${CSS.escape(t)}"]`)]),Ze=e=>({fragment:typeof e==`string`?`[data-testid="${e.replaceAll(`"`,`\\"`)}"]`:`[data-testid]`}),Qe=n({render:()=>tt,resolve:()=>et,type:()=>$e}),$e=`first`,et=e=>e.elements.slice(0,1),tt=()=>({fragment:`:first`}),nt=n({render:()=>it,resolve:()=>rt,type:()=>`nth`}),rt=(e,t)=>{let n=e.elements.at(t);return n?[n]:[]},it=e=>({fragment:typeof e==`number`?`:nth(${e})`:`:nth(?)`}),X=e=>{let t=Error(e);return t.name=`LocatorError`,t},Z=e=>{if(e.length===0)throw X(`No elements found`);if(e.length>1)throw X(`Strict mode violation: locator resolved to ${e.length} elements`);return e[0]},at=n({permission:()=>st,resolve:()=>ct,type:()=>ot}),ot=`click`,st={scope:`act.click`,category:`act`,severity:3,title:`Click on the page`,description:`Lets the app press buttons or links for you.`},ct=(e,t={})=>{let n=Z(e.elements),r=n.getBoundingClientRect(),i=t.position?.x??.5,a=t.position?.y??.5,o={bubbles:!0,cancelable:!0,composed:!0,clientX:r.left+r.width*i,clientY:r.top+r.height*a,button:0},s={...o,buttons:1,pointerType:`mouse`,pointerId:1,isPrimary:!0},c={...o,buttons:1},l={...o,buttons:0};n.dispatchEvent(new PointerEvent(`pointerdown`,s)),n.dispatchEvent(new MouseEvent(`mousedown`,c)),n.dispatchEvent(new PointerEvent(`pointerup`,{...s,buttons:0})),n.dispatchEvent(new MouseEvent(`mouseup`,l)),n.dispatchEvent(new MouseEvent(`click`,l))},lt=n({permission:()=>dt,resolve:()=>mt,type:()=>ut}),ut=`fill`,dt={scope:`act.type`,category:`act`,severity:1,title:`Type into a text field`,description:`Lets the app fill in form fields on your behalf.`},ft=(e,t)=>{e._valueTracker?.setValue(``);let n=e instanceof HTMLTextAreaElement?HTMLTextAreaElement.prototype:HTMLInputElement.prototype,r=Object.getOwnPropertyDescriptor(n,`value`)?.set;r?r.call(e,t):e.value=t},pt=(e,t)=>{if(e.type!==`range`)return null;let n=Number(e.min||0),r=Number(e.max||100);if(!Number.isFinite(n)||!Number.isFinite(r)||r<=n)return null;let i=Number(t);if(!Number.isFinite(i))return null;let a=Math.max(0,Math.min(1,(i-n)/(r-n))),o=e.getBoundingClientRect(),s={bubbles:!0,cancelable:!0,composed:!0,clientX:o.left+o.width*a,clientY:o.top+o.height/2,button:0};return{pointerDown:{...s,buttons:1,pointerType:`mouse`,pointerId:1,isPrimary:!0},pointerUp:{...s,buttons:0,pointerType:`mouse`,pointerId:1,isPrimary:!0},mouseDown:{...s,buttons:1},mouseUp:{...s,buttons:0}}},mt=(e,t,n={})=>{let r=Z(e.elements);if(r instanceof HTMLInputElement||r instanceof HTMLTextAreaElement){let e=r instanceof HTMLInputElement?pt(r,t):null;if(e){r.dispatchEvent(new PointerEvent(`pointerdown`,e.pointerDown)),r.dispatchEvent(new MouseEvent(`mousedown`,e.mouseDown)),ft(r,t),r.dispatchEvent(new Event(`input`,{bubbles:!0})),r.dispatchEvent(new PointerEvent(`pointerup`,e.pointerUp)),r.dispatchEvent(new MouseEvent(`mouseup`,e.mouseUp)),r.dispatchEvent(new Event(`change`,{bubbles:!0}));return}ft(r,t),r.dispatchEvent(new Event(`input`,{bubbles:!0})),r.dispatchEvent(new Event(`change`,{bubbles:!0}));return}if(r instanceof HTMLElement&&r.isContentEditable){r.textContent=t,r.dispatchEvent(new Event(`input`,{bubbles:!0}));return}throw Error(`fill: element <${r.tagName.toLowerCase()}> is not fillable`)},ht=n({permission:()=>_t,resolve:()=>vt,type:()=>gt}),gt=`hover`,_t={scope:`act.hover`,category:`act`,severity:1,title:`Hover over the page`,description:`Lets the app point at things to reveal menus or tooltips.`},vt=(e,t={})=>{let n=Z(e.elements),r=n.getBoundingClientRect(),i={bubbles:!0,cancelable:!0,composed:!0,clientX:r.left+r.width*(t.position?.x??.5),clientY:r.top+r.height*(t.position?.y??.5)},a={...i,pointerType:`mouse`,pointerId:1,isPrimary:!0};n.dispatchEvent(new PointerEvent(`pointerover`,a)),n.dispatchEvent(new PointerEvent(`pointerenter`,{...a,bubbles:!1})),n.dispatchEvent(new MouseEvent(`mouseenter`,{...i,bubbles:!1})),n.dispatchEvent(new MouseEvent(`mouseover`,i)),n.dispatchEvent(new PointerEvent(`pointermove`,a)),n.dispatchEvent(new MouseEvent(`mousemove`,i))},yt=n({permission:()=>xt,resolve:()=>St,type:()=>bt}),bt=`textContent`,xt={scope:`read.text`,category:`read`,severity:1,title:`Read text from the page`,description:`Lets the app see the text shown on this page.`},St=(e,t={})=>Z(e.elements).textContent,Ct=n({permission:()=>Tt,resolve:()=>Et,type:()=>wt}),wt=`isVisible`,Tt={scope:`read.visible`,category:`read`,severity:0,title:`See what’s visible on the page`,description:`Lets the app check which elements are currently on screen.`},Et=(e,t={})=>{let n=Z(e.elements);if(!(n instanceof HTMLElement))return!0;let r=n.ownerDocument.defaultView?.getComputedStyle(n);if(r?.display===`none`||r?.visibility===`hidden`)return!1;let i=n.getBoundingClientRect();return i.width>0&&i.height>0},Dt=n({permission:()=>kt,resolve:()=>At,type:()=>Ot}),Ot=`count`,kt={scope:`read.count`,category:`read`,severity:0,title:`Count items on the page`,description:`Lets the app count how many matching elements are present.`},At=(e,t={})=>e.elements.length,jt=n({permission:()=>Nt,resolve:()=>Pt,type:()=>Mt}),Mt=`exists`,Nt={scope:`read.check`,category:`read`,severity:0,title:`Check if something is on the page`,description:`Lets the app test whether a specific element exists.`},Pt=(e,t={})=>e.elements.length>0,Ft=n({permission:()=>Lt,resolve:()=>Rt,type:()=>It}),It=`getAttribute`,Lt={scope:`read.info`,category:`read`,severity:1,title:`Read info from the page`,description:`Lets the app read the href value from a part of the page.`},Rt=(e,t,n={})=>Z(e.elements).getAttribute(t),zt=n({permission:()=>Vt,resolve:()=>Ht,type:()=>Bt}),Bt=`videoElement`,Vt={scope:`media.video`,category:`media`,severity:0,title:`Control video playback`,description:`Lets the app play, pause, seek, and read the video on the page.`},Ht=(e,t={})=>{let n=Z(e.elements);if(!(n instanceof HTMLVideoElement))throw Error(`videoElement: expected <video>, got <${n.tagName.toLowerCase()}>`);return C(n)},Q=`locator`,Ut=[ce,{...j,nextLocatorType:`frameLocator`},Be,We,Je,Qe,nt],$=[at,lt,ht,yt,Ct,Dt,jt,Ft,zt],Wt={type:Q,selectorModules:Ut,operationModules:$},Gt=Y({ownType:Q,selectorModules:Ut,operationModules:$});Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return t}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return ze}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return ee}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return Q}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return J}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return he}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return Wt}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return T}});