diff --git a/index.html b/index.html
index 68c0559..f95d85d 100644
--- a/index.html
+++ b/index.html
@@ -13,11 +13,6 @@
-
@@ -35,12 +30,6 @@
});
window.sj = scramjet;
-
-
diff --git a/package.json b/package.json
index 733518d..ce5f1f8 100644
--- a/package.json
+++ b/package.json
@@ -4,7 +4,7 @@
"version": "0.0.0",
"type": "module",
"scripts": {
- "dev": "concurrently -n \"vite,server\" \"vite\" \"pnpm tsx server.ts\"",
+ "dev": "concurrently -n \"vite,server\" \"vite --port 5613\" \"pnpm tsx server.ts\"",
"build": "tsc -b && vite build",
"lint": "eslint .",
"preview": "vite preview",
@@ -13,22 +13,22 @@
"dependencies": {
"@fastify/static": "^8.0.3",
"@mercuryworkshop/bare-mux": "^2.1.7",
- "@mercuryworkshop/epoxy-transport": "^2.1.26",
+ "@mercuryworkshop/epoxy-transport": "^2.1.27",
"@mercuryworkshop/libcurl-transport": "^1.3.14",
- "@radix-ui/react-dialog": "^1.1.2",
- "@radix-ui/react-dropdown-menu": "^2.1.2",
+ "@radix-ui/react-dialog": "^1.1.3",
+ "@radix-ui/react-dropdown-menu": "^2.1.3",
"@radix-ui/react-icons": "^1.3.2",
- "@radix-ui/react-select": "^2.1.2",
- "@radix-ui/react-separator": "^1.1.0",
- "@radix-ui/react-slot": "^1.1.0",
- "@tanstack/react-router": "^1.82.12",
+ "@radix-ui/react-select": "^2.1.3",
+ "@radix-ui/react-separator": "^1.1.1",
+ "@radix-ui/react-slot": "^1.1.1",
+ "@tanstack/react-router": "^1.88.0",
"@titaniumnetwork-dev/ultraviolet": "^3.2.10",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
- "dotenv": "^16.4.5",
+ "dotenv": "^16.4.7",
"fake-useragent": "^1.0.1",
"fastify": "^5.1.0",
- "framer-motion": "^11.11.17",
+ "framer-motion": "^11.14.4",
"lucide-react": "^0.447.0",
"react": "^18.3.1",
"react-dom": "^18.3.1",
@@ -45,28 +45,28 @@
"zustand": "5.0.0-rc.2"
},
"devDependencies": {
- "@eslint/js": "^9.15.0",
- "@tanstack/router-devtools": "^1.82.12",
- "@tanstack/router-plugin": "^1.82.10",
+ "@eslint/js": "^9.17.0",
+ "@tanstack/router-devtools": "^1.88.0",
+ "@tanstack/router-plugin": "^1.87.13",
"@types/fake-useragent": "^1.0.0",
- "@types/node": "^22.10.0",
- "@types/react": "^18.3.12",
- "@types/react-dom": "^18.3.1",
+ "@types/node": "^22.10.2",
+ "@types/react": "^18.3.16",
+ "@types/react-dom": "^18.3.5",
"@types/react-syntax-highlighter": "^15.5.13",
"@vitejs/plugin-react-swc": "^3.7.2",
"autoprefixer": "^10.4.20",
"concurrently": "^9.1.0",
- "eslint": "^9.15.0",
+ "eslint": "^9.17.0",
"eslint-plugin-react-hooks": "5.1.0-rc-fb9a90fa48-20240614",
- "eslint-plugin-react-refresh": "^0.4.14",
- "globals": "^15.12.0",
+ "eslint-plugin-react-refresh": "^0.4.16",
+ "globals": "^15.13.0",
"postcss": "^8.4.49",
"sharp": "^0.33.5",
"svgo": "^3.3.2",
- "tailwindcss": "^3.4.15",
+ "tailwindcss": "^3.4.16",
"tsx": "^4.19.2",
"typescript": "^5.7.2",
- "typescript-eslint": "^8.16.0",
+ "typescript-eslint": "^8.18.0",
"vite": "^5.4.11"
}
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 07a0438..b5be90a 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -15,32 +15,32 @@ importers:
specifier: ^2.1.7
version: 2.1.7
'@mercuryworkshop/epoxy-transport':
- specifier: ^2.1.26
- version: 2.1.26
+ specifier: ^2.1.27
+ version: 2.1.27
'@mercuryworkshop/libcurl-transport':
specifier: ^1.3.14
version: 1.3.14
'@radix-ui/react-dialog':
- specifier: ^1.1.2
- version: 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ specifier: ^1.1.3
+ version: 1.1.3(@types/react-dom@18.3.5(@types/react@18.3.16))(@types/react@18.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-dropdown-menu':
- specifier: ^2.1.2
- version: 2.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ specifier: ^2.1.3
+ version: 2.1.3(@types/react-dom@18.3.5(@types/react@18.3.16))(@types/react@18.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-icons':
specifier: ^1.3.2
version: 1.3.2(react@18.3.1)
'@radix-ui/react-select':
- specifier: ^2.1.2
- version: 2.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ specifier: ^2.1.3
+ version: 2.1.3(@types/react-dom@18.3.5(@types/react@18.3.16))(@types/react@18.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-separator':
- specifier: ^1.1.0
- version: 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ specifier: ^1.1.1
+ version: 1.1.1(@types/react-dom@18.3.5(@types/react@18.3.16))(@types/react@18.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-slot':
- specifier: ^1.1.0
- version: 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ specifier: ^1.1.1
+ version: 1.1.1(@types/react@18.3.16)(react@18.3.1)
'@tanstack/react-router':
- specifier: ^1.82.12
- version: 1.82.12(@tanstack/router-generator@1.82.10)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ specifier: ^1.88.0
+ version: 1.88.0(@tanstack/router-generator@1.87.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@titaniumnetwork-dev/ultraviolet':
specifier: ^3.2.10
version: 3.2.10
@@ -51,8 +51,8 @@ importers:
specifier: ^2.1.1
version: 2.1.1
dotenv:
- specifier: ^16.4.5
- version: 16.4.5
+ specifier: ^16.4.7
+ version: 16.4.7
fake-useragent:
specifier: ^1.0.1
version: 1.0.1
@@ -60,8 +60,8 @@ importers:
specifier: ^5.1.0
version: 5.1.0
framer-motion:
- specifier: ^11.11.17
- version: 11.11.17(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ specifier: ^11.14.4
+ version: 11.14.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
lucide-react:
specifier: ^0.447.0
version: 0.447.0(react@18.3.1)
@@ -79,7 +79,7 @@ importers:
version: 2.1.0
react-markdown:
specifier: ^9.0.1
- version: 9.0.1(@types/react@18.3.12)(react@18.3.1)
+ version: 9.0.1(@types/react@18.3.16)(react@18.3.1)
react-syntax-highlighter:
specifier: ^15.6.1
version: 15.6.1(react@18.3.1)
@@ -91,47 +91,47 @@ importers:
version: 2.5.5
tailwindcss-animate:
specifier: ^1.0.7
- version: 1.0.7(tailwindcss@3.4.15)
+ version: 1.0.7(tailwindcss@3.4.16)
vite-plugin-image-optimizer:
specifier: ^1.1.8
- version: 1.1.8(vite@5.4.11(@types/node@22.10.0))
+ version: 1.1.8(vite@5.4.11(@types/node@22.10.2))
vite-plugin-static-copy:
specifier: ^1.0.6
- version: 1.0.6(vite@5.4.11(@types/node@22.10.0))
+ version: 1.0.6(vite@5.4.11(@types/node@22.10.2))
wisp-server-node:
specifier: ^1.1.7
version: 1.1.7
zustand:
specifier: 5.0.0-rc.2
- version: 5.0.0-rc.2(@types/react@18.3.12)(react@18.3.1)(use-sync-external-store@1.2.2(react@18.3.1))
+ version: 5.0.0-rc.2(@types/react@18.3.16)(react@18.3.1)(use-sync-external-store@1.4.0(react@18.3.1))
devDependencies:
'@eslint/js':
- specifier: ^9.15.0
- version: 9.15.0
+ specifier: ^9.17.0
+ version: 9.17.0
'@tanstack/router-devtools':
- specifier: ^1.82.12
- version: 1.82.12(@tanstack/react-router@1.82.12(@tanstack/router-generator@1.82.10)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(csstype@3.1.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ specifier: ^1.88.0
+ version: 1.88.0(@tanstack/react-router@1.88.0(@tanstack/router-generator@1.87.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(csstype@3.1.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@tanstack/router-plugin':
- specifier: ^1.82.10
- version: 1.82.10(vite@5.4.11(@types/node@22.10.0))
+ specifier: ^1.87.13
+ version: 1.87.13(vite@5.4.11(@types/node@22.10.2))
'@types/fake-useragent':
specifier: ^1.0.0
version: 1.0.0
'@types/node':
- specifier: ^22.10.0
- version: 22.10.0
+ specifier: ^22.10.2
+ version: 22.10.2
'@types/react':
- specifier: ^18.3.12
- version: 18.3.12
+ specifier: ^18.3.16
+ version: 18.3.16
'@types/react-dom':
- specifier: ^18.3.1
- version: 18.3.1
+ specifier: ^18.3.5
+ version: 18.3.5(@types/react@18.3.16)
'@types/react-syntax-highlighter':
specifier: ^15.5.13
version: 15.5.13
'@vitejs/plugin-react-swc':
specifier: ^3.7.2
- version: 3.7.2(vite@5.4.11(@types/node@22.10.0))
+ version: 3.7.2(vite@5.4.11(@types/node@22.10.2))
autoprefixer:
specifier: ^10.4.20
version: 10.4.20(postcss@8.4.49)
@@ -139,17 +139,17 @@ importers:
specifier: ^9.1.0
version: 9.1.0
eslint:
- specifier: ^9.15.0
- version: 9.15.0(jiti@1.21.6)
+ specifier: ^9.17.0
+ version: 9.17.0(jiti@1.21.6)
eslint-plugin-react-hooks:
specifier: 5.1.0-rc-fb9a90fa48-20240614
- version: 5.1.0-rc-fb9a90fa48-20240614(eslint@9.15.0(jiti@1.21.6))
+ version: 5.1.0-rc-fb9a90fa48-20240614(eslint@9.17.0(jiti@1.21.6))
eslint-plugin-react-refresh:
- specifier: ^0.4.14
- version: 0.4.14(eslint@9.15.0(jiti@1.21.6))
+ specifier: ^0.4.16
+ version: 0.4.16(eslint@9.17.0(jiti@1.21.6))
globals:
- specifier: ^15.12.0
- version: 15.12.0
+ specifier: ^15.13.0
+ version: 15.13.0
postcss:
specifier: ^8.4.49
version: 8.4.49
@@ -160,8 +160,8 @@ importers:
specifier: ^3.3.2
version: 3.3.2
tailwindcss:
- specifier: ^3.4.15
- version: 3.4.15
+ specifier: ^3.4.16
+ version: 3.4.16
tsx:
specifier: ^4.19.2
version: 4.19.2
@@ -169,11 +169,11 @@ importers:
specifier: ^5.7.2
version: 5.7.2
typescript-eslint:
- specifier: ^8.16.0
- version: 8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2)
+ specifier: ^8.18.0
+ version: 8.18.0(eslint@9.17.0(jiti@1.21.6))(typescript@5.7.2)
vite:
specifier: ^5.4.11
- version: 5.4.11(@types/node@22.10.0)
+ version: 5.4.11(@types/node@22.10.2)
packages:
@@ -189,16 +189,16 @@ packages:
resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==}
engines: {node: '>=6.9.0'}
- '@babel/compat-data@7.26.2':
- resolution: {integrity: sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg==}
+ '@babel/compat-data@7.26.3':
+ resolution: {integrity: sha512-nHIxvKPniQXpmQLb0vhY3VaFb3S0YrTAwpOWJZh1wn3oJPjJk9Asva204PsBdmAE8vpzfHudT8DB0scYvy9q0g==}
engines: {node: '>=6.9.0'}
'@babel/core@7.26.0':
resolution: {integrity: sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==}
engines: {node: '>=6.9.0'}
- '@babel/generator@7.26.2':
- resolution: {integrity: sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==}
+ '@babel/generator@7.26.3':
+ resolution: {integrity: sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ==}
engines: {node: '>=6.9.0'}
'@babel/helper-compilation-targets@7.25.9':
@@ -235,8 +235,8 @@ packages:
resolution: {integrity: sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==}
engines: {node: '>=6.9.0'}
- '@babel/parser@7.26.2':
- resolution: {integrity: sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==}
+ '@babel/parser@7.26.3':
+ resolution: {integrity: sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA==}
engines: {node: '>=6.0.0'}
hasBin: true
@@ -260,12 +260,12 @@ packages:
resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==}
engines: {node: '>=6.9.0'}
- '@babel/traverse@7.25.9':
- resolution: {integrity: sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==}
+ '@babel/traverse@7.26.4':
+ resolution: {integrity: sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w==}
engines: {node: '>=6.9.0'}
- '@babel/types@7.26.0':
- resolution: {integrity: sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==}
+ '@babel/types@7.26.3':
+ resolution: {integrity: sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==}
engines: {node: '>=6.9.0'}
'@emnapi/runtime@1.3.1':
@@ -563,28 +563,28 @@ packages:
resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==}
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
- '@eslint/config-array@0.19.0':
- resolution: {integrity: sha512-zdHg2FPIFNKPdcHWtiNT+jEFCHYVplAXRDlQDyqy0zGx/q2parwh7brGJSiTxRk/TSMkbM//zt/f5CHgyTyaSQ==}
+ '@eslint/config-array@0.19.1':
+ resolution: {integrity: sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/core@0.9.0':
- resolution: {integrity: sha512-7ATR9F0e4W85D/0w7cU0SNj7qkAexMG+bAHEZOjo9akvGuhHE2m7umzWzfnpa0XAg5Kxc1BWmtPMV67jJ+9VUg==}
+ '@eslint/core@0.9.1':
+ resolution: {integrity: sha512-GuUdqkyyzQI5RMIWkHhvTWLCyLo1jNK3vzkSyaExH5kHPDHcuL2VOpHjmMY+y3+NC69qAKToBqldTBgYeLSr9Q==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/eslintrc@3.2.0':
resolution: {integrity: sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/js@9.15.0':
- resolution: {integrity: sha512-tMTqrY+EzbXmKJR5ToI8lxu7jaN5EdmrBFJpQk5JmSlyLsx6o4t27r883K5xsLuCYCpfKBCGswMSWXsM+jB7lg==}
+ '@eslint/js@9.17.0':
+ resolution: {integrity: sha512-Sxc4hqcs1kTu0iID3kcZDW3JHq2a77HO9P8CP6YEA/FpH3Ll8UXE2r/86Rz9YJLKme39S9vU5OWNjC6Xl0Cr3w==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/object-schema@2.1.4':
- resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==}
+ '@eslint/object-schema@2.1.5':
+ resolution: {integrity: sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/plugin-kit@0.2.3':
- resolution: {integrity: sha512-2b/g5hRmpbb1o4GnTZax9N9m0FXzz9OV42ZzI4rDDMDuHUqigAiQCEWChBWCY4ztAGVRjoWT19v0yMmc5/L5kA==}
+ '@eslint/plugin-kit@0.2.4':
+ resolution: {integrity: sha512-zSkKow6H5Kdm0ZUQUB2kV5JIXqoG0+uH5YADhaEHswm664N9Db8dXSi0nMJpacpMf+MyyglF1vnZohpEg5yUtg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@fastify/accept-negotiator@2.0.0':
@@ -602,8 +602,8 @@ packages:
'@fastify/merge-json-schemas@0.1.1':
resolution: {integrity: sha512-fERDVz7topgNjtXsJTTW1JKLy0rhuLRcquYqNR9rF7OcVpCa2OVW49ZPDIhaRRCaUuvVxI+N416xUoF76HNSXA==}
- '@fastify/send@3.2.0':
- resolution: {integrity: sha512-qF4TIEMjqk92jrOXjcqBrkk+HOXE70AwDKas9/AweFslbvSq0o1JEAHzC7YlggBaj4bN9pU70XIPyseEJ6vlXg==}
+ '@fastify/send@3.3.0':
+ resolution: {integrity: sha512-hvrgPVG3oehn4wSPmRdqZcBCsEt7Lp6WOd6vsJ3Ms4hc5r5zouT9Ls9wq6R2tHMgJGHhNtsmd0CnhP7lmF7OTg==}
'@fastify/static@8.0.3':
resolution: {integrity: sha512-GHSoOVDIxEYEeVR5l044bRCuAKDErD/+9VE+Z9fnaTRr+DDz0Avrm4kKai1mHbPx6C0U7BVNthjd/gcMquZZUA==}
@@ -752,8 +752,8 @@ packages:
resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
engines: {node: '>=12'}
- '@jridgewell/gen-mapping@0.3.5':
- resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==}
+ '@jridgewell/gen-mapping@0.3.8':
+ resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==}
engines: {node: '>=6.0.0'}
'@jridgewell/resolve-uri@3.1.2':
@@ -777,11 +777,11 @@ packages:
'@mercuryworkshop/bare-mux@2.1.7':
resolution: {integrity: sha512-BUamyc7jsIFbWQVVWjVjaD+Wot77EPwolkrbP3UuIs6QeHR1RY52+IR2fq3GkRAbOOrAZNT7EgZSsupkh1NowQ==}
- '@mercuryworkshop/epoxy-tls@2.1.15-1':
- resolution: {integrity: sha512-XcagLkLBIi+rjgr4WcI37m5EJ+FZbURDusnBvphtpQbcSVs5D/FwzUgVBLw92U6+Uragt0HC9POZ2UWmYkt0aA==}
+ '@mercuryworkshop/epoxy-tls@2.1.16-1':
+ resolution: {integrity: sha512-tyiFvbpt/qf7KyAYVyY0GdFmf/OJvIW1U96dOKsN/k/zbP+xErsCvKJGYK2J27xSyRjpK1N4mkz39wnKkWuibA==}
- '@mercuryworkshop/epoxy-transport@2.1.26':
- resolution: {integrity: sha512-ihQ2aL3MB4ZJM5tGHVxYLMY9m+jZmnSvMP32Lu7u9eYqzP96h6JJrwgqMSqHoiavOmEDV5/b8uJbuWeJbfgmcA==}
+ '@mercuryworkshop/epoxy-transport@2.1.27':
+ resolution: {integrity: sha512-jvlJbNbqokU2YRfNYUCqSX+m4/T5Jx659Zn0/AgV2ZfB0S67FK7z9ZMstuxrZHog2AmBdOFaYUjLnI6cAboiaw==}
'@mercuryworkshop/libcurl-transport@1.3.14':
resolution: {integrity: sha512-H2tDNmS3jZBzHpX6kVzmrdIc+0tif721eVCkEnSxoXXuz6g4GkfNFL2b7llRSZcxV+p/V/kGbSFvdDo/yCxUIw==}
@@ -805,11 +805,11 @@ packages:
'@radix-ui/number@1.1.0':
resolution: {integrity: sha512-V3gRzhVNU1ldS5XhAPTom1fOIo4ccrjjJgmE+LI2h/WaFpHmx0MQApT+KZHnx8abG6Avtfcz4WoEciMnpFT3HQ==}
- '@radix-ui/primitive@1.1.0':
- resolution: {integrity: sha512-4Z8dn6Upk0qk4P74xBhZ6Hd/w0mPEzOOLxy4xiPXOXqjF7jZS0VAKk7/x/H6FyY2zCkYJqePf1G5KmkmNJ4RBA==}
+ '@radix-ui/primitive@1.1.1':
+ resolution: {integrity: sha512-SJ31y+Q/zAyShtXJc8x83i9TYdbAfHZ++tUZnvjJJqFjzsdUnKsxPL6IEtBlxKkU7yzer//GQtZSV4GbldL3YA==}
- '@radix-ui/react-arrow@1.1.0':
- resolution: {integrity: sha512-FmlW1rCg7hBpEBwFbjHwCW6AmWLQM6g/v0Sn8XbP9NvmSZ2San1FpQeyPtufzOMSIx7Y4dzjlHoifhp+7NkZhw==}
+ '@radix-ui/react-arrow@1.1.1':
+ resolution: {integrity: sha512-NaVpZfmv8SKeZbn4ijN2V3jlHA9ngBG16VnIIm22nUR0Yk8KUALyBxT3KYEUnNuch9sTE8UTsS3whzBgKOL30w==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -821,8 +821,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-collection@1.1.0':
- resolution: {integrity: sha512-GZsZslMJEyo1VKm5L1ZJY8tGDxZNPAoUeQUIbKeJfoi7Q4kmig5AsgLMYYuyYbfjd8fBmFORAIwYAkXMnXZgZw==}
+ '@radix-ui/react-collection@1.1.1':
+ resolution: {integrity: sha512-LwT3pSho9Dljg+wY2KN2mrrh6y3qELfftINERIzBUO9e0N+t0oMTyn3k9iv+ZqgrwGkRnLpNJrsMv9BZlt2yuA==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -834,17 +834,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-compose-refs@1.1.0':
- resolution: {integrity: sha512-b4inOtiaOnYf9KWyO3jAeeCG6FeyfY6ldiEPanbUjWd+xIk5wZeHa8yVwmrJ2vderhu/BQvzCrJI0lHd+wIiqw==}
- peerDependencies:
- '@types/react': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
- '@radix-ui/react-context@1.1.0':
- resolution: {integrity: sha512-OKrckBy+sMEgYM/sMmqmErVn0kZqrHPJze+Ql3DzYsDDp0hl0L62nx/2122/Bvps1qz645jlcu2tD9lrRSdf8A==}
+ '@radix-ui/react-compose-refs@1.1.1':
+ resolution: {integrity: sha512-Y9VzoRDSJtgFMUCoiZBDVo084VQ5hfpXxVE+NgkdNsjiDBByiImMZKKhxMwCbdHvhlENG6a833CbFkOQvTricw==}
peerDependencies:
'@types/react': '*'
react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
@@ -861,8 +852,8 @@ packages:
'@types/react':
optional: true
- '@radix-ui/react-dialog@1.1.2':
- resolution: {integrity: sha512-Yj4dZtqa2o+kG61fzB0H2qUvmwBA2oyQroGLyNtBj1beo1khoQ3q1a2AO8rrQYjd8256CO9+N8L9tvsS+bnIyA==}
+ '@radix-ui/react-dialog@1.1.3':
+ resolution: {integrity: sha512-ujGvqQNkZ0J7caQyl8XuZRj2/TIrYcOGwqz5TeD1OMcCdfBuEMP0D12ve+8J5F9XuNUth3FAKFWo/wt0E/GJrQ==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -883,8 +874,8 @@ packages:
'@types/react':
optional: true
- '@radix-ui/react-dismissable-layer@1.1.1':
- resolution: {integrity: sha512-QSxg29lfr/xcev6kSz7MAlmDnzbP1eI/Dwn3Tp1ip0KT5CUELsxkekFEMVBEoykI3oV39hKT4TKZzBNMbcTZYQ==}
+ '@radix-ui/react-dismissable-layer@1.1.2':
+ resolution: {integrity: sha512-kEHnlhv7wUggvhuJPkyw4qspXLJOdYoAP4dO2c8ngGuXTq1w/HZp1YeVB+NQ2KbH1iEG+pvOCGYSqh9HZOz6hg==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -896,8 +887,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-dropdown-menu@2.1.2':
- resolution: {integrity: sha512-GVZMR+eqK8/Kes0a36Qrv+i20bAPXSn8rCBTHx30w+3ECnR5o3xixAlqcVaYvLeyKUsm0aqyhWfmUcqufM8nYA==}
+ '@radix-ui/react-dropdown-menu@2.1.3':
+ resolution: {integrity: sha512-eKyAfA9e4HOavzyGJC6kiDIlHMPzAU0zqSqTg+VwS0Okvb9nkTo7L4TugkCUqM3I06ciSpdtYQ73cgB7tyUgVw==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -918,8 +909,8 @@ packages:
'@types/react':
optional: true
- '@radix-ui/react-focus-scope@1.1.0':
- resolution: {integrity: sha512-200UD8zylvEyL8Bx+z76RJnASR2gRMuxlgFCPAe/Q/679a/r0eK3MBVYMb7vZODZcffZBdob1EGnky78xmVvcA==}
+ '@radix-ui/react-focus-scope@1.1.1':
+ resolution: {integrity: sha512-01omzJAYRxXdG2/he/+xy+c8a8gCydoQ1yOxnWNcRhrrBW5W+RQJ22EK1SaO8tb3WoUsuEw7mJjBozPzihDFjA==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -945,8 +936,8 @@ packages:
'@types/react':
optional: true
- '@radix-ui/react-menu@2.1.2':
- resolution: {integrity: sha512-lZ0R4qR2Al6fZ4yCCZzu/ReTFrylHFxIqy7OezIpWF4bL0o9biKo0pFIvkaew3TyZ9Fy5gYVrR5zCGZBVbO1zg==}
+ '@radix-ui/react-menu@2.1.3':
+ resolution: {integrity: sha512-wY5SY6yCiJYP+DMIy7RrjF4shoFpB9LJltliVwejBm8T2yepWDJgKBhIFYOGWYR/lFHOCtbstN9duZFu6gmveQ==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -958,8 +949,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-popper@1.2.0':
- resolution: {integrity: sha512-ZnRMshKF43aBxVWPWvbj21+7TQCvhuULWJ4gNIKYpRlQt5xGRhLx66tMp8pya2UkGHTSlhpXwmjqltDYHhw7Vg==}
+ '@radix-ui/react-popper@1.2.1':
+ resolution: {integrity: sha512-3kn5Me69L+jv82EKRuQCXdYyf1DqHwD2U/sxoNgBGCB7K9TRc3bQamQ+5EPM9EvyPdli0W41sROd+ZU1dTCztw==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -971,8 +962,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-portal@1.1.2':
- resolution: {integrity: sha512-WeDYLGPxJb/5EGBoedyJbT0MpoULmwnIPMJMSldkuiMsBAv7N1cRdsTWZWht9vpPOiN3qyiGAtbK2is47/uMFg==}
+ '@radix-ui/react-portal@1.1.3':
+ resolution: {integrity: sha512-NciRqhXnGojhT93RPyDaMPfLH3ZSl4jjIFbZQ1b/vxvZEdHsBZ49wP9w8L3HzUQwep01LcWtkUvm0OVB5JAHTw==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -984,8 +975,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-presence@1.1.1':
- resolution: {integrity: sha512-IeFXVi4YS1K0wVZzXNrbaaUvIJ3qdY+/Ih4eHFhWA9SwGR9UDX7Ck8abvL57C4cv3wwMvUE0OG69Qc3NCcTe/A==}
+ '@radix-ui/react-presence@1.1.2':
+ resolution: {integrity: sha512-18TFr80t5EVgL9x1SwF/YGtfG+l0BS0PRAlCWBDoBEiDQjeKgnNZRVJp/oVBl24sr3Gbfwc/Qpj4OcWTQMsAEg==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -997,8 +988,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-primitive@2.0.0':
- resolution: {integrity: sha512-ZSpFm0/uHa8zTvKBDjLFWLo8dkr4MBsiDLz0g3gMUwqgLHz9rTaRRGYDgvZPtBJgYCBKXkS9fzmoySgr8CO6Cw==}
+ '@radix-ui/react-primitive@2.0.1':
+ resolution: {integrity: sha512-sHCWTtxwNn3L3fH8qAfnF3WbUZycW93SM1j3NFDzXBiz8D6F5UTTy8G1+WFEaiCdvCVRJWj6N2R4Xq6HdiHmDg==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -1010,8 +1001,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-roving-focus@1.1.0':
- resolution: {integrity: sha512-EA6AMGeq9AEeQDeSH0aZgG198qkfHSbvWTf1HvoDmOB5bBG/qTxjYMWUKMnYiV6J/iP/J8MEFSuB2zRU2n7ODA==}
+ '@radix-ui/react-roving-focus@1.1.1':
+ resolution: {integrity: sha512-QE1RoxPGJ/Nm8Qmk0PxP8ojmoaS67i0s7hVssS7KuI2FQoc/uzVlZsqKfQvxPE6D8hICCPHJ4D88zNhT3OOmkw==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -1023,8 +1014,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-select@2.1.2':
- resolution: {integrity: sha512-rZJtWmorC7dFRi0owDmoijm6nSJH1tVw64QGiNIZ9PNLyBDtG+iAq+XGsya052At4BfarzY/Dhv9wrrUr6IMZA==}
+ '@radix-ui/react-select@2.1.3':
+ resolution: {integrity: sha512-tlLwaewTfrKetiex8iW9wwME/qrYlzlH0qcgYmos7xS54MO00SiPHasLoAykg/yVrjf41GQptPPi4oXzrP+sgg==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -1036,8 +1027,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-separator@1.1.0':
- resolution: {integrity: sha512-3uBAs+egzvJBDZAzvb/n4NxxOYpnspmWxO2u5NbZ8Y6FM/NdrGSF9bop3Cf6F6C71z1rTSn8KV0Fo2ZVd79lGA==}
+ '@radix-ui/react-separator@1.1.1':
+ resolution: {integrity: sha512-RRiNRSrD8iUiXriq/Y5n4/3iE8HzqgLHsusUSg5jVpU2+3tqcUFPJXHDymwEypunc2sWxDUS3UC+rkZRlHedsw==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -1049,8 +1040,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-slot@1.1.0':
- resolution: {integrity: sha512-FUCf5XMfmW4dtYl69pdS4DbxKy8nj4M7SafBgPllysxmdachynNflAdp/gCsnYWNDnge6tI9onzMp5ARYc1KNw==}
+ '@radix-ui/react-slot@1.1.1':
+ resolution: {integrity: sha512-RApLLOcINYJA+dMVbOju7MYv1Mb2EBp2nH4HdDzXTSyaR5optlm6Otrz1euW3HbdOR8UmmFK06TD+A9frYWv+g==}
peerDependencies:
'@types/react': '*'
react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
@@ -1121,8 +1112,8 @@ packages:
'@types/react':
optional: true
- '@radix-ui/react-visually-hidden@1.1.0':
- resolution: {integrity: sha512-N8MDZqtgCgG5S3aV60INAB475osJousYpZ4cTJ2cFbMpdHS5Y6loLTH8LPtkj2QN0x93J30HT/M3qJXM0+lyeQ==}
+ '@radix-ui/react-visually-hidden@1.1.1':
+ resolution: {integrity: sha512-vVfA2IZ9q/J+gEamvj761Oq1FpWgCDaNOOIfbPVp2MVPLEomUr5+Vf7kJGwQ24YxZSlQVar7Bes8kyTo5Dshpg==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -1137,158 +1128,163 @@ packages:
'@radix-ui/rect@1.1.0':
resolution: {integrity: sha512-A9+lCBZoaMJlVKcRBz2YByCG+Cp2t6nAnMnNba+XiWxnj6r4JUFqfsgwocMBZU9LPtdxC6wB56ySYpc7LQIoJg==}
- '@rollup/rollup-android-arm-eabi@4.27.4':
- resolution: {integrity: sha512-2Y3JT6f5MrQkICUyRVCw4oa0sutfAsgaSsb0Lmmy1Wi2y7X5vT9Euqw4gOsCyy0YfKURBg35nhUKZS4mDcfULw==}
+ '@rollup/rollup-android-arm-eabi@4.28.1':
+ resolution: {integrity: sha512-2aZp8AES04KI2dy3Ss6/MDjXbwBzj+i0GqKtWXgw2/Ma6E4jJvujryO6gJAghIRVz7Vwr9Gtl/8na3nDUKpraQ==}
cpu: [arm]
os: [android]
- '@rollup/rollup-android-arm64@4.27.4':
- resolution: {integrity: sha512-wzKRQXISyi9UdCVRqEd0H4cMpzvHYt1f/C3CoIjES6cG++RHKhrBj2+29nPF0IB5kpy9MS71vs07fvrNGAl/iA==}
+ '@rollup/rollup-android-arm64@4.28.1':
+ resolution: {integrity: sha512-EbkK285O+1YMrg57xVA+Dp0tDBRB93/BZKph9XhMjezf6F4TpYjaUSuPt5J0fZXlSag0LmZAsTmdGGqPp4pQFA==}
cpu: [arm64]
os: [android]
- '@rollup/rollup-darwin-arm64@4.27.4':
- resolution: {integrity: sha512-PlNiRQapift4LNS8DPUHuDX/IdXiLjf8mc5vdEmUR0fF/pyy2qWwzdLjB+iZquGr8LuN4LnUoSEvKRwjSVYz3Q==}
+ '@rollup/rollup-darwin-arm64@4.28.1':
+ resolution: {integrity: sha512-prduvrMKU6NzMq6nxzQw445zXgaDBbMQvmKSJaxpaZ5R1QDM8w+eGxo6Y/jhT/cLoCvnZI42oEqf9KQNYz1fqQ==}
cpu: [arm64]
os: [darwin]
- '@rollup/rollup-darwin-x64@4.27.4':
- resolution: {integrity: sha512-o9bH2dbdgBDJaXWJCDTNDYa171ACUdzpxSZt+u/AAeQ20Nk5x+IhA+zsGmrQtpkLiumRJEYef68gcpn2ooXhSQ==}
+ '@rollup/rollup-darwin-x64@4.28.1':
+ resolution: {integrity: sha512-WsvbOunsUk0wccO/TV4o7IKgloJ942hVFK1CLatwv6TJspcCZb9umQkPdvB7FihmdxgaKR5JyxDjWpCOp4uZlQ==}
cpu: [x64]
os: [darwin]
- '@rollup/rollup-freebsd-arm64@4.27.4':
- resolution: {integrity: sha512-NBI2/i2hT9Q+HySSHTBh52da7isru4aAAo6qC3I7QFVsuhxi2gM8t/EI9EVcILiHLj1vfi+VGGPaLOUENn7pmw==}
+ '@rollup/rollup-freebsd-arm64@4.28.1':
+ resolution: {integrity: sha512-HTDPdY1caUcU4qK23FeeGxCdJF64cKkqajU0iBnTVxS8F7H/7BewvYoG+va1KPSL63kQ1PGNyiwKOfReavzvNA==}
cpu: [arm64]
os: [freebsd]
- '@rollup/rollup-freebsd-x64@4.27.4':
- resolution: {integrity: sha512-wYcC5ycW2zvqtDYrE7deary2P2UFmSh85PUpAx+dwTCO9uw3sgzD6Gv9n5X4vLaQKsrfTSZZ7Z7uynQozPVvWA==}
+ '@rollup/rollup-freebsd-x64@4.28.1':
+ resolution: {integrity: sha512-m/uYasxkUevcFTeRSM9TeLyPe2QDuqtjkeoTpP9SW0XxUWfcYrGDMkO/m2tTw+4NMAF9P2fU3Mw4ahNvo7QmsQ==}
cpu: [x64]
os: [freebsd]
- '@rollup/rollup-linux-arm-gnueabihf@4.27.4':
- resolution: {integrity: sha512-9OwUnK/xKw6DyRlgx8UizeqRFOfi9mf5TYCw1uolDaJSbUmBxP85DE6T4ouCMoN6pXw8ZoTeZCSEfSaYo+/s1w==}
+ '@rollup/rollup-linux-arm-gnueabihf@4.28.1':
+ resolution: {integrity: sha512-QAg11ZIt6mcmzpNE6JZBpKfJaKkqTm1A9+y9O+frdZJEuhQxiugM05gnCWiANHj4RmbgeVJpTdmKRmH/a+0QbA==}
cpu: [arm]
os: [linux]
- '@rollup/rollup-linux-arm-musleabihf@4.27.4':
- resolution: {integrity: sha512-Vgdo4fpuphS9V24WOV+KwkCVJ72u7idTgQaBoLRD0UxBAWTF9GWurJO9YD9yh00BzbkhpeXtm6na+MvJU7Z73A==}
+ '@rollup/rollup-linux-arm-musleabihf@4.28.1':
+ resolution: {integrity: sha512-dRP9PEBfolq1dmMcFqbEPSd9VlRuVWEGSmbxVEfiq2cs2jlZAl0YNxFzAQS2OrQmsLBLAATDMb3Z6MFv5vOcXg==}
cpu: [arm]
os: [linux]
- '@rollup/rollup-linux-arm64-gnu@4.27.4':
- resolution: {integrity: sha512-pleyNgyd1kkBkw2kOqlBx+0atfIIkkExOTiifoODo6qKDSpnc6WzUY5RhHdmTdIJXBdSnh6JknnYTtmQyobrVg==}
+ '@rollup/rollup-linux-arm64-gnu@4.28.1':
+ resolution: {integrity: sha512-uGr8khxO+CKT4XU8ZUH1TTEUtlktK6Kgtv0+6bIFSeiSlnGJHG1tSFSjm41uQ9sAO/5ULx9mWOz70jYLyv1QkA==}
cpu: [arm64]
os: [linux]
- '@rollup/rollup-linux-arm64-musl@4.27.4':
- resolution: {integrity: sha512-caluiUXvUuVyCHr5DxL8ohaaFFzPGmgmMvwmqAITMpV/Q+tPoaHZ/PWa3t8B2WyoRcIIuu1hkaW5KkeTDNSnMA==}
+ '@rollup/rollup-linux-arm64-musl@4.28.1':
+ resolution: {integrity: sha512-QF54q8MYGAqMLrX2t7tNpi01nvq5RI59UBNx+3+37zoKX5KViPo/gk2QLhsuqok05sSCRluj0D00LzCwBikb0A==}
cpu: [arm64]
os: [linux]
- '@rollup/rollup-linux-powerpc64le-gnu@4.27.4':
- resolution: {integrity: sha512-FScrpHrO60hARyHh7s1zHE97u0KlT/RECzCKAdmI+LEoC1eDh/RDji9JgFqyO+wPDb86Oa/sXkily1+oi4FzJQ==}
+ '@rollup/rollup-linux-loongarch64-gnu@4.28.1':
+ resolution: {integrity: sha512-vPul4uodvWvLhRco2w0GcyZcdyBfpfDRgNKU+p35AWEbJ/HPs1tOUrkSueVbBS0RQHAf/A+nNtDpvw95PeVKOA==}
+ cpu: [loong64]
+ os: [linux]
+
+ '@rollup/rollup-linux-powerpc64le-gnu@4.28.1':
+ resolution: {integrity: sha512-pTnTdBuC2+pt1Rmm2SV7JWRqzhYpEILML4PKODqLz+C7Ou2apEV52h19CR7es+u04KlqplggmN9sqZlekg3R1A==}
cpu: [ppc64]
os: [linux]
- '@rollup/rollup-linux-riscv64-gnu@4.27.4':
- resolution: {integrity: sha512-qyyprhyGb7+RBfMPeww9FlHwKkCXdKHeGgSqmIXw9VSUtvyFZ6WZRtnxgbuz76FK7LyoN8t/eINRbPUcvXB5fw==}
+ '@rollup/rollup-linux-riscv64-gnu@4.28.1':
+ resolution: {integrity: sha512-vWXy1Nfg7TPBSuAncfInmAI/WZDd5vOklyLJDdIRKABcZWojNDY0NJwruY2AcnCLnRJKSaBgf/GiJfauu8cQZA==}
cpu: [riscv64]
os: [linux]
- '@rollup/rollup-linux-s390x-gnu@4.27.4':
- resolution: {integrity: sha512-PFz+y2kb6tbh7m3A7nA9++eInGcDVZUACulf/KzDtovvdTizHpZaJty7Gp0lFwSQcrnebHOqxF1MaKZd7psVRg==}
+ '@rollup/rollup-linux-s390x-gnu@4.28.1':
+ resolution: {integrity: sha512-/yqC2Y53oZjb0yz8PVuGOQQNOTwxcizudunl/tFs1aLvObTclTwZ0JhXF2XcPT/zuaymemCDSuuUPXJJyqeDOg==}
cpu: [s390x]
os: [linux]
- '@rollup/rollup-linux-x64-gnu@4.27.4':
- resolution: {integrity: sha512-Ni8mMtfo+o/G7DVtweXXV/Ol2TFf63KYjTtoZ5f078AUgJTmaIJnj4JFU7TK/9SVWTaSJGxPi5zMDgK4w+Ez7Q==}
+ '@rollup/rollup-linux-x64-gnu@4.28.1':
+ resolution: {integrity: sha512-fzgeABz7rrAlKYB0y2kSEiURrI0691CSL0+KXwKwhxvj92VULEDQLpBYLHpF49MSiPG4sq5CK3qHMnb9tlCjBw==}
cpu: [x64]
os: [linux]
- '@rollup/rollup-linux-x64-musl@4.27.4':
- resolution: {integrity: sha512-5AeeAF1PB9TUzD+3cROzFTnAJAcVUGLuR8ng0E0WXGkYhp6RD6L+6szYVX+64Rs0r72019KHZS1ka1q+zU/wUw==}
+ '@rollup/rollup-linux-x64-musl@4.28.1':
+ resolution: {integrity: sha512-xQTDVzSGiMlSshpJCtudbWyRfLaNiVPXt1WgdWTwWz9n0U12cI2ZVtWe/Jgwyv/6wjL7b66uu61Vg0POWVfz4g==}
cpu: [x64]
os: [linux]
- '@rollup/rollup-win32-arm64-msvc@4.27.4':
- resolution: {integrity: sha512-yOpVsA4K5qVwu2CaS3hHxluWIK5HQTjNV4tWjQXluMiiiu4pJj4BN98CvxohNCpcjMeTXk/ZMJBRbgRg8HBB6A==}
+ '@rollup/rollup-win32-arm64-msvc@4.28.1':
+ resolution: {integrity: sha512-wSXmDRVupJstFP7elGMgv+2HqXelQhuNf+IS4V+nUpNVi/GUiBgDmfwD0UGN3pcAnWsgKG3I52wMOBnk1VHr/A==}
cpu: [arm64]
os: [win32]
- '@rollup/rollup-win32-ia32-msvc@4.27.4':
- resolution: {integrity: sha512-KtwEJOaHAVJlxV92rNYiG9JQwQAdhBlrjNRp7P9L8Cb4Rer3in+0A+IPhJC9y68WAi9H0sX4AiG2NTsVlmqJeQ==}
+ '@rollup/rollup-win32-ia32-msvc@4.28.1':
+ resolution: {integrity: sha512-ZkyTJ/9vkgrE/Rk9vhMXhf8l9D+eAhbAVbsGsXKy2ohmJaWg0LPQLnIxRdRp/bKyr8tXuPlXhIoGlEB5XpJnGA==}
cpu: [ia32]
os: [win32]
- '@rollup/rollup-win32-x64-msvc@4.27.4':
- resolution: {integrity: sha512-3j4jx1TppORdTAoBJRd+/wJRGCPC0ETWkXOecJ6PPZLj6SptXkrXcNqdj0oclbKML6FkQltdz7bBA3rUSirZug==}
+ '@rollup/rollup-win32-x64-msvc@4.28.1':
+ resolution: {integrity: sha512-ZvK2jBafvttJjoIdKm/Q/Bh7IJ1Ose9IBOwpOXcOvW3ikGTQGmKDgxTC6oCAzW6PynbkKP8+um1du81XJHZ0JA==}
cpu: [x64]
os: [win32]
- '@swc/core-darwin-arm64@1.9.3':
- resolution: {integrity: sha512-hGfl/KTic/QY4tB9DkTbNuxy5cV4IeejpPD4zo+Lzt4iLlDWIeANL4Fkg67FiVceNJboqg48CUX+APhDHO5G1w==}
+ '@swc/core-darwin-arm64@1.10.1':
+ resolution: {integrity: sha512-NyELPp8EsVZtxH/mEqvzSyWpfPJ1lugpTQcSlMduZLj1EASLO4sC8wt8hmL1aizRlsbjCX+r0PyL+l0xQ64/6Q==}
engines: {node: '>=10'}
cpu: [arm64]
os: [darwin]
- '@swc/core-darwin-x64@1.9.3':
- resolution: {integrity: sha512-IaRq05ZLdtgF5h9CzlcgaNHyg4VXuiStnOFpfNEMuI5fm5afP2S0FHq8WdakUz5WppsbddTdplL+vpeApt/WCQ==}
+ '@swc/core-darwin-x64@1.10.1':
+ resolution: {integrity: sha512-L4BNt1fdQ5ZZhAk5qoDfUnXRabDOXKnXBxMDJ+PWLSxOGBbWE6aJTnu4zbGjJvtot0KM46m2LPAPY8ttknqaZA==}
engines: {node: '>=10'}
cpu: [x64]
os: [darwin]
- '@swc/core-linux-arm-gnueabihf@1.9.3':
- resolution: {integrity: sha512-Pbwe7xYprj/nEnZrNBvZfjnTxlBIcfApAGdz2EROhjpPj+FBqBa3wOogqbsuGGBdCphf8S+KPprL1z+oDWkmSQ==}
+ '@swc/core-linux-arm-gnueabihf@1.10.1':
+ resolution: {integrity: sha512-Y1u9OqCHgvVp2tYQAJ7hcU9qO5brDMIrA5R31rwWQIAKDkJKtv3IlTHF0hrbWk1wPR0ZdngkQSJZple7G+Grvw==}
engines: {node: '>=10'}
cpu: [arm]
os: [linux]
- '@swc/core-linux-arm64-gnu@1.9.3':
- resolution: {integrity: sha512-AQ5JZiwNGVV/2K2TVulg0mw/3LYfqpjZO6jDPtR2evNbk9Yt57YsVzS+3vHSlUBQDRV9/jqMuZYVU3P13xrk+g==}
+ '@swc/core-linux-arm64-gnu@1.10.1':
+ resolution: {integrity: sha512-tNQHO/UKdtnqjc7o04iRXng1wTUXPgVd8Y6LI4qIbHVoVPwksZydISjMcilKNLKIwOoUQAkxyJ16SlOAeADzhQ==}
engines: {node: '>=10'}
cpu: [arm64]
os: [linux]
- '@swc/core-linux-arm64-musl@1.9.3':
- resolution: {integrity: sha512-tzVH480RY6RbMl/QRgh5HK3zn1ZTFsThuxDGo6Iuk1MdwIbdFYUY034heWUTI4u3Db97ArKh0hNL0xhO3+PZdg==}
+ '@swc/core-linux-arm64-musl@1.10.1':
+ resolution: {integrity: sha512-x0L2Pd9weQ6n8dI1z1Isq00VHFvpBClwQJvrt3NHzmR+1wCT/gcYl1tp9P5xHh3ldM8Cn4UjWCw+7PaUgg8FcQ==}
engines: {node: '>=10'}
cpu: [arm64]
os: [linux]
- '@swc/core-linux-x64-gnu@1.9.3':
- resolution: {integrity: sha512-ivXXBRDXDc9k4cdv10R21ccBmGebVOwKXT/UdH1PhxUn9m/h8erAWjz5pcELwjiMf27WokqPgaWVfaclDbgE+w==}
+ '@swc/core-linux-x64-gnu@1.10.1':
+ resolution: {integrity: sha512-yyYEwQcObV3AUsC79rSzN9z6kiWxKAVJ6Ntwq2N9YoZqSPYph+4/Am5fM1xEQYf/kb99csj0FgOelomJSobxQA==}
engines: {node: '>=10'}
cpu: [x64]
os: [linux]
- '@swc/core-linux-x64-musl@1.9.3':
- resolution: {integrity: sha512-ILsGMgfnOz1HwdDz+ZgEuomIwkP1PHT6maigZxaCIuC6OPEhKE8uYna22uU63XvYcLQvZYDzpR3ms47WQPuNEg==}
+ '@swc/core-linux-x64-musl@1.10.1':
+ resolution: {integrity: sha512-tcaS43Ydd7Fk7sW5ROpaf2Kq1zR+sI5K0RM+0qYLYYurvsJruj3GhBCaiN3gkzd8m/8wkqNqtVklWaQYSDsyqA==}
engines: {node: '>=10'}
cpu: [x64]
os: [linux]
- '@swc/core-win32-arm64-msvc@1.9.3':
- resolution: {integrity: sha512-e+XmltDVIHieUnNJHtspn6B+PCcFOMYXNJB1GqoCcyinkEIQNwC8KtWgMqUucUbEWJkPc35NHy9k8aCXRmw9Kg==}
+ '@swc/core-win32-arm64-msvc@1.10.1':
+ resolution: {integrity: sha512-D3Qo1voA7AkbOzQ2UGuKNHfYGKL6eejN8VWOoQYtGHHQi1p5KK/Q7V1ku55oxXBsj79Ny5FRMqiRJpVGad7bjQ==}
engines: {node: '>=10'}
cpu: [arm64]
os: [win32]
- '@swc/core-win32-ia32-msvc@1.9.3':
- resolution: {integrity: sha512-rqpzNfpAooSL4UfQnHhkW8aL+oyjqJniDP0qwZfGnjDoJSbtPysHg2LpcOBEdSnEH+uIZq6J96qf0ZFD8AGfXA==}
+ '@swc/core-win32-ia32-msvc@1.10.1':
+ resolution: {integrity: sha512-WalYdFoU3454Og+sDKHM1MrjvxUGwA2oralknXkXL8S0I/8RkWZOB++p3pLaGbTvOO++T+6znFbQdR8KRaa7DA==}
engines: {node: '>=10'}
cpu: [ia32]
os: [win32]
- '@swc/core-win32-x64-msvc@1.9.3':
- resolution: {integrity: sha512-3YJJLQ5suIEHEKc1GHtqVq475guiyqisKSoUnoaRtxkDaW5g1yvPt9IoSLOe2mRs7+FFhGGU693RsBUSwOXSdQ==}
+ '@swc/core-win32-x64-msvc@1.10.1':
+ resolution: {integrity: sha512-JWobfQDbTnoqaIwPKQ3DVSywihVXlQMbDuwik/dDWlj33A8oEHcjPOGs4OqcA3RHv24i+lfCQpM3Mn4FAMfacA==}
engines: {node: '>=10'}
cpu: [x64]
os: [win32]
- '@swc/core@1.9.3':
- resolution: {integrity: sha512-oRj0AFePUhtatX+BscVhnzaAmWjpfAeySpM1TCbxA1rtBDeH/JDhi5yYzAKneDYtVtBvA7ApfeuzhMC9ye4xSg==}
+ '@swc/core@1.10.1':
+ resolution: {integrity: sha512-rQ4dS6GAdmtzKiCRt3LFVxl37FaY1cgL9kSUTnhQ2xc3fmHOd7jdJK/V4pSZMG1ruGTd0bsi34O2R0Olg9Zo/w==}
engines: {node: '>=10'}
peerDependencies:
'@swc/helpers': '*'
@@ -1302,15 +1298,15 @@ packages:
'@swc/types@0.1.17':
resolution: {integrity: sha512-V5gRru+aD8YVyCOMAjMpWR1Ui577DD5KSJsHP8RAxopAH22jFz6GZd/qxqjO6MJHQhcsjvjOFXyDhyLQUnMveQ==}
- '@tanstack/history@1.81.9':
- resolution: {integrity: sha512-9MPknhhnvZKifK4jSvva6NDqYQwsNaptrRzO4ejk6yCLyi4koVG4u3C4VCeClYZY5etLEQbO8wXU9knEFZpMeg==}
+ '@tanstack/history@1.87.6':
+ resolution: {integrity: sha512-5OPHcc20Ye5XR+RBkFk+64TtRJ83clrpaOcC/S8t4N0k+/xPDJpkPEPnoENb3sQeRI28y1dJaUuvXt/dv/ylaQ==}
engines: {node: '>=12'}
- '@tanstack/react-router@1.82.12':
- resolution: {integrity: sha512-A7Jx3jBNuoXDy8Ni6dS4OWkF/bWFzITOB/HFWF5TfLFs621VNhwiD0C00ZpnSyqsEuekoGg6W/q4HDVR2rlzNQ==}
+ '@tanstack/react-router@1.88.0':
+ resolution: {integrity: sha512-kC5sqBlMcfAZeHSLyTtPrscmEgjmZiT2GyrfG8muGPzsLhjcMbSbnTrMETdJccPDId/b7aNyJIyseqwxX9CTbA==}
engines: {node: '>=12'}
peerDependencies:
- '@tanstack/router-generator': 1.82.10
+ '@tanstack/router-generator': ^1.87.7
react: '>=18'
react-dom: '>=18'
peerDependenciesMeta:
@@ -1323,24 +1319,24 @@ packages:
react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
- '@tanstack/router-devtools@1.82.12':
- resolution: {integrity: sha512-KaTQwyS9b8HdTC+ZG+yxCznrs/RE2SISpDCfP+USHTFLnzteFwlixv9XX+4f4UAy1Nl0yo0qCjIusSN7kAJrCg==}
+ '@tanstack/router-devtools@1.88.0':
+ resolution: {integrity: sha512-5gpv+iSgHWNKzLITHq0bc3ND87PP7Ys0mmcnm99zf+JjSMiwYK4e3GoQ37bsByV0gf2tqJ8iRFd1w2Trgll2sw==}
engines: {node: '>=12'}
peerDependencies:
- '@tanstack/react-router': ^1.82.12
+ '@tanstack/react-router': ^1.88.0
react: '>=18'
react-dom: '>=18'
- '@tanstack/router-generator@1.82.10':
- resolution: {integrity: sha512-0wycXexEaZ8zOlHbpvl5k1L2qwFwhF4HCV5GgcyfftE4n2ifJ+XGZUqGob4yxvJVbgG5fJTnnyWkvmnNgzCSyg==}
+ '@tanstack/router-generator@1.87.7':
+ resolution: {integrity: sha512-w9Px1C6DM0YNVXvu1VjUuZ5el0ykOeofEmEZBW83VUTzvCXFpcjPCHncU9FO9uXup8NFIxNfGz+xpwf93GoFnQ==}
engines: {node: '>=12'}
- '@tanstack/router-plugin@1.82.10':
- resolution: {integrity: sha512-5hBb2sTv/pEQb0T/7V+P+tfjuq97sIcoRhiCGUCqVlCMG809Q+RQFzXdlhJhG/a0KBT5jE/He/Q1Hf+7XG5Wzg==}
+ '@tanstack/router-plugin@1.87.13':
+ resolution: {integrity: sha512-h5dD0m5ixSsmIMOrNXd4NBH2Fwx+4Mb5GK0JCUVlcegjtNQ9Zx9kdWqWXi+4P595XKCmjdHVOP4vhBr9cfwozg==}
engines: {node: '>=12'}
peerDependencies:
'@rsbuild/core': '>=1.0.2'
- vite: '>=5.0.0'
+ vite: '>=5.0.0 || >=6.0.0'
webpack: '>=5.92.0'
peerDependenciesMeta:
'@rsbuild/core':
@@ -1353,8 +1349,8 @@ packages:
'@tanstack/store@0.6.0':
resolution: {integrity: sha512-+m2OBglsjXcLmmKOX6/9v8BDOCtyxhMmZLsRUDswOOSdIIR9mvv6i0XNKsmTh3AlYU8c1mRcodC8/Vyf+69VlQ==}
- '@tanstack/virtual-file-routes@1.81.9':
- resolution: {integrity: sha512-jV5mWJrsh3QXHpb/by6udSqwva0qK50uYHpIXvKsLaxnlbjbLfflfPjFyRWXbMtZsnzCjSUqp5pm5/p+Wpaerg==}
+ '@tanstack/virtual-file-routes@1.87.6':
+ resolution: {integrity: sha512-PTpeM8SHL7AJM0pJOacFvHribbUODS51qe9NsMqku4mogh6BWObY1EeVmeGnp9o3VngAEsf+rJMs2zqIVz3WFA==}
engines: {node: '>=12'}
'@titaniumnetwork-dev/ultraviolet@3.2.10':
@@ -1403,20 +1399,22 @@ packages:
'@types/ms@0.7.34':
resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==}
- '@types/node@22.10.0':
- resolution: {integrity: sha512-XC70cRZVElFHfIUB40FgZOBbgJYFKKMa5nb9lxcwYstFG/Mi+/Y0bGS+rs6Dmhmkpq4pnNiLiuZAbc02YCOnmA==}
+ '@types/node@22.10.2':
+ resolution: {integrity: sha512-Xxr6BBRCAOQixvonOye19wnzyDiUtTeqldOOmj3CkeblonbccA12PFwlufvRdrpjXxqnmUaeiU5EOA+7s5diUQ==}
- '@types/prop-types@15.7.13':
- resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==}
+ '@types/prop-types@15.7.14':
+ resolution: {integrity: sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==}
- '@types/react-dom@18.3.1':
- resolution: {integrity: sha512-qW1Mfv8taImTthu4KoXgDfLuk4bydU6Q/TkADnDWWHwi4NX4BR+LWfTp2sVmTqRrsHvyDDTelgelxJ+SsejKKQ==}
+ '@types/react-dom@18.3.5':
+ resolution: {integrity: sha512-P4t6saawp+b/dFrUr2cvkVsfvPguwsxtH6dNIYRllMsefqFzkZk5UIjzyDOv5g1dXIPdG4Sp1yCR4Z6RCUsG/Q==}
+ peerDependencies:
+ '@types/react': ^18.0.0
'@types/react-syntax-highlighter@15.5.13':
resolution: {integrity: sha512-uLGJ87j6Sz8UaBAooU0T6lWJ0dBmjZgN1PZTrj05TNql2/XpC6+4HhMT5syIdFUUt+FASfCeLLv4kBygNU+8qA==}
- '@types/react@18.3.12':
- resolution: {integrity: sha512-D2wOSq/d6Agt28q7rSI3jhU7G6aiuzljDGZ2hTZHIkrTLUI+AF3WMeKkEZ9nN2fkBAlcktT6vcZjDFiIhMYEQw==}
+ '@types/react@18.3.16':
+ resolution: {integrity: sha512-oh8AMIC4Y2ciKufU8hnKgs+ufgbA/dhPTACaZPM86AbwX9QwnFtSoPWEeRUj8fge+v6kFt78BXcDhAU1SrrAsw==}
'@types/unist@2.0.11':
resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==}
@@ -1424,70 +1422,55 @@ packages:
'@types/unist@3.0.3':
resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==}
- '@typescript-eslint/eslint-plugin@8.16.0':
- resolution: {integrity: sha512-5YTHKV8MYlyMI6BaEG7crQ9BhSc8RxzshOReKwZwRWN0+XvvTOm+L/UYLCYxFpfwYuAAqhxiq4yae0CMFwbL7Q==}
+ '@typescript-eslint/eslint-plugin@8.18.0':
+ resolution: {integrity: sha512-NR2yS7qUqCL7AIxdJUQf2MKKNDVNaig/dEB0GBLU7D+ZdHgK1NoH/3wsgO3OnPVipn51tG3MAwaODEGil70WEw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
'@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0
eslint: ^8.57.0 || ^9.0.0
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
+ typescript: '>=4.8.4 <5.8.0'
- '@typescript-eslint/parser@8.16.0':
- resolution: {integrity: sha512-D7DbgGFtsqIPIFMPJwCad9Gfi/hC0PWErRRHFnaCWoEDYi5tQUDiJCTmGUbBiLzjqAck4KcXt9Ayj0CNlIrF+w==}
+ '@typescript-eslint/parser@8.18.0':
+ resolution: {integrity: sha512-hgUZ3kTEpVzKaK3uNibExUYm6SKKOmTU2BOxBSvOYwtJEPdVQ70kZJpPjstlnhCHcuc2WGfSbpKlb/69ttyN5Q==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
+ typescript: '>=4.8.4 <5.8.0'
- '@typescript-eslint/scope-manager@8.16.0':
- resolution: {integrity: sha512-mwsZWubQvBki2t5565uxF0EYvG+FwdFb8bMtDuGQLdCCnGPrDEDvm1gtfynuKlnpzeBRqdFCkMf9jg1fnAK8sg==}
+ '@typescript-eslint/scope-manager@8.18.0':
+ resolution: {integrity: sha512-PNGcHop0jkK2WVYGotk/hxj+UFLhXtGPiGtiaWgVBVP1jhMoMCHlTyJA+hEj4rszoSdLTK3fN4oOatrL0Cp+Xw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@typescript-eslint/type-utils@8.16.0':
- resolution: {integrity: sha512-IqZHGG+g1XCWX9NyqnI/0CX5LL8/18awQqmkZSl2ynn8F76j579dByc0jhfVSnSnhf7zv76mKBQv9HQFKvDCgg==}
+ '@typescript-eslint/type-utils@8.18.0':
+ resolution: {integrity: sha512-er224jRepVAVLnMF2Q7MZJCq5CsdH2oqjP4dT7K6ij09Kyd+R21r7UVJrF0buMVdZS5QRhDzpvzAxHxabQadow==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
+ typescript: '>=4.8.4 <5.8.0'
- '@typescript-eslint/types@8.16.0':
- resolution: {integrity: sha512-NzrHj6thBAOSE4d9bsuRNMvk+BvaQvmY4dDglgkgGC0EW/tB3Kelnp3tAKH87GEwzoxgeQn9fNGRyFJM/xd+GQ==}
+ '@typescript-eslint/types@8.18.0':
+ resolution: {integrity: sha512-FNYxgyTCAnFwTrzpBGq+zrnoTO4x0c1CKYY5MuUTzpScqmY5fmsh2o3+57lqdI3NZucBDCzDgdEbIaNfAjAHQA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@typescript-eslint/typescript-estree@8.16.0':
- resolution: {integrity: sha512-E2+9IzzXMc1iaBy9zmo+UYvluE3TW7bCGWSF41hVWUE01o8nzr1rvOQYSxelxr6StUvRcTMe633eY8mXASMaNw==}
+ '@typescript-eslint/typescript-estree@8.18.0':
+ resolution: {integrity: sha512-rqQgFRu6yPkauz+ms3nQpohwejS8bvgbPyIDq13cgEDbkXt4LH4OkDMT0/fN1RUtzG8e8AKJyDBoocuQh8qNeg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
+ typescript: '>=4.8.4 <5.8.0'
- '@typescript-eslint/utils@8.16.0':
- resolution: {integrity: sha512-C1zRy/mOL8Pj157GiX4kaw7iyRLKfJXBR3L82hk5kS/GyHcOFmy4YUq/zfZti72I9wnuQtA/+xzft4wCC8PJdA==}
+ '@typescript-eslint/utils@8.18.0':
+ resolution: {integrity: sha512-p6GLdY383i7h5b0Qrfbix3Vc3+J2k6QWw6UMUeY5JGfm3C5LbZ4QIZzJNoNOfgyRe0uuYKjvVOsO/jD4SJO+xg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
+ typescript: '>=4.8.4 <5.8.0'
- '@typescript-eslint/visitor-keys@8.16.0':
- resolution: {integrity: sha512-pq19gbaMOmFE3CbL0ZB8J8BFCo2ckfHBfaIsaOZgBIF4EoISJIdLX5xRhd0FGB0LlHReNRuzoJoMGpTjq8F2CQ==}
+ '@typescript-eslint/visitor-keys@8.18.0':
+ resolution: {integrity: sha512-pCh/qEA8Lb1wVIqNvBke8UaRjJ6wrAWkJO5yyIbs8Yx6TNGYyfNjOo61tLv+WwLvoLPp4BQ8B7AHKijl8NGUfw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@ungap/structured-clone@1.2.0':
- resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
+ '@ungap/structured-clone@1.2.1':
+ resolution: {integrity: sha512-fEzPV3hSkSMltkw152tJKNARhOupqbH96MZWyRjNaYZOMIzbrTeQDG+MTc6Mr2pgzFQzFxAfmhGDNP5QK++2ZA==}
'@vitejs/plugin-react-swc@3.7.2':
resolution: {integrity: sha512-y0byko2b2tSVVf5Gpng1eEhX1OvPC7x8yns1Fx8jDzlJp4LS6CMkCPfLw47cjyoMrshQDoQw4qcgjsU9VvlCew==}
@@ -1602,8 +1585,8 @@ packages:
resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
engines: {node: '>=8'}
- browserslist@4.24.2:
- resolution: {integrity: sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==}
+ browserslist@4.24.3:
+ resolution: {integrity: sha512-1CPmv8iobE2fyRMV97dAcMVegvvWKxmq94hkLiAkUGwKVTyDLw33K+ZxiFrREKmmps4rIw6grcCFCnTMSZ/YiA==}
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
hasBin: true
@@ -1619,8 +1602,8 @@ packages:
resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
engines: {node: '>= 6'}
- caniuse-lite@1.0.30001684:
- resolution: {integrity: sha512-G1LRwLIQjBQoyq0ZJGqGIJUXzJ8irpbjHLpVRXDvBEScFJ9b17sgK6vlx0GAJFE21okD7zXl08rRRUfq6HdoEQ==}
+ caniuse-lite@1.0.30001688:
+ resolution: {integrity: sha512-Nmqpru91cuABu/DTCXbM2NSRHzM2uVHfPnhJ/1zEAJx/ILBRVmz3pzH4N7DZqbdG0gWClsCC05Oj0mJ/1AWMbA==}
ccount@2.0.1:
resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
@@ -1747,8 +1730,8 @@ packages:
csstype@3.1.3:
resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
- debug@4.3.7:
- resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==}
+ debug@4.4.0:
+ resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==}
engines: {node: '>=6.0'}
peerDependencies:
supports-color: '*'
@@ -1799,15 +1782,15 @@ packages:
domutils@3.1.0:
resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==}
- dotenv@16.4.5:
- resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==}
+ dotenv@16.4.7:
+ resolution: {integrity: sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==}
engines: {node: '>=12'}
eastasianwidth@0.2.0:
resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
- electron-to-chromium@1.5.65:
- resolution: {integrity: sha512-PWVzBjghx7/wop6n22vS2MLU8tKGd4Q91aCEGhG/TYmW6PP5OcSXcdnxTe1NNt0T66N8D6jxh4kC8UsdzOGaIw==}
+ electron-to-chromium@1.5.73:
+ resolution: {integrity: sha512-8wGNxG9tAG5KhGd3eeA0o6ixhiNdgr0DcHWm85XPCphwZgD1lIEoi6t3VERayWao7SF7AAZTw6oARGJeVjH8Kg==}
emoji-regex@8.0.0:
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
@@ -1850,10 +1833,10 @@ packages:
peerDependencies:
eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0
- eslint-plugin-react-refresh@0.4.14:
- resolution: {integrity: sha512-aXvzCTK7ZBv1e7fahFuR3Z/fyQQSIQ711yPgYRj+Oj64tyTgO4iQIDmYXDBqvSWQ/FA4OSCsXOStlF+noU0/NA==}
+ eslint-plugin-react-refresh@0.4.16:
+ resolution: {integrity: sha512-slterMlxAhov/DZO8NScf6mEeMBBXodFUolijDvrtTxyezyLoTQaa73FyYus/VbTdftd8wBgBxPMRk3poleXNQ==}
peerDependencies:
- eslint: '>=7'
+ eslint: '>=8.40'
eslint-scope@8.2.0:
resolution: {integrity: sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==}
@@ -1867,8 +1850,8 @@ packages:
resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- eslint@9.15.0:
- resolution: {integrity: sha512-7CrWySmIibCgT1Os28lUU6upBshZ+GxybLOrmRzi08kS8MBuO8QA7pXEgYgY5W8vK3e74xv0lpjo9DbaGU9Rkw==}
+ eslint@9.17.0:
+ resolution: {integrity: sha512-evtlNcpJg+cZLcnVKwsai8fExnqjGPicK7gnUtlNuzu+Fv9bI0aLpND5T44VLQtoMEnI57LoXO9XAkIXwohKrA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
hasBin: true
peerDependencies:
@@ -1992,12 +1975,12 @@ packages:
fraction.js@4.3.7:
resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
- framer-motion@11.11.17:
- resolution: {integrity: sha512-O8QzvoKiuzI5HSAHbcYuL6xU+ZLXbrH7C8Akaato4JzQbX2ULNeniqC2Vo5eiCtFktX9XsJ+7nUhxcl2E2IjpA==}
+ framer-motion@11.14.4:
+ resolution: {integrity: sha512-NQuzr9JbeJDMQmy0FFLhLzk9h1kAjVC1tGE/HY4ubF02B95EBm2lpA21LE3Od/OpXqXgp0zl5Hdqu25hliBRsA==}
peerDependencies:
'@emotion/is-prop-valid': '*'
- react: ^18.0.0
- react-dom: ^18.0.0
+ react: ^18.0.0 || ^19.0.0
+ react-dom: ^18.0.0 || ^19.0.0
peerDependenciesMeta:
'@emotion/is-prop-valid':
optional: true
@@ -2058,8 +2041,8 @@ packages:
resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
engines: {node: '>=18'}
- globals@15.12.0:
- resolution: {integrity: sha512-1+gLErljJFhbOVyaetcwJiJ4+eLe45S2E7P5UiZ9xGfeq3ATQf5DOv9G7MH3gGbKQLkzmNh2DxfZwLdw+j6oTQ==}
+ globals@15.13.0:
+ resolution: {integrity: sha512-49TewVEz0UxZjr1WYYsWpPrhyC/B/pA8Bq0fUmet2n+eR7yn0IvNzNaoBwnK6mdkzcN+se7Ez9zUgULTz2QH4g==}
engines: {node: '>=18'}
goober@2.1.16:
@@ -2153,8 +2136,8 @@ packages:
resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
engines: {node: '>=8'}
- is-core-module@2.15.1:
- resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==}
+ is-core-module@2.16.0:
+ resolution: {integrity: sha512-urTSINYfAYgcbLb0yDQ6egFm6h3Mo1DcF9EkyXSRjjzdHbsulg01qhwWuXdOoUBuTkbQ80KDboXa0vFJ+BDH+g==}
engines: {node: '>= 0.4'}
is-decimal@1.0.4:
@@ -2210,8 +2193,8 @@ packages:
resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
hasBin: true
- jsesc@3.0.2:
- resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==}
+ jsesc@3.1.0:
+ resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==}
engines: {node: '>=6'}
hasBin: true
@@ -2251,12 +2234,8 @@ packages:
light-my-request@6.3.0:
resolution: {integrity: sha512-bWTAPJmeWQH5suJNYwG0f5cs0p6ho9e6f1Ppoxv5qMosY+s9Ir2+ZLvvHcgA7VTDop4zl/NCHhOVVqU+kd++Ow==}
- lilconfig@2.1.0:
- resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
- engines: {node: '>=10'}
-
- lilconfig@3.1.2:
- resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==}
+ lilconfig@3.1.3:
+ resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==}
engines: {node: '>=14'}
lines-and-columns@1.2.4:
@@ -2467,6 +2446,12 @@ packages:
resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
engines: {node: '>=16 || 14 >=14.17'}
+ motion-dom@11.14.3:
+ resolution: {integrity: sha512-lW+D2wBy5vxLJi6aCP0xyxTxlTfiu+b+zcpVbGVFUxotwThqhdpPRSmX8xztAgtZMPMeU0WGVn/k1w4I+TbPqA==}
+
+ motion-utils@11.14.3:
+ resolution: {integrity: sha512-Xg+8xnqIJTpr0L/cidfTTBFkvRw26ZtGGuIhA94J9PQ2p4mEa06Xx7QVYZH0BP+EpMSaDlu+q0I0mmvwADPsaQ==}
+
ms@2.1.3:
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
@@ -2485,8 +2470,8 @@ packages:
resolution: {integrity: sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==}
hasBin: true
- node-releases@2.0.18:
- resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==}
+ node-releases@2.0.19:
+ resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==}
normalize-path@3.0.0:
resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
@@ -2533,8 +2518,8 @@ packages:
parse-entities@2.0.0:
resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==}
- parse-entities@4.0.1:
- resolution: {integrity: sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==}
+ parse-entities@4.0.2:
+ resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==}
parse5@7.2.1:
resolution: {integrity: sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==}
@@ -2631,8 +2616,8 @@ packages:
resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
engines: {node: '>= 0.8.0'}
- prettier@3.4.1:
- resolution: {integrity: sha512-G+YdqtITVZmOJje6QkXQWzl3fSfMxFwm1tjTyo9exhkmWSqC4Yhd1+lug++IlR2mvRVAxEDDWYkQdeSztajqgg==}
+ prettier@3.4.2:
+ resolution: {integrity: sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==}
engines: {node: '>=14'}
hasBin: true
@@ -2776,8 +2761,8 @@ packages:
resolve-pkg-maps@1.0.0:
resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
- resolve@1.22.8:
- resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
+ resolve@1.22.9:
+ resolution: {integrity: sha512-QxrmX1DzraFIi9PxdG5VkRfRwIgjwyud+z/iBwfRRrVmHc+P9Q7u2lSSpQ6bjr2gy5lrqIiU9vb6iAeGf2400A==}
hasBin: true
ret@0.5.0:
@@ -2791,8 +2776,8 @@ packages:
rfdc@1.4.1:
resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==}
- rollup@4.27.4:
- resolution: {integrity: sha512-RLKxqHEMjh/RGLsDxAEsaLO3mWgyoU6x9w6n1ikAzet4B3gI2/3yP6PWY2p9QzRTh6MfEIXB3MwsOY0Iv3vNrw==}
+ rollup@4.28.1:
+ resolution: {integrity: sha512-61fXYl/qNVinKmGSTHAZ6Yy8I3YIJC/r2m9feHo6SwVAVcLT5MPwOUFe7EuURA/4m0NR8lXG4BBXuo/IZEsjMg==}
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
hasBin: true
@@ -2845,8 +2830,9 @@ packages:
resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
engines: {node: '>=8'}
- shell-quote@1.8.1:
- resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==}
+ shell-quote@1.8.2:
+ resolution: {integrity: sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA==}
+ engines: {node: '>= 0.4'}
signal-exit@4.1.0:
resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
@@ -2932,8 +2918,8 @@ packages:
peerDependencies:
tailwindcss: '>=3.0.0 || insiders'
- tailwindcss@3.4.15:
- resolution: {integrity: sha512-r4MeXnfBmSOuKUWmXe6h2CcyfzJCEk4F0pptO5jlnYSIViUkVmsawj80N5h2lO3gwcmSb4n3PuN+e+GC1Guylw==}
+ tailwindcss@3.4.16:
+ resolution: {integrity: sha512-TI4Cyx7gDiZ6r44ewaJmt0o6BrMCT5aK5e0rmJ/G9Xq3w7CX/5VXl/zIPEJZFUK5VEqwByyhqNPycPlvcK4ZNw==}
engines: {node: '>=14.0.0'}
hasBin: true
@@ -2975,8 +2961,8 @@ packages:
trough@2.2.0:
resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==}
- ts-api-utils@1.4.2:
- resolution: {integrity: sha512-ZF5gQIQa/UmzfvxbHZI3JXN0/Jt+vnAfAviNRAMc491laiK6YCLpCW9ft8oaCRFOTxCZtUTE6XB0ZQAe3olntw==}
+ ts-api-utils@1.4.3:
+ resolution: {integrity: sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==}
engines: {node: '>=16'}
peerDependencies:
typescript: '>=4.2.0'
@@ -2996,15 +2982,12 @@ packages:
resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
engines: {node: '>= 0.8.0'}
- typescript-eslint@8.16.0:
- resolution: {integrity: sha512-wDkVmlY6O2do4V+lZd0GtRfbtXbeD0q9WygwXXSJnC1xorE8eqyC2L1tJimqpSeFrOzRlYtWnUp/uzgHQOgfBQ==}
+ typescript-eslint@8.18.0:
+ resolution: {integrity: sha512-Xq2rRjn6tzVpAyHr3+nmSg1/9k9aIHnJ2iZeOH7cfGOWqTkXTm3kwpQglEuLGdNrYvPF+2gtAs+/KF5rjVo+WQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
+ typescript: '>=4.8.4 <5.8.0'
typescript@5.7.2:
resolution: {integrity: sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==}
@@ -3069,10 +3052,10 @@ packages:
'@types/react':
optional: true
- use-sync-external-store@1.2.2:
- resolution: {integrity: sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==}
+ use-sync-external-store@1.4.0:
+ resolution: {integrity: sha512-9WXSPC5fMv61vaupRkCKCxsPxBocVnwakBEkMIHHpkTTg6icbJtg6jzgtLDm4bl3cSHAca52rYWih0k4K3PfHw==}
peerDependencies:
- react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
utf-8-validate@6.0.5:
resolution: {integrity: sha512-EYZR+OpIXp9Y1eG1iueg8KRsY8TuT8VNgnanZ0uA3STqhHQTLwbl+WX76/9X5OY12yQubymBpaBSmMPkSTQcKA==}
@@ -3193,8 +3176,8 @@ packages:
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
engines: {node: '>=10'}
- zod@3.23.8:
- resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==}
+ zod@3.24.1:
+ resolution: {integrity: sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A==}
zustand@5.0.0-rc.2:
resolution: {integrity: sha512-o2Nwuvnk8vQBX7CcHL8WfFkZNJdxB/VKeWw0tNglw8p4cypsZ3tRT7rTRTDNeUPFS0qaMBRSKe+fVwL5xpcE3A==}
@@ -3223,7 +3206,7 @@ snapshots:
'@ampproject/remapping@2.3.0':
dependencies:
- '@jridgewell/gen-mapping': 0.3.5
+ '@jridgewell/gen-mapping': 0.3.8
'@jridgewell/trace-mapping': 0.3.25
'@babel/code-frame@7.26.2':
@@ -3232,48 +3215,48 @@ snapshots:
js-tokens: 4.0.0
picocolors: 1.1.1
- '@babel/compat-data@7.26.2': {}
+ '@babel/compat-data@7.26.3': {}
'@babel/core@7.26.0':
dependencies:
'@ampproject/remapping': 2.3.0
'@babel/code-frame': 7.26.2
- '@babel/generator': 7.26.2
+ '@babel/generator': 7.26.3
'@babel/helper-compilation-targets': 7.25.9
'@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0)
'@babel/helpers': 7.26.0
- '@babel/parser': 7.26.2
+ '@babel/parser': 7.26.3
'@babel/template': 7.25.9
- '@babel/traverse': 7.25.9
- '@babel/types': 7.26.0
+ '@babel/traverse': 7.26.4
+ '@babel/types': 7.26.3
convert-source-map: 2.0.0
- debug: 4.3.7
+ debug: 4.4.0
gensync: 1.0.0-beta.2
json5: 2.2.3
semver: 6.3.1
transitivePeerDependencies:
- supports-color
- '@babel/generator@7.26.2':
+ '@babel/generator@7.26.3':
dependencies:
- '@babel/parser': 7.26.2
- '@babel/types': 7.26.0
- '@jridgewell/gen-mapping': 0.3.5
+ '@babel/parser': 7.26.3
+ '@babel/types': 7.26.3
+ '@jridgewell/gen-mapping': 0.3.8
'@jridgewell/trace-mapping': 0.3.25
- jsesc: 3.0.2
+ jsesc: 3.1.0
'@babel/helper-compilation-targets@7.25.9':
dependencies:
- '@babel/compat-data': 7.26.2
+ '@babel/compat-data': 7.26.3
'@babel/helper-validator-option': 7.25.9
- browserslist: 4.24.2
+ browserslist: 4.24.3
lru-cache: 5.1.1
semver: 6.3.1
'@babel/helper-module-imports@7.25.9':
dependencies:
- '@babel/traverse': 7.25.9
- '@babel/types': 7.26.0
+ '@babel/traverse': 7.26.4
+ '@babel/types': 7.26.3
transitivePeerDependencies:
- supports-color
@@ -3282,7 +3265,7 @@ snapshots:
'@babel/core': 7.26.0
'@babel/helper-module-imports': 7.25.9
'@babel/helper-validator-identifier': 7.25.9
- '@babel/traverse': 7.25.9
+ '@babel/traverse': 7.26.4
transitivePeerDependencies:
- supports-color
@@ -3297,11 +3280,11 @@ snapshots:
'@babel/helpers@7.26.0':
dependencies:
'@babel/template': 7.25.9
- '@babel/types': 7.26.0
+ '@babel/types': 7.26.3
- '@babel/parser@7.26.2':
+ '@babel/parser@7.26.3':
dependencies:
- '@babel/types': 7.26.0
+ '@babel/types': 7.26.3
'@babel/plugin-syntax-jsx@7.25.9(@babel/core@7.26.0)':
dependencies:
@@ -3320,22 +3303,22 @@ snapshots:
'@babel/template@7.25.9':
dependencies:
'@babel/code-frame': 7.26.2
- '@babel/parser': 7.26.2
- '@babel/types': 7.26.0
+ '@babel/parser': 7.26.3
+ '@babel/types': 7.26.3
- '@babel/traverse@7.25.9':
+ '@babel/traverse@7.26.4':
dependencies:
'@babel/code-frame': 7.26.2
- '@babel/generator': 7.26.2
- '@babel/parser': 7.26.2
+ '@babel/generator': 7.26.3
+ '@babel/parser': 7.26.3
'@babel/template': 7.25.9
- '@babel/types': 7.26.0
- debug: 4.3.7
+ '@babel/types': 7.26.3
+ debug: 4.4.0
globals: 11.12.0
transitivePeerDependencies:
- supports-color
- '@babel/types@7.26.0':
+ '@babel/types@7.26.3':
dependencies:
'@babel/helper-string-parser': 7.25.9
'@babel/helper-validator-identifier': 7.25.9
@@ -3486,27 +3469,29 @@ snapshots:
'@esbuild/win32-x64@0.23.1':
optional: true
- '@eslint-community/eslint-utils@4.4.1(eslint@9.15.0(jiti@1.21.6))':
+ '@eslint-community/eslint-utils@4.4.1(eslint@9.17.0(jiti@1.21.6))':
dependencies:
- eslint: 9.15.0(jiti@1.21.6)
+ eslint: 9.17.0(jiti@1.21.6)
eslint-visitor-keys: 3.4.3
'@eslint-community/regexpp@4.12.1': {}
- '@eslint/config-array@0.19.0':
+ '@eslint/config-array@0.19.1':
dependencies:
- '@eslint/object-schema': 2.1.4
- debug: 4.3.7
+ '@eslint/object-schema': 2.1.5
+ debug: 4.4.0
minimatch: 3.1.2
transitivePeerDependencies:
- supports-color
- '@eslint/core@0.9.0': {}
+ '@eslint/core@0.9.1':
+ dependencies:
+ '@types/json-schema': 7.0.15
'@eslint/eslintrc@3.2.0':
dependencies:
ajv: 6.12.6
- debug: 4.3.7
+ debug: 4.4.0
espree: 10.3.0
globals: 14.0.0
ignore: 5.3.2
@@ -3517,11 +3502,11 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@eslint/js@9.15.0': {}
+ '@eslint/js@9.17.0': {}
- '@eslint/object-schema@2.1.4': {}
+ '@eslint/object-schema@2.1.5': {}
- '@eslint/plugin-kit@0.2.3':
+ '@eslint/plugin-kit@0.2.4':
dependencies:
levn: 0.4.1
@@ -3543,7 +3528,7 @@ snapshots:
dependencies:
fast-deep-equal: 3.1.3
- '@fastify/send@3.2.0':
+ '@fastify/send@3.3.0':
dependencies:
'@lukeed/ms': 2.0.2
escape-html: 1.0.3
@@ -3554,7 +3539,7 @@ snapshots:
'@fastify/static@8.0.3':
dependencies:
'@fastify/accept-negotiator': 2.0.0
- '@fastify/send': 3.2.0
+ '@fastify/send': 3.3.0
content-disposition: 0.5.4
fastify-plugin: 5.0.1
fastq: 1.17.1
@@ -3674,7 +3659,7 @@ snapshots:
wrap-ansi: 8.1.0
wrap-ansi-cjs: wrap-ansi@7.0.0
- '@jridgewell/gen-mapping@0.3.5':
+ '@jridgewell/gen-mapping@0.3.8':
dependencies:
'@jridgewell/set-array': 1.2.1
'@jridgewell/sourcemap-codec': 1.5.0
@@ -3695,11 +3680,11 @@ snapshots:
'@mercuryworkshop/bare-mux@2.1.7': {}
- '@mercuryworkshop/epoxy-tls@2.1.15-1': {}
+ '@mercuryworkshop/epoxy-tls@2.1.16-1': {}
- '@mercuryworkshop/epoxy-transport@2.1.26':
+ '@mercuryworkshop/epoxy-transport@2.1.27':
dependencies:
- '@mercuryworkshop/epoxy-tls': 2.1.15-1
+ '@mercuryworkshop/epoxy-tls': 2.1.16-1
'@mercuryworkshop/libcurl-transport@1.3.14':
dependencies:
@@ -3722,422 +3707,419 @@ snapshots:
'@radix-ui/number@1.1.0': {}
- '@radix-ui/primitive@1.1.0': {}
+ '@radix-ui/primitive@1.1.1': {}
- '@radix-ui/react-arrow@1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@radix-ui/react-arrow@1.1.1(@types/react-dom@18.3.5(@types/react@18.3.16))(@types/react@18.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
- '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.16))(@types/react@18.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
optionalDependencies:
- '@types/react': 18.3.12
- '@types/react-dom': 18.3.1
+ '@types/react': 18.3.16
+ '@types/react-dom': 18.3.5(@types/react@18.3.16)
- '@radix-ui/react-collection@1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@radix-ui/react-collection@1.1.1(@types/react-dom@18.3.5(@types/react@18.3.16))(@types/react@18.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
- '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-context': 1.1.0(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-slot': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.16)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.1(@types/react@18.3.16)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.16))(@types/react@18.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-slot': 1.1.1(@types/react@18.3.16)(react@18.3.1)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
optionalDependencies:
- '@types/react': 18.3.12
- '@types/react-dom': 18.3.1
-
- '@radix-ui/react-compose-refs@1.1.0(@types/react@18.3.12)(react@18.3.1)':
- dependencies:
- react: 18.3.1
- optionalDependencies:
- '@types/react': 18.3.12
+ '@types/react': 18.3.16
+ '@types/react-dom': 18.3.5(@types/react@18.3.16)
- '@radix-ui/react-context@1.1.0(@types/react@18.3.12)(react@18.3.1)':
+ '@radix-ui/react-compose-refs@1.1.1(@types/react@18.3.16)(react@18.3.1)':
dependencies:
react: 18.3.1
optionalDependencies:
- '@types/react': 18.3.12
+ '@types/react': 18.3.16
- '@radix-ui/react-context@1.1.1(@types/react@18.3.12)(react@18.3.1)':
+ '@radix-ui/react-context@1.1.1(@types/react@18.3.16)(react@18.3.1)':
dependencies:
react: 18.3.1
optionalDependencies:
- '@types/react': 18.3.12
-
- '@radix-ui/react-dialog@1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@radix-ui/primitive': 1.1.0
- '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-dismissable-layer': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-focus-scope': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-portal': 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-presence': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-slot': 1.1.0(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@types/react': 18.3.16
+
+ '@radix-ui/react-dialog@1.1.3(@types/react-dom@18.3.5(@types/react@18.3.16))(@types/react@18.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.1
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.16)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.1(@types/react@18.3.16)(react@18.3.1)
+ '@radix-ui/react-dismissable-layer': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.16))(@types/react@18.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.16)(react@18.3.1)
+ '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@18.3.5(@types/react@18.3.16))(@types/react@18.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-id': 1.1.0(@types/react@18.3.16)(react@18.3.1)
+ '@radix-ui/react-portal': 1.1.3(@types/react-dom@18.3.5(@types/react@18.3.16))(@types/react@18.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.16))(@types/react@18.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.16))(@types/react@18.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-slot': 1.1.1(@types/react@18.3.16)(react@18.3.1)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.16)(react@18.3.1)
aria-hidden: 1.2.4
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
- react-remove-scroll: 2.6.0(@types/react@18.3.12)(react@18.3.1)
+ react-remove-scroll: 2.6.0(@types/react@18.3.16)(react@18.3.1)
optionalDependencies:
- '@types/react': 18.3.12
- '@types/react-dom': 18.3.1
+ '@types/react': 18.3.16
+ '@types/react-dom': 18.3.5(@types/react@18.3.16)
- '@radix-ui/react-direction@1.1.0(@types/react@18.3.12)(react@18.3.1)':
+ '@radix-ui/react-direction@1.1.0(@types/react@18.3.16)(react@18.3.1)':
dependencies:
react: 18.3.1
optionalDependencies:
- '@types/react': 18.3.12
+ '@types/react': 18.3.16
- '@radix-ui/react-dismissable-layer@1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@radix-ui/react-dismissable-layer@1.1.2(@types/react-dom@18.3.5(@types/react@18.3.16))(@types/react@18.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
- '@radix-ui/primitive': 1.1.0
- '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/primitive': 1.1.1
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.16)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.16))(@types/react@18.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.16)(react@18.3.1)
+ '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@18.3.16)(react@18.3.1)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
optionalDependencies:
- '@types/react': 18.3.12
- '@types/react-dom': 18.3.1
-
- '@radix-ui/react-dropdown-menu@2.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@radix-ui/primitive': 1.1.0
- '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-menu': 2.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@types/react': 18.3.16
+ '@types/react-dom': 18.3.5(@types/react@18.3.16)
+
+ '@radix-ui/react-dropdown-menu@2.1.3(@types/react-dom@18.3.5(@types/react@18.3.16))(@types/react@18.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.1
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.16)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.1(@types/react@18.3.16)(react@18.3.1)
+ '@radix-ui/react-id': 1.1.0(@types/react@18.3.16)(react@18.3.1)
+ '@radix-ui/react-menu': 2.1.3(@types/react-dom@18.3.5(@types/react@18.3.16))(@types/react@18.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.16))(@types/react@18.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.16)(react@18.3.1)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
optionalDependencies:
- '@types/react': 18.3.12
- '@types/react-dom': 18.3.1
+ '@types/react': 18.3.16
+ '@types/react-dom': 18.3.5(@types/react@18.3.16)
- '@radix-ui/react-focus-guards@1.1.1(@types/react@18.3.12)(react@18.3.1)':
+ '@radix-ui/react-focus-guards@1.1.1(@types/react@18.3.16)(react@18.3.1)':
dependencies:
react: 18.3.1
optionalDependencies:
- '@types/react': 18.3.12
+ '@types/react': 18.3.16
- '@radix-ui/react-focus-scope@1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@radix-ui/react-focus-scope@1.1.1(@types/react-dom@18.3.5(@types/react@18.3.16))(@types/react@18.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
- '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.16)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.16))(@types/react@18.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.16)(react@18.3.1)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
optionalDependencies:
- '@types/react': 18.3.12
- '@types/react-dom': 18.3.1
+ '@types/react': 18.3.16
+ '@types/react-dom': 18.3.5(@types/react@18.3.16)
'@radix-ui/react-icons@1.3.2(react@18.3.1)':
dependencies:
react: 18.3.1
- '@radix-ui/react-id@1.1.0(@types/react@18.3.12)(react@18.3.1)':
+ '@radix-ui/react-id@1.1.0(@types/react@18.3.16)(react@18.3.1)':
dependencies:
- '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.16)(react@18.3.1)
react: 18.3.1
optionalDependencies:
- '@types/react': 18.3.12
-
- '@radix-ui/react-menu@2.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@radix-ui/primitive': 1.1.0
- '@radix-ui/react-collection': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-direction': 1.1.0(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-dismissable-layer': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-focus-scope': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-popper': 1.2.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-portal': 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-presence': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-roving-focus': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-slot': 1.1.0(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@types/react': 18.3.16
+
+ '@radix-ui/react-menu@2.1.3(@types/react-dom@18.3.5(@types/react@18.3.16))(@types/react@18.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.1
+ '@radix-ui/react-collection': 1.1.1(@types/react-dom@18.3.5(@types/react@18.3.16))(@types/react@18.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.16)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.1(@types/react@18.3.16)(react@18.3.1)
+ '@radix-ui/react-direction': 1.1.0(@types/react@18.3.16)(react@18.3.1)
+ '@radix-ui/react-dismissable-layer': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.16))(@types/react@18.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.16)(react@18.3.1)
+ '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@18.3.5(@types/react@18.3.16))(@types/react@18.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-id': 1.1.0(@types/react@18.3.16)(react@18.3.1)
+ '@radix-ui/react-popper': 1.2.1(@types/react-dom@18.3.5(@types/react@18.3.16))(@types/react@18.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-portal': 1.1.3(@types/react-dom@18.3.5(@types/react@18.3.16))(@types/react@18.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.16))(@types/react@18.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.16))(@types/react@18.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-roving-focus': 1.1.1(@types/react-dom@18.3.5(@types/react@18.3.16))(@types/react@18.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-slot': 1.1.1(@types/react@18.3.16)(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.16)(react@18.3.1)
aria-hidden: 1.2.4
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
- react-remove-scroll: 2.6.0(@types/react@18.3.12)(react@18.3.1)
+ react-remove-scroll: 2.6.0(@types/react@18.3.16)(react@18.3.1)
optionalDependencies:
- '@types/react': 18.3.12
- '@types/react-dom': 18.3.1
+ '@types/react': 18.3.16
+ '@types/react-dom': 18.3.5(@types/react@18.3.16)
- '@radix-ui/react-popper@1.2.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@radix-ui/react-popper@1.2.1(@types/react-dom@18.3.5(@types/react@18.3.16))(@types/react@18.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@floating-ui/react-dom': 2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-arrow': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-context': 1.1.0(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-use-rect': 1.1.0(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-arrow': 1.1.1(@types/react-dom@18.3.5(@types/react@18.3.16))(@types/react@18.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.16)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.1(@types/react@18.3.16)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.16))(@types/react@18.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.16)(react@18.3.1)
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.16)(react@18.3.1)
+ '@radix-ui/react-use-rect': 1.1.0(@types/react@18.3.16)(react@18.3.1)
+ '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.16)(react@18.3.1)
'@radix-ui/rect': 1.1.0
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
optionalDependencies:
- '@types/react': 18.3.12
- '@types/react-dom': 18.3.1
+ '@types/react': 18.3.16
+ '@types/react-dom': 18.3.5(@types/react@18.3.16)
- '@radix-ui/react-portal@1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@radix-ui/react-portal@1.1.3(@types/react-dom@18.3.5(@types/react@18.3.16))(@types/react@18.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
- '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.16))(@types/react@18.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.16)(react@18.3.1)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
optionalDependencies:
- '@types/react': 18.3.12
- '@types/react-dom': 18.3.1
+ '@types/react': 18.3.16
+ '@types/react-dom': 18.3.5(@types/react@18.3.16)
- '@radix-ui/react-presence@1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@radix-ui/react-presence@1.1.2(@types/react-dom@18.3.5(@types/react@18.3.16))(@types/react@18.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
- '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.16)(react@18.3.1)
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.16)(react@18.3.1)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
optionalDependencies:
- '@types/react': 18.3.12
- '@types/react-dom': 18.3.1
+ '@types/react': 18.3.16
+ '@types/react-dom': 18.3.5(@types/react@18.3.16)
- '@radix-ui/react-primitive@2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@radix-ui/react-primitive@2.0.1(@types/react-dom@18.3.5(@types/react@18.3.16))(@types/react@18.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
- '@radix-ui/react-slot': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-slot': 1.1.1(@types/react@18.3.16)(react@18.3.1)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
optionalDependencies:
- '@types/react': 18.3.12
- '@types/react-dom': 18.3.1
-
- '@radix-ui/react-roving-focus@1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@radix-ui/primitive': 1.1.0
- '@radix-ui/react-collection': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-context': 1.1.0(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-direction': 1.1.0(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@types/react': 18.3.16
+ '@types/react-dom': 18.3.5(@types/react@18.3.16)
+
+ '@radix-ui/react-roving-focus@1.1.1(@types/react-dom@18.3.5(@types/react@18.3.16))(@types/react@18.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.1
+ '@radix-ui/react-collection': 1.1.1(@types/react-dom@18.3.5(@types/react@18.3.16))(@types/react@18.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.16)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.1(@types/react@18.3.16)(react@18.3.1)
+ '@radix-ui/react-direction': 1.1.0(@types/react@18.3.16)(react@18.3.1)
+ '@radix-ui/react-id': 1.1.0(@types/react@18.3.16)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.16))(@types/react@18.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.16)(react@18.3.1)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.16)(react@18.3.1)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
optionalDependencies:
- '@types/react': 18.3.12
- '@types/react-dom': 18.3.1
+ '@types/react': 18.3.16
+ '@types/react-dom': 18.3.5(@types/react@18.3.16)
- '@radix-ui/react-select@2.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@radix-ui/react-select@2.1.3(@types/react-dom@18.3.5(@types/react@18.3.16))(@types/react@18.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@radix-ui/number': 1.1.0
- '@radix-ui/primitive': 1.1.0
- '@radix-ui/react-collection': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-direction': 1.1.0(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-dismissable-layer': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-focus-scope': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-popper': 1.2.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-portal': 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-slot': 1.1.0(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-visually-hidden': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/primitive': 1.1.1
+ '@radix-ui/react-collection': 1.1.1(@types/react-dom@18.3.5(@types/react@18.3.16))(@types/react@18.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.16)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.1(@types/react@18.3.16)(react@18.3.1)
+ '@radix-ui/react-direction': 1.1.0(@types/react@18.3.16)(react@18.3.1)
+ '@radix-ui/react-dismissable-layer': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.16))(@types/react@18.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.16)(react@18.3.1)
+ '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@18.3.5(@types/react@18.3.16))(@types/react@18.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-id': 1.1.0(@types/react@18.3.16)(react@18.3.1)
+ '@radix-ui/react-popper': 1.2.1(@types/react-dom@18.3.5(@types/react@18.3.16))(@types/react@18.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-portal': 1.1.3(@types/react-dom@18.3.5(@types/react@18.3.16))(@types/react@18.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.16))(@types/react@18.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-slot': 1.1.1(@types/react@18.3.16)(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.16)(react@18.3.1)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.16)(react@18.3.1)
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.16)(react@18.3.1)
+ '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.16)(react@18.3.1)
+ '@radix-ui/react-visually-hidden': 1.1.1(@types/react-dom@18.3.5(@types/react@18.3.16))(@types/react@18.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
aria-hidden: 1.2.4
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
- react-remove-scroll: 2.6.0(@types/react@18.3.12)(react@18.3.1)
+ react-remove-scroll: 2.6.0(@types/react@18.3.16)(react@18.3.1)
optionalDependencies:
- '@types/react': 18.3.12
- '@types/react-dom': 18.3.1
+ '@types/react': 18.3.16
+ '@types/react-dom': 18.3.5(@types/react@18.3.16)
- '@radix-ui/react-separator@1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@radix-ui/react-separator@1.1.1(@types/react-dom@18.3.5(@types/react@18.3.16))(@types/react@18.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
- '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.16))(@types/react@18.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
optionalDependencies:
- '@types/react': 18.3.12
- '@types/react-dom': 18.3.1
+ '@types/react': 18.3.16
+ '@types/react-dom': 18.3.5(@types/react@18.3.16)
- '@radix-ui/react-slot@1.1.0(@types/react@18.3.12)(react@18.3.1)':
+ '@radix-ui/react-slot@1.1.1(@types/react@18.3.16)(react@18.3.1)':
dependencies:
- '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.16)(react@18.3.1)
react: 18.3.1
optionalDependencies:
- '@types/react': 18.3.12
+ '@types/react': 18.3.16
- '@radix-ui/react-use-callback-ref@1.1.0(@types/react@18.3.12)(react@18.3.1)':
+ '@radix-ui/react-use-callback-ref@1.1.0(@types/react@18.3.16)(react@18.3.1)':
dependencies:
react: 18.3.1
optionalDependencies:
- '@types/react': 18.3.12
+ '@types/react': 18.3.16
- '@radix-ui/react-use-controllable-state@1.1.0(@types/react@18.3.12)(react@18.3.1)':
+ '@radix-ui/react-use-controllable-state@1.1.0(@types/react@18.3.16)(react@18.3.1)':
dependencies:
- '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.16)(react@18.3.1)
react: 18.3.1
optionalDependencies:
- '@types/react': 18.3.12
+ '@types/react': 18.3.16
- '@radix-ui/react-use-escape-keydown@1.1.0(@types/react@18.3.12)(react@18.3.1)':
+ '@radix-ui/react-use-escape-keydown@1.1.0(@types/react@18.3.16)(react@18.3.1)':
dependencies:
- '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.16)(react@18.3.1)
react: 18.3.1
optionalDependencies:
- '@types/react': 18.3.12
+ '@types/react': 18.3.16
- '@radix-ui/react-use-layout-effect@1.1.0(@types/react@18.3.12)(react@18.3.1)':
+ '@radix-ui/react-use-layout-effect@1.1.0(@types/react@18.3.16)(react@18.3.1)':
dependencies:
react: 18.3.1
optionalDependencies:
- '@types/react': 18.3.12
+ '@types/react': 18.3.16
- '@radix-ui/react-use-previous@1.1.0(@types/react@18.3.12)(react@18.3.1)':
+ '@radix-ui/react-use-previous@1.1.0(@types/react@18.3.16)(react@18.3.1)':
dependencies:
react: 18.3.1
optionalDependencies:
- '@types/react': 18.3.12
+ '@types/react': 18.3.16
- '@radix-ui/react-use-rect@1.1.0(@types/react@18.3.12)(react@18.3.1)':
+ '@radix-ui/react-use-rect@1.1.0(@types/react@18.3.16)(react@18.3.1)':
dependencies:
'@radix-ui/rect': 1.1.0
react: 18.3.1
optionalDependencies:
- '@types/react': 18.3.12
+ '@types/react': 18.3.16
- '@radix-ui/react-use-size@1.1.0(@types/react@18.3.12)(react@18.3.1)':
+ '@radix-ui/react-use-size@1.1.0(@types/react@18.3.16)(react@18.3.1)':
dependencies:
- '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.16)(react@18.3.1)
react: 18.3.1
optionalDependencies:
- '@types/react': 18.3.12
+ '@types/react': 18.3.16
- '@radix-ui/react-visually-hidden@1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@radix-ui/react-visually-hidden@1.1.1(@types/react-dom@18.3.5(@types/react@18.3.16))(@types/react@18.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
- '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.16))(@types/react@18.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
optionalDependencies:
- '@types/react': 18.3.12
- '@types/react-dom': 18.3.1
+ '@types/react': 18.3.16
+ '@types/react-dom': 18.3.5(@types/react@18.3.16)
'@radix-ui/rect@1.1.0': {}
- '@rollup/rollup-android-arm-eabi@4.27.4':
+ '@rollup/rollup-android-arm-eabi@4.28.1':
+ optional: true
+
+ '@rollup/rollup-android-arm64@4.28.1':
optional: true
- '@rollup/rollup-android-arm64@4.27.4':
+ '@rollup/rollup-darwin-arm64@4.28.1':
optional: true
- '@rollup/rollup-darwin-arm64@4.27.4':
+ '@rollup/rollup-darwin-x64@4.28.1':
optional: true
- '@rollup/rollup-darwin-x64@4.27.4':
+ '@rollup/rollup-freebsd-arm64@4.28.1':
optional: true
- '@rollup/rollup-freebsd-arm64@4.27.4':
+ '@rollup/rollup-freebsd-x64@4.28.1':
optional: true
- '@rollup/rollup-freebsd-x64@4.27.4':
+ '@rollup/rollup-linux-arm-gnueabihf@4.28.1':
optional: true
- '@rollup/rollup-linux-arm-gnueabihf@4.27.4':
+ '@rollup/rollup-linux-arm-musleabihf@4.28.1':
optional: true
- '@rollup/rollup-linux-arm-musleabihf@4.27.4':
+ '@rollup/rollup-linux-arm64-gnu@4.28.1':
optional: true
- '@rollup/rollup-linux-arm64-gnu@4.27.4':
+ '@rollup/rollup-linux-arm64-musl@4.28.1':
optional: true
- '@rollup/rollup-linux-arm64-musl@4.27.4':
+ '@rollup/rollup-linux-loongarch64-gnu@4.28.1':
optional: true
- '@rollup/rollup-linux-powerpc64le-gnu@4.27.4':
+ '@rollup/rollup-linux-powerpc64le-gnu@4.28.1':
optional: true
- '@rollup/rollup-linux-riscv64-gnu@4.27.4':
+ '@rollup/rollup-linux-riscv64-gnu@4.28.1':
optional: true
- '@rollup/rollup-linux-s390x-gnu@4.27.4':
+ '@rollup/rollup-linux-s390x-gnu@4.28.1':
optional: true
- '@rollup/rollup-linux-x64-gnu@4.27.4':
+ '@rollup/rollup-linux-x64-gnu@4.28.1':
optional: true
- '@rollup/rollup-linux-x64-musl@4.27.4':
+ '@rollup/rollup-linux-x64-musl@4.28.1':
optional: true
- '@rollup/rollup-win32-arm64-msvc@4.27.4':
+ '@rollup/rollup-win32-arm64-msvc@4.28.1':
optional: true
- '@rollup/rollup-win32-ia32-msvc@4.27.4':
+ '@rollup/rollup-win32-ia32-msvc@4.28.1':
optional: true
- '@rollup/rollup-win32-x64-msvc@4.27.4':
+ '@rollup/rollup-win32-x64-msvc@4.28.1':
optional: true
- '@swc/core-darwin-arm64@1.9.3':
+ '@swc/core-darwin-arm64@1.10.1':
optional: true
- '@swc/core-darwin-x64@1.9.3':
+ '@swc/core-darwin-x64@1.10.1':
optional: true
- '@swc/core-linux-arm-gnueabihf@1.9.3':
+ '@swc/core-linux-arm-gnueabihf@1.10.1':
optional: true
- '@swc/core-linux-arm64-gnu@1.9.3':
+ '@swc/core-linux-arm64-gnu@1.10.1':
optional: true
- '@swc/core-linux-arm64-musl@1.9.3':
+ '@swc/core-linux-arm64-musl@1.10.1':
optional: true
- '@swc/core-linux-x64-gnu@1.9.3':
+ '@swc/core-linux-x64-gnu@1.10.1':
optional: true
- '@swc/core-linux-x64-musl@1.9.3':
+ '@swc/core-linux-x64-musl@1.10.1':
optional: true
- '@swc/core-win32-arm64-msvc@1.9.3':
+ '@swc/core-win32-arm64-msvc@1.10.1':
optional: true
- '@swc/core-win32-ia32-msvc@1.9.3':
+ '@swc/core-win32-ia32-msvc@1.10.1':
optional: true
- '@swc/core-win32-x64-msvc@1.9.3':
+ '@swc/core-win32-x64-msvc@1.10.1':
optional: true
- '@swc/core@1.9.3':
+ '@swc/core@1.10.1':
dependencies:
'@swc/counter': 0.1.3
'@swc/types': 0.1.17
optionalDependencies:
- '@swc/core-darwin-arm64': 1.9.3
- '@swc/core-darwin-x64': 1.9.3
- '@swc/core-linux-arm-gnueabihf': 1.9.3
- '@swc/core-linux-arm64-gnu': 1.9.3
- '@swc/core-linux-arm64-musl': 1.9.3
- '@swc/core-linux-x64-gnu': 1.9.3
- '@swc/core-linux-x64-musl': 1.9.3
- '@swc/core-win32-arm64-msvc': 1.9.3
- '@swc/core-win32-ia32-msvc': 1.9.3
- '@swc/core-win32-x64-msvc': 1.9.3
+ '@swc/core-darwin-arm64': 1.10.1
+ '@swc/core-darwin-x64': 1.10.1
+ '@swc/core-linux-arm-gnueabihf': 1.10.1
+ '@swc/core-linux-arm64-gnu': 1.10.1
+ '@swc/core-linux-arm64-musl': 1.10.1
+ '@swc/core-linux-x64-gnu': 1.10.1
+ '@swc/core-linux-x64-musl': 1.10.1
+ '@swc/core-win32-arm64-msvc': 1.10.1
+ '@swc/core-win32-ia32-msvc': 1.10.1
+ '@swc/core-win32-x64-msvc': 1.10.1
'@swc/counter@0.1.3': {}
@@ -4145,30 +4127,30 @@ snapshots:
dependencies:
'@swc/counter': 0.1.3
- '@tanstack/history@1.81.9': {}
+ '@tanstack/history@1.87.6': {}
- '@tanstack/react-router@1.82.12(@tanstack/router-generator@1.82.10)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@tanstack/react-router@1.88.0(@tanstack/router-generator@1.87.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
- '@tanstack/history': 1.81.9
+ '@tanstack/history': 1.87.6
'@tanstack/react-store': 0.6.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- jsesc: 3.0.2
+ jsesc: 3.1.0
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
tiny-invariant: 1.3.3
tiny-warning: 1.0.3
optionalDependencies:
- '@tanstack/router-generator': 1.82.10
+ '@tanstack/router-generator': 1.87.7
'@tanstack/react-store@0.6.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@tanstack/store': 0.6.0
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
- use-sync-external-store: 1.2.2(react@18.3.1)
+ use-sync-external-store: 1.4.0(react@18.3.1)
- '@tanstack/router-devtools@1.82.12(@tanstack/react-router@1.82.12(@tanstack/router-generator@1.82.10)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(csstype@3.1.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@tanstack/router-devtools@1.88.0(@tanstack/react-router@1.88.0(@tanstack/router-generator@1.87.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(csstype@3.1.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
- '@tanstack/react-router': 1.82.12(@tanstack/router-generator@1.82.10)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@tanstack/react-router': 1.88.0(@tanstack/router-generator@1.87.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
clsx: 2.1.1
goober: 2.1.16(csstype@3.1.3)
react: 18.3.1
@@ -4176,25 +4158,25 @@ snapshots:
transitivePeerDependencies:
- csstype
- '@tanstack/router-generator@1.82.10':
+ '@tanstack/router-generator@1.87.7':
dependencies:
- '@tanstack/virtual-file-routes': 1.81.9
- prettier: 3.4.1
+ '@tanstack/virtual-file-routes': 1.87.6
+ prettier: 3.4.2
tsx: 4.19.2
- zod: 3.23.8
+ zod: 3.24.1
- '@tanstack/router-plugin@1.82.10(vite@5.4.11(@types/node@22.10.0))':
+ '@tanstack/router-plugin@1.87.13(vite@5.4.11(@types/node@22.10.2))':
dependencies:
'@babel/core': 7.26.0
- '@babel/generator': 7.26.2
- '@babel/parser': 7.26.2
+ '@babel/generator': 7.26.3
+ '@babel/parser': 7.26.3
'@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.0)
'@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.26.0)
'@babel/template': 7.25.9
- '@babel/traverse': 7.25.9
- '@babel/types': 7.26.0
- '@tanstack/router-generator': 1.82.10
- '@tanstack/virtual-file-routes': 1.81.9
+ '@babel/traverse': 7.26.4
+ '@babel/types': 7.26.3
+ '@tanstack/router-generator': 1.87.7
+ '@tanstack/virtual-file-routes': 1.87.6
'@types/babel__core': 7.20.5
'@types/babel__generator': 7.6.8
'@types/babel__template': 7.4.4
@@ -4202,15 +4184,15 @@ snapshots:
babel-dead-code-elimination: 1.0.6
chokidar: 3.6.0
unplugin: 1.16.0
- zod: 3.23.8
+ zod: 3.24.1
optionalDependencies:
- vite: 5.4.11(@types/node@22.10.0)
+ vite: 5.4.11(@types/node@22.10.2)
transitivePeerDependencies:
- supports-color
'@tanstack/store@0.6.0': {}
- '@tanstack/virtual-file-routes@1.81.9': {}
+ '@tanstack/virtual-file-routes@1.87.6': {}
'@titaniumnetwork-dev/ultraviolet@3.2.10':
dependencies:
@@ -4226,24 +4208,24 @@ snapshots:
'@types/babel__core@7.20.5':
dependencies:
- '@babel/parser': 7.26.2
- '@babel/types': 7.26.0
+ '@babel/parser': 7.26.3
+ '@babel/types': 7.26.3
'@types/babel__generator': 7.6.8
'@types/babel__template': 7.4.4
'@types/babel__traverse': 7.20.6
'@types/babel__generator@7.6.8':
dependencies:
- '@babel/types': 7.26.0
+ '@babel/types': 7.26.3
'@types/babel__template@7.4.4':
dependencies:
- '@babel/parser': 7.26.2
- '@babel/types': 7.26.0
+ '@babel/parser': 7.26.3
+ '@babel/types': 7.26.3
'@types/babel__traverse@7.20.6':
dependencies:
- '@babel/types': 7.26.0
+ '@babel/types': 7.26.3
'@types/debug@4.1.12':
dependencies:
@@ -4273,117 +4255,112 @@ snapshots:
'@types/ms@0.7.34': {}
- '@types/node@22.10.0':
+ '@types/node@22.10.2':
dependencies:
undici-types: 6.20.0
- '@types/prop-types@15.7.13': {}
+ '@types/prop-types@15.7.14': {}
- '@types/react-dom@18.3.1':
+ '@types/react-dom@18.3.5(@types/react@18.3.16)':
dependencies:
- '@types/react': 18.3.12
+ '@types/react': 18.3.16
'@types/react-syntax-highlighter@15.5.13':
dependencies:
- '@types/react': 18.3.12
+ '@types/react': 18.3.16
- '@types/react@18.3.12':
+ '@types/react@18.3.16':
dependencies:
- '@types/prop-types': 15.7.13
+ '@types/prop-types': 15.7.14
csstype: 3.1.3
'@types/unist@2.0.11': {}
'@types/unist@3.0.3': {}
- '@typescript-eslint/eslint-plugin@8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2))(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2)':
+ '@typescript-eslint/eslint-plugin@8.18.0(@typescript-eslint/parser@8.18.0(eslint@9.17.0(jiti@1.21.6))(typescript@5.7.2))(eslint@9.17.0(jiti@1.21.6))(typescript@5.7.2)':
dependencies:
'@eslint-community/regexpp': 4.12.1
- '@typescript-eslint/parser': 8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2)
- '@typescript-eslint/scope-manager': 8.16.0
- '@typescript-eslint/type-utils': 8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2)
- '@typescript-eslint/utils': 8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2)
- '@typescript-eslint/visitor-keys': 8.16.0
- eslint: 9.15.0(jiti@1.21.6)
+ '@typescript-eslint/parser': 8.18.0(eslint@9.17.0(jiti@1.21.6))(typescript@5.7.2)
+ '@typescript-eslint/scope-manager': 8.18.0
+ '@typescript-eslint/type-utils': 8.18.0(eslint@9.17.0(jiti@1.21.6))(typescript@5.7.2)
+ '@typescript-eslint/utils': 8.18.0(eslint@9.17.0(jiti@1.21.6))(typescript@5.7.2)
+ '@typescript-eslint/visitor-keys': 8.18.0
+ eslint: 9.17.0(jiti@1.21.6)
graphemer: 1.4.0
ignore: 5.3.2
natural-compare: 1.4.0
- ts-api-utils: 1.4.2(typescript@5.7.2)
- optionalDependencies:
+ ts-api-utils: 1.4.3(typescript@5.7.2)
typescript: 5.7.2
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/parser@8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2)':
+ '@typescript-eslint/parser@8.18.0(eslint@9.17.0(jiti@1.21.6))(typescript@5.7.2)':
dependencies:
- '@typescript-eslint/scope-manager': 8.16.0
- '@typescript-eslint/types': 8.16.0
- '@typescript-eslint/typescript-estree': 8.16.0(typescript@5.7.2)
- '@typescript-eslint/visitor-keys': 8.16.0
- debug: 4.3.7
- eslint: 9.15.0(jiti@1.21.6)
- optionalDependencies:
+ '@typescript-eslint/scope-manager': 8.18.0
+ '@typescript-eslint/types': 8.18.0
+ '@typescript-eslint/typescript-estree': 8.18.0(typescript@5.7.2)
+ '@typescript-eslint/visitor-keys': 8.18.0
+ debug: 4.4.0
+ eslint: 9.17.0(jiti@1.21.6)
typescript: 5.7.2
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/scope-manager@8.16.0':
+ '@typescript-eslint/scope-manager@8.18.0':
dependencies:
- '@typescript-eslint/types': 8.16.0
- '@typescript-eslint/visitor-keys': 8.16.0
+ '@typescript-eslint/types': 8.18.0
+ '@typescript-eslint/visitor-keys': 8.18.0
- '@typescript-eslint/type-utils@8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2)':
+ '@typescript-eslint/type-utils@8.18.0(eslint@9.17.0(jiti@1.21.6))(typescript@5.7.2)':
dependencies:
- '@typescript-eslint/typescript-estree': 8.16.0(typescript@5.7.2)
- '@typescript-eslint/utils': 8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2)
- debug: 4.3.7
- eslint: 9.15.0(jiti@1.21.6)
- ts-api-utils: 1.4.2(typescript@5.7.2)
- optionalDependencies:
+ '@typescript-eslint/typescript-estree': 8.18.0(typescript@5.7.2)
+ '@typescript-eslint/utils': 8.18.0(eslint@9.17.0(jiti@1.21.6))(typescript@5.7.2)
+ debug: 4.4.0
+ eslint: 9.17.0(jiti@1.21.6)
+ ts-api-utils: 1.4.3(typescript@5.7.2)
typescript: 5.7.2
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/types@8.16.0': {}
+ '@typescript-eslint/types@8.18.0': {}
- '@typescript-eslint/typescript-estree@8.16.0(typescript@5.7.2)':
+ '@typescript-eslint/typescript-estree@8.18.0(typescript@5.7.2)':
dependencies:
- '@typescript-eslint/types': 8.16.0
- '@typescript-eslint/visitor-keys': 8.16.0
- debug: 4.3.7
+ '@typescript-eslint/types': 8.18.0
+ '@typescript-eslint/visitor-keys': 8.18.0
+ debug: 4.4.0
fast-glob: 3.3.2
is-glob: 4.0.3
minimatch: 9.0.5
semver: 7.6.3
- ts-api-utils: 1.4.2(typescript@5.7.2)
- optionalDependencies:
+ ts-api-utils: 1.4.3(typescript@5.7.2)
typescript: 5.7.2
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/utils@8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2)':
+ '@typescript-eslint/utils@8.18.0(eslint@9.17.0(jiti@1.21.6))(typescript@5.7.2)':
dependencies:
- '@eslint-community/eslint-utils': 4.4.1(eslint@9.15.0(jiti@1.21.6))
- '@typescript-eslint/scope-manager': 8.16.0
- '@typescript-eslint/types': 8.16.0
- '@typescript-eslint/typescript-estree': 8.16.0(typescript@5.7.2)
- eslint: 9.15.0(jiti@1.21.6)
- optionalDependencies:
+ '@eslint-community/eslint-utils': 4.4.1(eslint@9.17.0(jiti@1.21.6))
+ '@typescript-eslint/scope-manager': 8.18.0
+ '@typescript-eslint/types': 8.18.0
+ '@typescript-eslint/typescript-estree': 8.18.0(typescript@5.7.2)
+ eslint: 9.17.0(jiti@1.21.6)
typescript: 5.7.2
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/visitor-keys@8.16.0':
+ '@typescript-eslint/visitor-keys@8.18.0':
dependencies:
- '@typescript-eslint/types': 8.16.0
+ '@typescript-eslint/types': 8.18.0
eslint-visitor-keys: 4.2.0
- '@ungap/structured-clone@1.2.0': {}
+ '@ungap/structured-clone@1.2.1': {}
- '@vitejs/plugin-react-swc@3.7.2(vite@5.4.11(@types/node@22.10.0))':
+ '@vitejs/plugin-react-swc@3.7.2(vite@5.4.11(@types/node@22.10.2))':
dependencies:
- '@swc/core': 1.9.3
- vite: 5.4.11(@types/node@22.10.0)
+ '@swc/core': 1.10.1
+ vite: 5.4.11(@types/node@22.10.2)
transitivePeerDependencies:
- '@swc/helpers'
@@ -4446,8 +4423,8 @@ snapshots:
autoprefixer@10.4.20(postcss@8.4.49):
dependencies:
- browserslist: 4.24.2
- caniuse-lite: 1.0.30001684
+ browserslist: 4.24.3
+ caniuse-lite: 1.0.30001688
fraction.js: 4.3.7
normalize-range: 0.1.2
picocolors: 1.1.1
@@ -4462,9 +4439,9 @@ snapshots:
babel-dead-code-elimination@1.0.6:
dependencies:
'@babel/core': 7.26.0
- '@babel/parser': 7.26.2
- '@babel/traverse': 7.25.9
- '@babel/types': 7.26.0
+ '@babel/parser': 7.26.3
+ '@babel/traverse': 7.26.4
+ '@babel/types': 7.26.3
transitivePeerDependencies:
- supports-color
@@ -4489,12 +4466,12 @@ snapshots:
dependencies:
fill-range: 7.1.1
- browserslist@4.24.2:
+ browserslist@4.24.3:
dependencies:
- caniuse-lite: 1.0.30001684
- electron-to-chromium: 1.5.65
- node-releases: 2.0.18
- update-browserslist-db: 1.1.1(browserslist@4.24.2)
+ caniuse-lite: 1.0.30001688
+ electron-to-chromium: 1.5.73
+ node-releases: 2.0.19
+ update-browserslist-db: 1.1.1(browserslist@4.24.3)
bufferutil@4.0.8:
dependencies:
@@ -4504,7 +4481,7 @@ snapshots:
camelcase-css@2.0.1: {}
- caniuse-lite@1.0.30001684: {}
+ caniuse-lite@1.0.30001688: {}
ccount@2.0.1: {}
@@ -4584,7 +4561,7 @@ snapshots:
chalk: 4.1.2
lodash: 4.17.21
rxjs: 7.8.1
- shell-quote: 1.8.1
+ shell-quote: 1.8.2
supports-color: 8.1.1
tree-kill: 1.2.2
yargs: 17.7.2
@@ -4631,7 +4608,7 @@ snapshots:
csstype@3.1.3: {}
- debug@4.3.7:
+ debug@4.4.0:
dependencies:
ms: 2.1.3
@@ -4675,11 +4652,11 @@ snapshots:
domelementtype: 2.3.0
domhandler: 5.0.3
- dotenv@16.4.5: {}
+ dotenv@16.4.7: {}
eastasianwidth@0.2.0: {}
- electron-to-chromium@1.5.65: {}
+ electron-to-chromium@1.5.73: {}
emoji-regex@8.0.0: {}
@@ -4748,13 +4725,13 @@ snapshots:
escape-string-regexp@5.0.0: {}
- eslint-plugin-react-hooks@5.1.0-rc-fb9a90fa48-20240614(eslint@9.15.0(jiti@1.21.6)):
+ eslint-plugin-react-hooks@5.1.0-rc-fb9a90fa48-20240614(eslint@9.17.0(jiti@1.21.6)):
dependencies:
- eslint: 9.15.0(jiti@1.21.6)
+ eslint: 9.17.0(jiti@1.21.6)
- eslint-plugin-react-refresh@0.4.14(eslint@9.15.0(jiti@1.21.6)):
+ eslint-plugin-react-refresh@0.4.16(eslint@9.17.0(jiti@1.21.6)):
dependencies:
- eslint: 9.15.0(jiti@1.21.6)
+ eslint: 9.17.0(jiti@1.21.6)
eslint-scope@8.2.0:
dependencies:
@@ -4765,15 +4742,15 @@ snapshots:
eslint-visitor-keys@4.2.0: {}
- eslint@9.15.0(jiti@1.21.6):
+ eslint@9.17.0(jiti@1.21.6):
dependencies:
- '@eslint-community/eslint-utils': 4.4.1(eslint@9.15.0(jiti@1.21.6))
+ '@eslint-community/eslint-utils': 4.4.1(eslint@9.17.0(jiti@1.21.6))
'@eslint-community/regexpp': 4.12.1
- '@eslint/config-array': 0.19.0
- '@eslint/core': 0.9.0
+ '@eslint/config-array': 0.19.1
+ '@eslint/core': 0.9.1
'@eslint/eslintrc': 3.2.0
- '@eslint/js': 9.15.0
- '@eslint/plugin-kit': 0.2.3
+ '@eslint/js': 9.17.0
+ '@eslint/plugin-kit': 0.2.4
'@humanfs/node': 0.16.6
'@humanwhocodes/module-importer': 1.0.1
'@humanwhocodes/retry': 0.4.1
@@ -4782,7 +4759,7 @@ snapshots:
ajv: 6.12.6
chalk: 4.1.2
cross-spawn: 7.0.6
- debug: 4.3.7
+ debug: 4.4.0
escape-string-regexp: 4.0.0
eslint-scope: 8.2.0
eslint-visitor-keys: 4.2.0
@@ -4933,8 +4910,10 @@ snapshots:
fraction.js@4.3.7: {}
- framer-motion@11.11.17(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ framer-motion@11.14.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
+ motion-dom: 11.14.3
+ motion-utils: 11.14.3
tslib: 2.8.1
optionalDependencies:
react: 18.3.1
@@ -4991,7 +4970,7 @@ snapshots:
globals@14.0.0: {}
- globals@15.12.0: {}
+ globals@15.13.0: {}
goober@2.1.16(csstype@3.1.3):
dependencies:
@@ -5096,7 +5075,7 @@ snapshots:
dependencies:
binary-extensions: 2.3.0
- is-core-module@2.15.1:
+ is-core-module@2.16.0:
dependencies:
hasown: 2.0.2
@@ -5140,7 +5119,7 @@ snapshots:
dependencies:
argparse: 2.0.1
- jsesc@3.0.2: {}
+ jsesc@3.1.0: {}
json-buffer@3.0.1: {}
@@ -5179,9 +5158,7 @@ snapshots:
process-warning: 4.0.0
set-cookie-parser: 2.7.1
- lilconfig@2.1.0: {}
-
- lilconfig@3.1.2: {}
+ lilconfig@3.1.3: {}
lines-and-columns@1.2.4: {}
@@ -5320,7 +5297,7 @@ snapshots:
devlop: 1.1.0
mdast-util-from-markdown: 2.0.2
mdast-util-to-markdown: 2.1.2
- parse-entities: 4.0.1
+ parse-entities: 4.0.2
stringify-entities: 4.0.4
unist-util-stringify-position: 4.0.0
vfile-message: 4.0.2
@@ -5347,7 +5324,7 @@ snapshots:
dependencies:
'@types/hast': 3.0.4
'@types/mdast': 4.0.4
- '@ungap/structured-clone': 1.2.0
+ '@ungap/structured-clone': 1.2.1
devlop: 1.1.0
micromark-util-sanitize-uri: 2.0.1
trim-lines: 3.0.1
@@ -5551,7 +5528,7 @@ snapshots:
micromark@4.0.1:
dependencies:
'@types/debug': 4.1.12
- debug: 4.3.7
+ debug: 4.4.0
decode-named-character-reference: 1.0.2
devlop: 1.1.0
micromark-core-commonmark: 2.0.2
@@ -5591,6 +5568,10 @@ snapshots:
minipass@7.1.2: {}
+ motion-dom@11.14.3: {}
+
+ motion-utils@11.14.3: {}
+
ms@2.1.3: {}
mz@2.7.0:
@@ -5605,7 +5586,7 @@ snapshots:
node-gyp-build@4.8.4: {}
- node-releases@2.0.18: {}
+ node-releases@2.0.19: {}
normalize-path@3.0.0: {}
@@ -5653,10 +5634,9 @@ snapshots:
is-decimal: 1.0.4
is-hexadecimal: 1.0.4
- parse-entities@4.0.1:
+ parse-entities@4.0.2:
dependencies:
'@types/unist': 2.0.11
- character-entities: 2.0.2
character-entities-legacy: 3.0.0
character-reference-invalid: 2.0.1
decode-named-character-reference: 1.0.2
@@ -5719,7 +5699,7 @@ snapshots:
postcss: 8.4.49
postcss-value-parser: 4.2.0
read-cache: 1.0.0
- resolve: 1.22.8
+ resolve: 1.22.9
postcss-js@4.0.1(postcss@8.4.49):
dependencies:
@@ -5728,7 +5708,7 @@ snapshots:
postcss-load-config@4.0.2(postcss@8.4.49):
dependencies:
- lilconfig: 3.1.2
+ lilconfig: 3.1.3
yaml: 2.6.1
optionalDependencies:
postcss: 8.4.49
@@ -5753,7 +5733,7 @@ snapshots:
prelude-ls@1.2.1: {}
- prettier@3.4.1: {}
+ prettier@3.4.2: {}
prismjs@1.27.0: {}
@@ -5801,10 +5781,10 @@ snapshots:
react-is@16.13.1: {}
- react-markdown@9.0.1(@types/react@18.3.12)(react@18.3.1):
+ react-markdown@9.0.1(@types/react@18.3.16)(react@18.3.1):
dependencies:
'@types/hast': 3.0.4
- '@types/react': 18.3.12
+ '@types/react': 18.3.16
devlop: 1.1.0
hast-util-to-jsx-runtime: 2.3.2
html-url-attributes: 3.0.1
@@ -5818,33 +5798,33 @@ snapshots:
transitivePeerDependencies:
- supports-color
- react-remove-scroll-bar@2.3.6(@types/react@18.3.12)(react@18.3.1):
+ react-remove-scroll-bar@2.3.6(@types/react@18.3.16)(react@18.3.1):
dependencies:
react: 18.3.1
- react-style-singleton: 2.2.1(@types/react@18.3.12)(react@18.3.1)
+ react-style-singleton: 2.2.1(@types/react@18.3.16)(react@18.3.1)
tslib: 2.8.1
optionalDependencies:
- '@types/react': 18.3.12
+ '@types/react': 18.3.16
- react-remove-scroll@2.6.0(@types/react@18.3.12)(react@18.3.1):
+ react-remove-scroll@2.6.0(@types/react@18.3.16)(react@18.3.1):
dependencies:
react: 18.3.1
- react-remove-scroll-bar: 2.3.6(@types/react@18.3.12)(react@18.3.1)
- react-style-singleton: 2.2.1(@types/react@18.3.12)(react@18.3.1)
+ react-remove-scroll-bar: 2.3.6(@types/react@18.3.16)(react@18.3.1)
+ react-style-singleton: 2.2.1(@types/react@18.3.16)(react@18.3.1)
tslib: 2.8.1
- use-callback-ref: 1.3.2(@types/react@18.3.12)(react@18.3.1)
- use-sidecar: 1.1.2(@types/react@18.3.12)(react@18.3.1)
+ use-callback-ref: 1.3.2(@types/react@18.3.16)(react@18.3.1)
+ use-sidecar: 1.1.2(@types/react@18.3.16)(react@18.3.1)
optionalDependencies:
- '@types/react': 18.3.12
+ '@types/react': 18.3.16
- react-style-singleton@2.2.1(@types/react@18.3.12)(react@18.3.1):
+ react-style-singleton@2.2.1(@types/react@18.3.16)(react@18.3.1):
dependencies:
get-nonce: 1.0.1
invariant: 2.2.4
react: 18.3.1
tslib: 2.8.1
optionalDependencies:
- '@types/react': 18.3.12
+ '@types/react': 18.3.16
react-syntax-highlighter@15.6.1(react@18.3.1):
dependencies:
@@ -5920,9 +5900,9 @@ snapshots:
resolve-pkg-maps@1.0.0: {}
- resolve@1.22.8:
+ resolve@1.22.9:
dependencies:
- is-core-module: 2.15.1
+ is-core-module: 2.16.0
path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0
@@ -5932,28 +5912,29 @@ snapshots:
rfdc@1.4.1: {}
- rollup@4.27.4:
+ rollup@4.28.1:
dependencies:
'@types/estree': 1.0.6
optionalDependencies:
- '@rollup/rollup-android-arm-eabi': 4.27.4
- '@rollup/rollup-android-arm64': 4.27.4
- '@rollup/rollup-darwin-arm64': 4.27.4
- '@rollup/rollup-darwin-x64': 4.27.4
- '@rollup/rollup-freebsd-arm64': 4.27.4
- '@rollup/rollup-freebsd-x64': 4.27.4
- '@rollup/rollup-linux-arm-gnueabihf': 4.27.4
- '@rollup/rollup-linux-arm-musleabihf': 4.27.4
- '@rollup/rollup-linux-arm64-gnu': 4.27.4
- '@rollup/rollup-linux-arm64-musl': 4.27.4
- '@rollup/rollup-linux-powerpc64le-gnu': 4.27.4
- '@rollup/rollup-linux-riscv64-gnu': 4.27.4
- '@rollup/rollup-linux-s390x-gnu': 4.27.4
- '@rollup/rollup-linux-x64-gnu': 4.27.4
- '@rollup/rollup-linux-x64-musl': 4.27.4
- '@rollup/rollup-win32-arm64-msvc': 4.27.4
- '@rollup/rollup-win32-ia32-msvc': 4.27.4
- '@rollup/rollup-win32-x64-msvc': 4.27.4
+ '@rollup/rollup-android-arm-eabi': 4.28.1
+ '@rollup/rollup-android-arm64': 4.28.1
+ '@rollup/rollup-darwin-arm64': 4.28.1
+ '@rollup/rollup-darwin-x64': 4.28.1
+ '@rollup/rollup-freebsd-arm64': 4.28.1
+ '@rollup/rollup-freebsd-x64': 4.28.1
+ '@rollup/rollup-linux-arm-gnueabihf': 4.28.1
+ '@rollup/rollup-linux-arm-musleabihf': 4.28.1
+ '@rollup/rollup-linux-arm64-gnu': 4.28.1
+ '@rollup/rollup-linux-arm64-musl': 4.28.1
+ '@rollup/rollup-linux-loongarch64-gnu': 4.28.1
+ '@rollup/rollup-linux-powerpc64le-gnu': 4.28.1
+ '@rollup/rollup-linux-riscv64-gnu': 4.28.1
+ '@rollup/rollup-linux-s390x-gnu': 4.28.1
+ '@rollup/rollup-linux-x64-gnu': 4.28.1
+ '@rollup/rollup-linux-x64-musl': 4.28.1
+ '@rollup/rollup-win32-arm64-msvc': 4.28.1
+ '@rollup/rollup-win32-ia32-msvc': 4.28.1
+ '@rollup/rollup-win32-x64-msvc': 4.28.1
fsevents: 2.3.3
run-parallel@1.2.0:
@@ -6018,7 +5999,7 @@ snapshots:
shebang-regex@3.0.0: {}
- shell-quote@1.8.1: {}
+ shell-quote@1.8.2: {}
signal-exit@4.1.0: {}
@@ -6073,7 +6054,7 @@ snapshots:
sucrase@3.35.0:
dependencies:
- '@jridgewell/gen-mapping': 0.3.5
+ '@jridgewell/gen-mapping': 0.3.8
commander: 4.1.1
glob: 10.4.5
lines-and-columns: 1.2.4
@@ -6103,11 +6084,11 @@ snapshots:
tailwind-merge@2.5.5: {}
- tailwindcss-animate@1.0.7(tailwindcss@3.4.15):
+ tailwindcss-animate@1.0.7(tailwindcss@3.4.16):
dependencies:
- tailwindcss: 3.4.15
+ tailwindcss: 3.4.16
- tailwindcss@3.4.15:
+ tailwindcss@3.4.16:
dependencies:
'@alloc/quick-lru': 5.2.0
arg: 5.0.2
@@ -6118,7 +6099,7 @@ snapshots:
glob-parent: 6.0.2
is-glob: 4.0.3
jiti: 1.21.6
- lilconfig: 2.1.0
+ lilconfig: 3.1.3
micromatch: 4.0.8
normalize-path: 3.0.0
object-hash: 3.0.0
@@ -6129,7 +6110,7 @@ snapshots:
postcss-load-config: 4.0.2(postcss@8.4.49)
postcss-nested: 6.2.0(postcss@8.4.49)
postcss-selector-parser: 6.1.2
- resolve: 1.22.8
+ resolve: 1.22.9
sucrase: 3.35.0
transitivePeerDependencies:
- ts-node
@@ -6164,7 +6145,7 @@ snapshots:
trough@2.2.0: {}
- ts-api-utils@1.4.2(typescript@5.7.2):
+ ts-api-utils@1.4.3(typescript@5.7.2):
dependencies:
typescript: 5.7.2
@@ -6183,13 +6164,12 @@ snapshots:
dependencies:
prelude-ls: 1.2.1
- typescript-eslint@8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2):
+ typescript-eslint@8.18.0(eslint@9.17.0(jiti@1.21.6))(typescript@5.7.2):
dependencies:
- '@typescript-eslint/eslint-plugin': 8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2))(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2)
- '@typescript-eslint/parser': 8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2)
- '@typescript-eslint/utils': 8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2)
- eslint: 9.15.0(jiti@1.21.6)
- optionalDependencies:
+ '@typescript-eslint/eslint-plugin': 8.18.0(@typescript-eslint/parser@8.18.0(eslint@9.17.0(jiti@1.21.6))(typescript@5.7.2))(eslint@9.17.0(jiti@1.21.6))(typescript@5.7.2)
+ '@typescript-eslint/parser': 8.18.0(eslint@9.17.0(jiti@1.21.6))(typescript@5.7.2)
+ '@typescript-eslint/utils': 8.18.0(eslint@9.17.0(jiti@1.21.6))(typescript@5.7.2)
+ eslint: 9.17.0(jiti@1.21.6)
typescript: 5.7.2
transitivePeerDependencies:
- supports-color
@@ -6238,9 +6218,9 @@ snapshots:
acorn: 8.14.0
webpack-virtual-modules: 0.6.2
- update-browserslist-db@1.1.1(browserslist@4.24.2):
+ update-browserslist-db@1.1.1(browserslist@4.24.3):
dependencies:
- browserslist: 4.24.2
+ browserslist: 4.24.3
escalade: 3.2.0
picocolors: 1.1.1
@@ -6248,22 +6228,22 @@ snapshots:
dependencies:
punycode: 2.3.1
- use-callback-ref@1.3.2(@types/react@18.3.12)(react@18.3.1):
+ use-callback-ref@1.3.2(@types/react@18.3.16)(react@18.3.1):
dependencies:
react: 18.3.1
tslib: 2.8.1
optionalDependencies:
- '@types/react': 18.3.12
+ '@types/react': 18.3.16
- use-sidecar@1.1.2(@types/react@18.3.12)(react@18.3.1):
+ use-sidecar@1.1.2(@types/react@18.3.16)(react@18.3.1):
dependencies:
detect-node-es: 1.1.0
react: 18.3.1
tslib: 2.8.1
optionalDependencies:
- '@types/react': 18.3.12
+ '@types/react': 18.3.16
- use-sync-external-store@1.2.2(react@18.3.1):
+ use-sync-external-store@1.4.0(react@18.3.1):
dependencies:
react: 18.3.1
@@ -6283,27 +6263,27 @@ snapshots:
'@types/unist': 3.0.3
vfile-message: 4.0.2
- vite-plugin-image-optimizer@1.1.8(vite@5.4.11(@types/node@22.10.0)):
+ vite-plugin-image-optimizer@1.1.8(vite@5.4.11(@types/node@22.10.2)):
dependencies:
ansi-colors: 4.1.3
pathe: 1.1.2
- vite: 5.4.11(@types/node@22.10.0)
+ vite: 5.4.11(@types/node@22.10.2)
- vite-plugin-static-copy@1.0.6(vite@5.4.11(@types/node@22.10.0)):
+ vite-plugin-static-copy@1.0.6(vite@5.4.11(@types/node@22.10.2)):
dependencies:
chokidar: 3.6.0
fast-glob: 3.3.2
fs-extra: 11.2.0
picocolors: 1.1.1
- vite: 5.4.11(@types/node@22.10.0)
+ vite: 5.4.11(@types/node@22.10.2)
- vite@5.4.11(@types/node@22.10.0):
+ vite@5.4.11(@types/node@22.10.2):
dependencies:
esbuild: 0.21.5
postcss: 8.4.49
- rollup: 4.27.4
+ rollup: 4.28.1
optionalDependencies:
- '@types/node': 22.10.0
+ '@types/node': 22.10.2
fsevents: 2.3.3
webpack-virtual-modules@0.6.2: {}
@@ -6359,12 +6339,12 @@ snapshots:
yocto-queue@0.1.0: {}
- zod@3.23.8: {}
+ zod@3.24.1: {}
- zustand@5.0.0-rc.2(@types/react@18.3.12)(react@18.3.1)(use-sync-external-store@1.2.2(react@18.3.1)):
+ zustand@5.0.0-rc.2(@types/react@18.3.16)(react@18.3.1)(use-sync-external-store@1.4.0(react@18.3.1)):
optionalDependencies:
- '@types/react': 18.3.12
+ '@types/react': 18.3.16
react: 18.3.1
- use-sync-external-store: 1.2.2(react@18.3.1)
+ use-sync-external-store: 1.4.0(react@18.3.1)
zwitch@2.0.4: {}
diff --git a/public/scram/scramjet.client.js b/public/scram/scramjet.client.js
index 135a24a..de9a8cd 100644
--- a/public/scram/scramjet.client.js
+++ b/public/scram/scramjet.client.js
@@ -1,16 +1,15 @@
-(()=>{var e={5831:function(e,t,r){var n={"./":"6707","./client":"2712","./client.ts":"2712","./document":"5974","./document.ts":"5974","./dom/attr":"8959","./dom/attr.ts":"8959","./dom/beacon":"2863","./dom/beacon.ts":"2863","./dom/cookie":"1197","./dom/cookie.ts":"1197","./dom/css":"7339","./dom/css.ts":"7339","./dom/document":"1938","./dom/document.ts":"1938","./dom/element":"2439","./dom/element.ts":"2439","./dom/fontface":"6643","./dom/fontface.ts":"6643","./dom/history":"461","./dom/history.ts":"461","./dom/intersectionobserver":"3951","./dom/intersectionobserver.ts":"3951","./dom/navigation":"2410","./dom/navigation.ts":"2410","./dom/open":"8805","./dom/open.ts":"8805","./dom/origin":"3261","./dom/origin.ts":"3261","./dom/performance":"4475","./dom/performance.ts":"4475","./dom/serviceworker":"5707","./dom/serviceworker.ts":"5707","./dom/storage":"9227","./dom/storage.ts":"9227","./events":"5008","./events.ts":"5008","./global":"2237","./global.ts":"2237","./helpers":"7932","./helpers.ts":"7932","./index":"6707","./index.ts":"6707","./location":"8971","./location.ts":"8971","./natives":"3498","./natives.ts":"3498","./shared/antiantidebugger":"8278","./shared/antiantidebugger.ts":"8278","./shared/blob":"9447","./shared/blob.ts":"9447","./shared/caches":"4169","./shared/caches.ts":"4169","./shared/err":"5146","./shared/err.ts":"5146","./shared/error":"7651","./shared/error.ts":"7651","./shared/eval":"4423","./shared/eval.ts":"4423","./shared/event":"8231","./shared/event.ts":"8231","./shared/function":"7636","./shared/function.ts":"7636","./shared/import":"7513","./shared/import.ts":"7513","./shared/indexeddb":"2930","./shared/indexeddb.ts":"2930","./shared/postmessage":"2625","./shared/postmessage.ts":"2625","./shared/realm":"6594","./shared/realm.ts":"6594","./shared/requests/eventsource":"2738","./shared/requests/eventsource.ts":"2738","./shared/requests/fetch":"106","./shared/requests/fetch.ts":"106","./shared/requests/websocket":"7219","./shared/requests/websocket.ts":"7219","./shared/requests/xmlhttprequest":"7481","./shared/requests/xmlhttprequest.ts":"7481","./shared/sourcemaps":"6321","./shared/sourcemaps.ts":"6321","./shared/trustedTypes":"1587","./shared/trustedTypes.ts":"1587","./shared/unproxy":"2370","./shared/unproxy.ts":"2370","./shared/worker":"8475","./shared/worker.ts":"8475","./shared/wrap":"7706","./shared/wrap.ts":"7706","./swruntime":"633","./swruntime.ts":"633","./worker/importScripts":"5425","./worker/importScripts.ts":"5425"};function o(e){return r(a(e))}function a(e){if(!r.o(n,e)){var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return n[e]}o.keys=function(){return Object.keys(n)},o.resolve=a,e.exports=o,o.id="5831"},2712:function(e,t,r){"use strict";r.r(t),r.d(t,{ScramjetClient:function(){return g}});var n=r(6707),o=r(9777),a=r(5974),s=r(2237),i=r(7932),l=r(8971),c=r(3498),u=r(4471),f=r(7706),p=r(5008);class g{global;documentProxy;globalProxy;locationProxy;serviceWorker;bare;descriptors;natives;wrapfn;cookieStore;eventcallbacks;meta;constructor(e){if(this.global=e,this.descriptors={},this.natives={},this.cookieStore=new u.hc,this.eventcallbacks=new Map,o.a in e)throw console.error("attempted to initialize a scramjet client, but one is already loaded - this is very bad"),Error();this.serviceWorker=this.global.navigator.serviceWorker,n.iswindow&&(this.documentProxy=(0,a.createDocumentProxy)(this,e),e.document[o.a]=this),this.locationProxy=(0,l.createLocationProxy)(this,e),this.globalProxy=(0,s.createGlobalProxy)(this,e),this.wrapfn=(0,f.createWrapFn)(this,e),n.iswindow?this.bare=new u.dg:this.bare=new u.dg(new Promise(e=>{addEventListener("message",({data:t})=>{"object"==typeof t&&"$scramjet$type"in t&&"baremuxinit"===t.$scramjet$type&&e(t.port)})}));let t=this;this.meta={get origin(){return t.url},get base(){if(n.iswindow){let e=t.global.document.querySelector("base");if(e){let r=e.getAttribute("href"),n=r.indexOf("#");if(!(r=r.substring(0,-1===n?void 0:n)))return t.url;return new URL(r,t.url.origin)}}return t.url}},e[o.a]=this}get frame(){if(!n.iswindow)return null;let e=this.global.window.frameElement;if(!e)return null;let t=e[o.D];if(!t){let e=this.global.window;for(;e.parent!=e;){if(!e.frameElement)return null;if(e.frameElement&&e.frameElement[o.D])return e.frameElement[o.D];e=e.parent.window}}return t}loadcookies(e){this.cookieStore.load(e)}hook(){let e=r(5831),t=[];for(let r of e.keys()){let n=e(r);r.endsWith(".ts")&&(r.startsWith("./dom/")&&"window"in this.global||r.startsWith("./worker/")&&"WorkerGlobalScope"in this.global||r.startsWith("./shared/"))&&t.push(n)}for(let e of(t.sort((e,t)=>{let r=e.order||0;return r-(t.order||0)}),t))!e.enabled||e.enabled(this)?e.default(this,this.global):e.disabled&&e.disabled(this,this.global)}get url(){return new URL((0,u.Sd)(this.global.location.href))}set url(e){e instanceof URL&&(e=e.toString());let t=new p.NavigateEvent(e);this.frame&&this.frame.dispatchEvent(t),!t.defaultPrevented&&(this.global.location.href=(0,u.dm)(t.url,this.meta))}Proxy(e,t){if(Array.isArray(e)){for(let r of e)this.Proxy(r,t);return}let r=e.split("."),n=r.pop(),o=r.reduce((e,t)=>e?.[t],this.global);if(!o)return;let a=Reflect.get(o,n);this.natives[e]=a,this.RawProxy(o,n,t)}RawProxy(e,t,r){if(!e||!t||!Reflect.has(e,t))return;let n=Reflect.get(e,t);delete e[t];let o={};r.construct&&(o.construct=function(e,t,n){let o;let a=!1,s={fn:e,this:null,args:t,newTarget:n,return:e=>{a=!0,o=e},call:()=>(a=!0,o=Reflect.construct(s.fn,s.args,s.newTarget))};return(r.construct(s),a)?o:Reflect.construct(s.fn,s.args,s.newTarget)}),r.apply&&(o.apply=function(e,t,n){let o;let a=!1,s={fn:e,this:t,args:n,newTarget:null,return:e=>{a=!0,o=e},call:()=>(a=!0,o=Reflect.apply(s.fn,s.this,s.args))},i=Error.prepareStackTrace;Error.prepareStackTrace=function(e,t){if(t[0].getFileName()&&!t[0].getFileName().startsWith(location.origin+u.vc.prefix))return{stack:e.stack}};try{r.apply(s)}catch(e){if(e instanceof Error){if(e.stack instanceof Object)e.stack=e.stack.stack,console.error("ERROR FROM SCRAMJET INTERNALS",e);else throw e}else throw e}return(Error.prepareStackTrace=i,a)?o:Reflect.apply(s.fn,s.this,s.args)}),o.getOwnPropertyDescriptor=i.getOwnPropertyDescriptorHandler,e[t]=new Proxy(n,o)}Trap(e,t){if(Array.isArray(e)){for(let r of e)this.Trap(r,t);return}let r=e.split("."),n=r.pop(),o=r.reduce((e,t)=>e?.[t],this.global);if(!o)return;let a=(0,c.nativeGetOwnPropertyDescriptor)(o,n);return this.descriptors[e]=a,this.RawTrap(o,n,t)}RawTrap(e,t,r){if(!e||!t||!Reflect.has(e,t))return;let n=(0,c.nativeGetOwnPropertyDescriptor)(e,t),o={this:null,get:function(){return n&&n.get.call(this.this)},set:function(e){n&&n.set.call(this.this,e)}};delete e[t];let a={};return r.get?a.get=function(){return o.this=this,r.get(o)}:n?.get&&(a.get=n.get),r.set?a.set=function(e){o.this=this,r.set(o,e)}:n?.set&&(a.set=n.set),r.enumerable?a.enumerable=r.enumerable:n?.enumerable&&(a.enumerable=n.enumerable),r.configurable?a.configurable=r.configurable:n?.configurable&&(a.configurable=n.configurable),Object.defineProperty(e,t,a),n}}},5974:function(e,t,r){"use strict";r.r(t),r.d(t,{createDocumentProxy:function(){return a}});var n=r(4471),o=r(7932);function a(e,t){return new Proxy(t.document,{get:(t,r)=>"location"===r?e.locationProxy:"defaultView"===r?e.globalProxy:Reflect.get(t,r),set(t,r,o){if("location"===r){location.href=(0,n.dm)(o,e.meta);return}return Reflect.set(t,r,o)},getOwnPropertyDescriptor:o.getOwnPropertyDescriptorHandler})}},8959:function(e,t,r){"use strict";function n(e,t){e.Trap("Element.prototype.attributes",{get(e){let t=e.get(),r=new Proxy(t,{get(e,n,o){let a=Reflect.get(e,n);return"length"===n?Object.keys(r).length:"getNamedItem"===n?e=>r[e]:"getNamedItemNS"===n?(e,t)=>r[`${e}:${t}`]:n in NamedNodeMap.prototype&&"function"==typeof a?new Proxy(a,{apply:(e,n,o)=>n===r?Reflect.apply(e,t,o):Reflect.apply(e,n,o)}):this.has(e,n)?a:void 0},ownKeys(e){return Reflect.ownKeys(e).filter(t=>this.has(e,t))},has:(e,r)=>"symbol"==typeof r?Reflect.has(e,r):!(r.startsWith("data-scramjet-")||t[r]?.name?.startsWith("data-scramjet-"))&&Reflect.has(e,r)});return r}}),e.Trap("Attr.prototype.value",{get:e=>e.this.ownerElement.getAttribute(e.this.name),set:(e,t)=>e.this.ownerElement.setAttribute(e.this.name,t)})}r.r(t),r.d(t,{default:function(){return n}})},2863:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return o}});var n=r(4471);function o(e,t){e.Proxy("Navigator.prototype.sendBeacon",{apply(t){t.args[0]=(0,n.dm)(t.args[0],e.meta)}})}},1197:function(e,t,r){"use strict";function n(e,t){e.serviceWorker.addEventListener("message",({data:t})=>{"scramjet$type"in t&&"cookie"===t.scramjet$type&&e.cookieStore.setCookies([t.cookie],new URL(t.url))}),e.Trap("Document.prototype.cookie",{get:()=>e.cookieStore.getCookies(e.url,!0),set(t,r){e.cookieStore.setCookies([r],e.url),e.serviceWorker.controller&&e.serviceWorker.controller.postMessage({scramjet$type:"cookie",cookie:r,url:e.url.href})}}),delete t.cookieStore}r.r(t),r.d(t,{default:function(){return n}})},7339:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return o}});var n=r(4471);function o(e){e.Proxy("CSSStyleDeclaration.prototype.setProperty",{apply(t){t.args[1]&&(t.args[1]=(0,n.U5)(t.args[1],e.meta))}}),e.Proxy("CSSStyleDeclaration.prototype.getPropertyValue",{apply(e){let t=e.call();if(!t)return t;e.return((0,n.Od)(t))}}),e.Trap("CSSStyleDeclaration.prototype.cssText",{set(t,r){t.set((0,n.U5)(r,e.meta))},get:e=>(0,n.Od)(e.get())}),e.Trap("HTMLElement.prototype.style",{get(t){let r=t.get();return new Proxy(r,{get(e,t){let o=Reflect.get(e,t);return"function"==typeof o?new Proxy(o,{apply:(e,t,n)=>Reflect.apply(e,r,n)}):t in CSSStyleDeclaration.prototype||!o?o:(0,n.Od)(o)},set:(t,r,o)=>"cssText"==r||""==o||"string"!=typeof o?Reflect.set(t,r,o):Reflect.set(t,r,(0,n.U5)(o,e.meta))})},set(e,t){e.set(t)}})}},1938:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return o}});var n=r(4471);function o(e,t){e.Proxy("Document.prototype.write",{apply(t){t.args[0]&&(t.args[0]=(0,n.r4)(t.args[0],e.cookieStore,e.meta,!1))}}),e.Proxy("Document.prototype.writeln",{apply(t){t.args[0]&&(t.args[0]=(0,n.r4)(t.args[0],e.cookieStore,e.meta,!1))}})}},2439:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return i}});var n=r(9777),o=r(2712),a=r(3498),s=r(4471);function i(e,t){t.Element.prototype.getAttribute;let r=t.Element.prototype.setAttribute;t.Element.prototype.hasAttribute;let i={nonce:[t.HTMLElement],integrity:[t.HTMLScriptElement,t.HTMLLinkElement],csp:[t.HTMLIFrameElement],credentialless:[t.HTMLIFrameElement],src:[t.HTMLImageElement,t.HTMLMediaElement,t.HTMLIFrameElement,t.HTMLEmbedElement,t.HTMLScriptElement,t.HTMLSourceElement],href:[t.HTMLAnchorElement,t.HTMLLinkElement,t.SVGUseElement],data:[t.HTMLObjectElement],action:[t.HTMLFormElement],formaction:[t.HTMLButtonElement,t.HTMLInputElement],srcdoc:[t.HTMLIFrameElement],srcset:[t.HTMLImageElement,t.HTMLSourceElement],imagesrcset:[t.HTMLLinkElement]},l=[t.HTMLAnchorElement.prototype,t.HTMLAreaElement.prototype],c=[(0,a.nativeGetOwnPropertyDescriptor)(t.HTMLAnchorElement.prototype,"href"),(0,a.nativeGetOwnPropertyDescriptor)(t.HTMLAreaElement.prototype,"href")];for(let e of Object.keys(i))for(let t of i[e]){let r=(0,a.nativeGetOwnPropertyDescriptor)(t.prototype,e);Object.defineProperty(t.prototype,e,{get(){return["src","data","href","action","formaction"].includes(e)?(0,s.Sd)(r.get.call(this)):r.get.call(this)},set(t){return this.setAttribute(e,t)}})}for(let t of["protocol","hash","host","hostname","origin","pathname","port","search"])for(let r in l){let n=l[r],o=c[r];e.RawTrap(n,t,{get(e){let r=o.get.call(e.this);return r?new URL((0,s.Sd)(r))[t]:r}})}e.Trap("Node.prototype.baseURI",{get(){let r=t.document.querySelector("base");return r?new URL(r.href,e.url.origin).href:e.url.origin},set:()=>!1}),e.Proxy("Element.prototype.setAttribute",{apply(t){let[r,n]=t.args,o=s.Gq.find(e=>{let n=e[r.toLowerCase()];return!!n&&("*"===n||"function"!=typeof n&&n.includes(t.this.tagName.toLowerCase()))});o&&(t.args[1]=o.fn(n,e.meta,e.cookieStore),t.fn.call(t.this,`data-scramjet-${t.args[0]}`,n))}}),e.Proxy("Element.prototype.setAttributeNS",{apply(t){let[n,o,a]=t.args,i=s.Gq.find(e=>{let r=e[o.toLowerCase()];return!!r&&("*"===r||"function"!=typeof r&&r.includes(t.this.tagName.toLowerCase()))});i&&(t.args[2]=i.fn(a,e.meta,e.cookieStore),r.call(t.this,`data-scramjet-${t.args[1]}`,a))}}),e.Proxy("Element.prototype.getAttribute",{apply(e){let[t]=e.args;e.fn.call(e.this,`data-scramjet-${t}`)&&e.return(e.fn.call(e.this,`data-scramjet-${t}`))}}),e.Trap("Element.prototype.innerHTML",{set(r,n){let o;if(r.this instanceof t.HTMLScriptElement)o=(0,s.Zs)(n,"(anonymous script element)",e.meta);else if(r.this instanceof t.HTMLStyleElement)o=(0,s.U5)(n,e.meta);else try{o=(0,s.r4)(n,e.cookieStore,e.meta)}catch{o=n}r.set(o)},get(r){if(r.this instanceof t.HTMLScriptElement){let t=e.natives["Element.prototype.getAttribute"].call(r.this,"data-scramjet-script-source-src");return t?atob(t):r.get()}return r.this instanceof t.HTMLStyleElement?r.get():(0,s.WT)(r.get())}}),e.Trap("Element.prototype.outerHTML",{set(t,r){t.set((0,s.r4)(r,e.cookieStore,e.meta))},get:e=>(0,s.WT)(e.get())}),e.Proxy("Element.prototype.insertAdjacentHTML",{apply(t){t.args[1]&&(t.args[1]=(0,s.r4)(t.args[1],e.cookieStore,e.meta,!1))}}),e.Trap("HTMLIFrameElement.prototype.contentWindow",{get(e){let t=e.get();if(!t)return t;if(n.a in t.self)return t.location.href.includes("accounts.google.com")?null:t.self[n.a].globalProxy;{let e=new o.ScramjetClient(t.self);return e.hook(),e.globalProxy}}}),e.Trap("HTMLIFrameElement.prototype.contentDocument",{get(t){let r=e.descriptors["HTMLIFrameElement.prototype.contentWindow"].get.apply(t.this);if(!r)return r;if(n.a in r.self)return r.self[n.a].documentProxy;{let e=new o.ScramjetClient(r.self);return e.hook(),e.documentProxy}}}),e.Trap("TreeWalker.prototype.currentNode",{get:e=>e.get(),set:(r,n)=>n==e.documentProxy?r.set(t.document):r.set(n)}),e.Trap("Node.prototype.ownerDocument",{get(e){let t=e.get();if(!t)return null;let r=t[n.a];return r?r.documentProxy:t}}),e.Trap(["Node.prototype.parentNode","Node.prototype.parentElement","Node.prototype.previousSibling","Node.prototype.nextSibling"],{get(e){let t=e.get();if(!(t instanceof Document))return t;let r=t[n.a];return r?r.documentProxy:t}}),e.Proxy("Node.prototype.getRootNode",{apply(e){let t=e.call();if(!(t instanceof Document))return e.return(t);let r=t[n.a];return r?e.return(r.documentProxy):e.return(t)}}),e.Proxy("DOMParser.prototype.parseFromString",{apply(t){"text/html"===t.args[1]&&(t.args[0]=(0,s.r4)(t.args[0],e.cookieStore,e.meta,!1))}})}},6643:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return o}});var n=r(4471);function o(e,t){e.Proxy("FontFace",{construct(t){t.args[1]=(0,n.U5)(t.args[1],e.meta)}})}},461:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return a}});var n=r(4471),o=r(5008);function a(e,t){e.Proxy("History.prototype.pushState",{apply(t){t.args[2]&&(t.args[2]=(0,n.dm)(t.args[2],e.meta)),t.call();let r=new o.UrlChangeEvent(e.url.href);e.frame&&e.frame.dispatchEvent(r)}}),e.Proxy("History.prototype.replaceState",{apply(t){t.args[2]&&(t.args[2]=(0,n.dm)(t.args[2],e.meta)),t.call();let r=new o.UrlChangeEvent(e.url.href);e.frame&&e.frame.dispatchEvent(r)}})}},3951:function(e,t,r){"use strict";function n(e){e.Proxy("IntersectionObserver",{construct(e){e.args[1]&&e.args[1].root&&(e.args[1].root=document),e.call()}})}r.r(t),r.d(t,{default:function(){return n}})},2410:function(e,t,r){"use strict";function n(e,t){delete t.navigation}r.r(t),r.d(t,{default:function(){return n}})},8805:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return s}});var n=r(4471),o=r(2712),a=r(9777);function s(e){e.Proxy("window.open",{apply(t){t.args[0]&&(t.args[0]=(0,n.dm)(t.args[0],e.meta)),["_parent","_top","_unfencedTop"].includes(t.args[1])&&(t.args[1]="_self");let r=t.call();if(!r)return t.return(r);if(a.a in r.self)return t.return(r.self[a.a].globalProxy.window);{let e=new o.ScramjetClient(r.self);return e.hook(),t.return(e.globalProxy)}}}),e.Trap("opener",{get(e){let t=e.get();return t&&a.a in t.self?t.self[a.a].globalProxy:void 0}}),e.Trap("window.frameElement",{get(e){let t=e.get();return t?t.ownerDocument.defaultView[a.a]?t:null:t}})}},3261:function(e,t,r){"use strict";function n(e,t){e.Trap("origin",{get:()=>e.url.origin,set:()=>!1}),e.Trap("Document.prototype.URL",{get:()=>e.url.href,set:()=>!1}),e.Trap("Document.prototype.documentURI",{get:()=>e.url.href,set:()=>!1}),e.Trap("Document.prototype.domain",{get:()=>e.url.hostname,set:()=>!1})}r.r(t),r.d(t,{default:function(){return n}})},4475:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return o}});var n=r(4471);function o(e,t){e.Trap("PerformanceEntry.prototype.name",{get:e=>(0,n.Sd)(e.get())})}},5707:function(e,t,r){"use strict";let n;r.r(t),r.d(t,{default:function(){return u},disabled:function(){return c},enabled:function(){return l},order:function(){return i}});var o=r(4471),a=r(7932),s=r(8810);let i=2,l=e=>(0,s.Sp)("serviceworkers",e.url);function c(e,t){Reflect.deleteProperty(Navigator.prototype,"serviceWorker")}function u(e,t){let r;e.Proxy("EventTarget.prototype.addEventListener",{apply(e){r===e.this&&e.return(void 0)}}),e.Proxy("EventTarget.prototype.removeEventListener",{apply(e){r===e.this&&e.return(void 0)}}),e.Proxy("navigator.serviceWorker.getRegistration",{apply(e){e.return(new Promise(e=>e(r)))}}),e.Proxy("navigator.serviceWorker.getRegistrations",{apply(e){e.return(new Promise(e=>e([r])))}}),e.Trap("navigator.serviceWorker.ready",{get:e=>(console.log(r),new Promise(e=>e(r)))}),e.Proxy("navigator.serviceWorker.register",{apply(t){t.args[0]instanceof URL&&(t.args[0]=t.args[0].href);let s=(0,o.dm)(t.args[0],e.meta)+"?dest=serviceworker";t.args[1]&&"module"===t.args[1].type&&(s+="&type=module");let i=new e.natives.SharedWorker(s).port;n.call(e.serviceWorker.controller,{scramjet$type:"registerServiceWorker",port:i,origin:e.url.origin},[i]);let l=new Proxy({__proto__:ServiceWorkerRegistration.prototype},{get:(e,r)=>"installing"===r||"waiting"===r?null:"active"===r?i:"scope"===r?t.args[0]:"unregister"===r||"addEventListener"===r?()=>{}:Reflect.get(e,r),getOwnPropertyDescriptor:a.getOwnPropertyDescriptorHandler});r=l,t.return(new Promise(e=>e(l)))}})}self.ServiceWorker&&(n=ServiceWorker.prototype.postMessage)},9227:function(e,t,r){"use strict";function n(e,t){let r={get(t,r){switch(r){case"getItem":return r=>t.getItem(e.url.host+"@"+r);case"setItem":return(r,n)=>t.setItem(e.url.host+"@"+r,n);case"removeItem":return r=>t.removeItem(e.url.host+"@"+r);case"clear":return()=>{for(let r in Object.keys(t))r.startsWith(e.url.host)&&t.removeItem(r)};case"key":return r=>{let n=Object.keys(t).filter(t=>t.startsWith(e.url.host));return t.getItem(n[r])};case"length":return Object.keys(t).filter(t=>t.startsWith(e.url.host)).length;default:if(r in Object.prototype||"symbol"==typeof r)return Reflect.get(t,r);return console.log("GET",r,t==n),t.getItem(e.url.host+"@"+r)}},set:(t,r,o)=>(t==n&&console.log("SET",r,o,t===n),t.setItem(e.url.host+"@"+r,o),!0),ownKeys:t=>Reflect.ownKeys(t).filter(t=>"string"==typeof t&&t.startsWith(e.url.host)).map(t=>"string"==typeof t?t.substring(e.url.host.length+1):t),getOwnPropertyDescriptor:(t,r)=>({value:t.getItem(e.url.host+"@"+r),enumerable:!0,configurable:!0,writable:!0}),defineProperty:(t,r,n)=>(t.setItem(e.url.host+"@"+r,n.value),!0)},n=t.localStorage;t.sessionStorage;let o=new Proxy(t.localStorage,r),a=new Proxy(t.sessionStorage,r);delete t.localStorage,delete t.sessionStorage,t.localStorage=o,t.sessionStorage=a}r.r(t),r.d(t,{default:function(){return n}})},5008:function(e,t,r){"use strict";r.r(t),r.d(t,{NavigateEvent:function(){return n},ScramjetContextInit:function(){return a},UrlChangeEvent:function(){return o}});class n extends Event{url;constructor(e){super("navigate"),this.url=e}}class o extends Event{url;constructor(e){super("urlchange"),this.url=e}}class a extends Event{window;constructor(e){super("contextInit"),this.window=e}}},2237:function(e,t,r){"use strict";r.r(t),r.d(t,{UNSAFE_GLOBALS:function(){return i},createGlobalProxy:function(){return l}});var n=r(6707),o=r(9777),a=r(2712),s=r(7932);let i=["window","self","globalThis","this","parent","top","location","document","eval","frames"];function l(e,t){return new Proxy(t,{get(t,r){let s=Reflect.get(t,r);if(n.iswindow&&("string"==typeof r||"number"==typeof r)&&!isNaN(Number(r))&&s){let e=s.self;if(e){if(o.a in e)return e[o.a].globalProxy;{let t=new a.ScramjetClient(e);return t.hook(),t.globalProxy}}}if("$scramjet"!==r)return"string"==typeof r&&i.includes(r)?e.wrapfn(s):s},set(t,r,n){if("location"===r){e.url=n;return}return Reflect.set(t,r,n)},has:(e,t)=>"$scramjet"!==t&&Reflect.has(e,t),ownKeys:e=>Reflect.ownKeys(e).filter(e=>"$scramjet"!==e),defineProperty:(e,t,r)=>(!r.get&&!r.set&&(r.writable=!0),r.configurable=!0,Reflect.defineProperty(e,t,r)),getOwnPropertyDescriptor:s.getOwnPropertyDescriptorHandler})}},7932:function(e,t,r){"use strict";function n(e,t){return Reflect.getOwnPropertyDescriptor(e,t)}r.r(t),r.d(t,{getOwnPropertyDescriptorHandler:function(){return n}})},6707:function(e,t,r){"use strict";r.r(t),r.d(t,{isdedicated:function(){return p},isemulatedsw:function(){return d},isshared:function(){return g},issw:function(){return f},iswindow:function(){return c},isworker:function(){return u}});var n=r(8810),o=r(9777),a=r(2712),s=r(5008),i=r(633),l=r(1762).Z;let c="window"in self,u="WorkerGlobalScope"in self,f="ServiceWorkerGlobalScope"in self,p="DedicatedWorkerGlobalScope"in self,g="SharedWorkerGlobalScope"in self,d="serviceworker"===new URL(self.location.href).searchParams.get("dest");if(l.log("scrammin"),!(o.a in self)){(0,n.t8)();let e=new a.ScramjetClient(self);self.COOKIE&&e.loadcookies(self.COOKIE),e.hook(),d&&new i.ScramjetServiceWorkerRuntime(e).hook();let t=new s.ScramjetContextInit(e.global.window);e.frame?.dispatchEvent(t)}"document"in self&&document?.currentScript&&document.currentScript.remove()},8971:function(e,t,r){"use strict";r.r(t),r.d(t,{createLocationProxy:function(){return s}});var n=r(3498),o=r(4471),a=r(6707);function s(e,t){let r=a.iswindow?t.Location:t.WorkerLocation,s={};Object.setPrototypeOf(s,r.prototype),s.constructor=r;let i=a.iswindow?t.location:r.prototype;for(let t of["protocol","hash","host","hostname","href","origin","pathname","port","search"]){let r=(0,n.nativeGetOwnPropertyDescriptor)(i,t);if(!r)continue;let o={configurable:!0,enumerable:!0};r.get&&(o.get=new Proxy(r.get,{apply:()=>e.url[t]})),r.set&&(o.set=new Proxy(r.set,{apply(r,n,o){if("href"===t){e.url=o[0];return}let a=new URL(e.url.href);a[t]=o[0],e.url=a}})),Object.defineProperty(s,t,o)}return s.toString=new Proxy(t.location.toString,{apply:()=>e.url.href}),t.location.valueOf&&(s.valueOf=new Proxy(t.location.valueOf,{apply:()=>e.url.href})),t.location.assign&&(s.assign=new Proxy(t.location.assign,{apply(r,n,a){a[0]=(0,o.dm)(a[0],e.meta),Reflect.apply(r,t.location,a)}})),t.location.reload&&(s.reload=new Proxy(t.location.reload,{apply(e,r,n){Reflect.apply(e,t.location,n)}})),t.location.replace&&(s.replace=new Proxy(t.location.replace,{apply(r,n,a){a[0]=(0,o.dm)(a[0],e.meta),Reflect.apply(r,t.location,a)}})),s}},3498:function(e,t,r){"use strict";r.r(t),r.d(t,{nativeFunction:function(){return n},nativeGetOwnPropertyDescriptor:function(){return o}});let n=self.Function,o=self.Object.getOwnPropertyDescriptor},8278:function(e,t,r){"use strict";function n(e){e.Proxy("console.clear",{apply(e){e.return(void 0)}});let t=console.log;e.Trap("console.log",{set(e,t){},get:e=>t})}r.r(t),r.d(t,{default:function(){return n}})},9447:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return o}});var n=r(4471);function o(e){e.Proxy("URL.createObjectURL",{apply(t){let r=t.call();r.startsWith("blob:")?t.return((0,n.ls)(r,e.meta)):t.return(r)}}),e.Proxy("URL.revokeObjectURL",{apply(e){e.args[0]=(0,n.Ag)(e.args[0])}})}},4169:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return o}});var n=r(4471);function o(e,t){e.Proxy("CacheStorage.prototype.open",{apply(t){t.args[0]=`${e.url.origin}@${t.args[0]}`}}),e.Proxy("CacheStorage.prototype.has",{apply(t){t.args[0]=`${e.url.origin}@${t.args[0]}`}}),e.Proxy("CacheStorage.prototype.match",{apply(t){("string"==typeof t.args[0]||t.args[0]instanceof URL)&&(t.args[0]=(0,n.dm)(t.args[0].toString(),e.meta))}}),e.Proxy("CacheStorage.prototype.delete",{apply(t){t.args[0]=`${e.url.origin}@${t.args[0]}`}}),e.Proxy("Cache.prototype.add",{apply(t){("string"==typeof t.args[0]||t.args[0]instanceof URL)&&(t.args[0]=(0,n.dm)(t.args[0].toString(),e.meta))}}),e.Proxy("Cache.prototype.addAll",{apply(t){for(let r=0;r(0,n.Sp)("captureErrors",e.url);function a(e,t=[]){switch(typeof e){case"string":e.includes("localhost:1337/scramjet/")&&e.includes("m3u8");break;case"object":if(e&&e[Symbol.iterator]&&"function"==typeof e[Symbol.iterator])for(let r in e){let n=Object.getOwnPropertyDescriptor(e,r);if(n&&n.get)continue;let o=e[r];!t.includes(o)&&(t.push(o),a(o,t))}}}function s(e,t){t.$scramerr=function(e){console.warn("CAUGHT ERROR",e)},t.$scramdbg=function(e,t){return e&&"object"==typeof e&&e.length>0&&a(e),a(t),t},e.Proxy("Promise.prototype.catch",{apply(e){e.args[0]&&(e.args[0]=new Proxy(e.args[0],{apply(e,t,r){Reflect.apply(e,t,r)}}))}})}},7651:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return s},enabled:function(){return a}});var n=r(8810),o=r(4471);let a=e=>(0,n.Sp)("cleanerrors",e.url);function s(e,t){let r=(e,t)=>{let r=e.stack;for(let e=0;ee.includes(n));e.splice(t,1),r=e.join("\n");continue}try{r=r.replaceAll(n,(0,o.Sd)(n))}catch{}}return r};e.Trap("Error.prepareStackTrace",{get:e=>r,set(e){}})}},4423:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return o},indirectEval:function(){return a}});var n=r(4471);function o(e,t){Object.defineProperty(t,n.vc.globals.rewritefn,{value:function(t){return"string"!=typeof t?t:(0,n.Zs)(t,null,e.meta)},writable:!1,configurable:!1})}function a(e){return"string"!=typeof e?e:(0,this.global.eval)((0,n.Zs)(e,null,this.meta))}},8231:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return c}});var n=r(6707),o=r(9777),a=r(7932),s=r(3498),i=r(2370);let l=Symbol.for("scramjet original onevent function");function c(e,t){let r={message:{_init(){return("object"!=typeof this.data||!("$scramjet$type"in this.data))&&!0},ports(){return this.ports},source(){if(null===this.source)return null;let e=this.source[o.a];return e?e.globalProxy:this.source},origin(){return"object"==typeof this.data&&"$scramjet$origin"in this.data?this.data.$scramjet$origin:e.url.origin},data(){return"object"==typeof this.data&&"$scramjet$data"in this.data?this.data.$scramjet$data:this.data}}};function c(e){return new Proxy(e,{apply(e,n,o){let s=o[0];if(s.isTrusted){let t=s.type;if(t in r){let n=r[t];if(n._init&&!1===n._init.call(s))return;o[0]=new Proxy(s,{get:(t,r,o)=>r in n?n[r].call(t):Reflect.get(e,r,o),getOwnPropertyDescriptor:a.getOwnPropertyDescriptorHandler})}}return!t.event&&Object.defineProperty(t,"event",{get:()=>o[0],configurable:!0}),Reflect.apply(e,n,o)},getOwnPropertyDescriptor:a.getOwnPropertyDescriptorHandler})}e.Proxy("EventTarget.prototype.addEventListener",{apply(t){if((0,i.unproxy)(t,e),"function"!=typeof t.args[1])return;let r=t.args[1],n=c(r);t.args[1]=n;let o=e.eventcallbacks.get(t.this);(o||=[]).push({event:t.args[0],originalCallback:r,proxiedCallback:n}),e.eventcallbacks.set(t.this,o)}}),e.Proxy("EventTarget.prototype.removeEventListener",{apply(t){if((0,i.unproxy)(t,e),"function"!=typeof t.args[1])return;let r=e.eventcallbacks.get(t.this);if(!r)return;let n=r.findIndex(e=>e.event===t.args[0]&&e.originalCallback===t.args[1]);if(-1===n)return;let o=r.splice(n,1);e.eventcallbacks.set(t.this,r),t.args[1]=o[0].proxiedCallback}}),e.Proxy("EventTarget.prototype.dispatchEvent",{apply(t){(0,i.unproxy)(t,e)}});let u=[t.self,t.MessagePort.prototype];for(let o of(n.iswindow&&u.push(t.HTMLElement.prototype),t.Worker&&u.push(t.Worker.prototype),u))for(let t of Reflect.ownKeys(o))if("string"==typeof t&&t.startsWith("on")&&r[t.slice(2)]){let r=(0,s.nativeGetOwnPropertyDescriptor)(o,t);if(!r.get||!r.set||!r.configurable)continue;e.RawTrap(o,t,{get(e){return this[l]?this[l]:e.get()},set(e,t){if(this[l]=t,"function"!=typeof t)return e.set(t);e.set(c(t))}})}}},7636:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return a}});var n=r(4471);function o(e,t){let r=e.call().toString(),o=(0,n.Zs)(`return ${r}`,null,t.meta);e.return(e.fn(o)())}function a(e,t){let r={apply(t){o(t,e)},construct(t){o(t,e)}};e.Proxy("Function",r),e.RawProxy((function(){}).constructor.prototype,"constructor",r),e.RawProxy((async function(){}).constructor.prototype,"constructor",r),e.RawProxy((function*(){}).constructor.prototype,"constructor",r),e.RawProxy((async function*(){}).constructor.prototype,"constructor",r)}},7513:function(e,t,r){"use strict";let n;r.r(t),r.d(t,{default:()=>S});var o=r("4471"),a=r("8810");let s=0,i=null;function l(){return(null===i||i.buffer!==n.memory.buffer)&&(i=new Uint8Array(n.memory.buffer)),i}let c="undefined"!=typeof TextEncoder?new TextEncoder("utf-8"):{encode:()=>{throw Error("TextEncoder not available")}},u=function(e,t){let r=c.encode(e);return t.set(r),{read:e.length,written:r.length}};function f(e,t,r){if(void 0===r){let r=c.encode(e),n=t(r.length,1)>>>0;return l().subarray(n,n+r.length).set(r),s=r.length,n}let n=e.length,o=t(n,1)>>>0,a=l(),i=0;for(;i127)break;a[o+i]=t}if(i!==n){0!==i&&(e=e.slice(i)),o=r(o,n,n=i+3*e.length,1)>>>0;let t=u(e,l().subarray(o+i,o+n));i+=t.written,o=r(o,n,i,1)>>>0}return s=i,o}let p=null;function g(){return(null===p||p.buffer!==n.memory.buffer)&&(p=new DataView(n.memory.buffer)),p}let d="undefined"!=typeof TextDecoder?new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}):{decode:()=>{throw Error("TextDecoder not available")}};function y(e,t){return e>>>=0,d.decode(l().slice(e,e+t))}"undefined"!=typeof TextDecoder&&d.decode();function m(e){let t=n.__wbindgen_export_4.get(e);return n.__externref_table_dealloc(e),t}function b(e,t){try{return e.apply(this,t)}catch(t){let e=function(e){let t=n.__externref_table_alloc();return n.__wbindgen_export_4.set(t,e),t}(t);n.__wbindgen_exn_store(e)}}async function h(e,t){if("function"==typeof Response&&e instanceof Response){if("function"==typeof WebAssembly.instantiateStreaming)try{return await WebAssembly.instantiateStreaming(e,t)}catch(t){if("application/wasm"!=e.headers.get("Content-Type"))console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",t);else throw t}let r=await e.arrayBuffer();return await WebAssembly.instantiate(r,t)}{let r=await WebAssembly.instantiate(e,t);return r instanceof WebAssembly.Instance?{instance:r,module:e}:r}}function w(){let e={};return e.wbg={},e.wbg.__wbindgen_string_get=function(e,t){let r="string"==typeof t?t:void 0;var o,a=null==(o=r)?0:f(r,n.__wbindgen_malloc,n.__wbindgen_realloc),i=s;g().setInt32(e+4,i,!0),g().setInt32(e+0,a,!0)},e.wbg.__wbindgen_error_new=function(e,t){return Error(y(e,t))},e.wbg.__wbindgen_string_new=function(e,t){return y(e,t)},e.wbg.__wbg_now_d3cbc9581625f686=function(e){return e.now()},e.wbg.__wbg_set_e864d25d9b399c9f=function(){return b(function(e,t,r){return Reflect.set(e,t,r)},arguments)},e.wbg.__wbg_new_1cabf49927794f50=function(){return b(function(e,t){return new URL(y(e,t))},arguments)},e.wbg.__wbg_call_5fb7c8066a4a4825=function(){return b(function(e,t,r,n){return e.call(t,r,n)},arguments)},e.wbg.__wbindgen_boolean_get=function(e){return"boolean"==typeof e?e?1:0:2},e.wbg.__wbg_new_e69b5f66fda8f13c=function(){return{}},e.wbg.__wbindgen_uint8_array_new=function(e,t){var r,o,a=(r=e,o=t,r>>>=0,l().subarray(r/1,r/1+o)).slice();return n.__wbindgen_free(e,1*t,1),a},e.wbg.__wbindgen_array_new=function(){return[]},e.wbg.__wbindgen_array_push=function(e,t){e.push(t)},e.wbg.__wbindgen_number_new=function(e){return e},e.wbg.__wbg_new_abda76e883ba8a5f=function(){return Error()},e.wbg.__wbg_stack_658279fe44541cf6=function(e,t){let r=f(t.stack,n.__wbindgen_malloc,n.__wbindgen_realloc),o=s;g().setInt32(e+4,o,!0),g().setInt32(e+0,r,!0)},e.wbg.__wbg_error_f851667af71bcfc6=function(e,t){let r,o;try{r=e,o=t,console.error(y(e,t))}finally{n.__wbindgen_free(r,o,1)}},e.wbg.__wbindgen_is_object=function(e){return"object"==typeof e&&null!==e},e.wbg.__wbg_crypto_1d1f22824a6a080c=function(e){return e.crypto},e.wbg.__wbg_process_4a72847cc503995b=function(e){return e.process},e.wbg.__wbg_versions_f686565e586dd935=function(e){return e.versions},e.wbg.__wbg_node_104a2ff8d6ea03a2=function(e){return e.node},e.wbg.__wbindgen_is_string=function(e){return"string"==typeof e},e.wbg.__wbg_require_cca90b1a94a0255b=function(){return b(function(){return module.require},arguments)},e.wbg.__wbg_msCrypto_eb05e62b530a1508=function(e){return e.msCrypto},e.wbg.__wbg_newwithlength_76462a666eca145f=function(e){return new Uint8Array(e>>>0)},e.wbg.__wbindgen_is_function=function(e){return"function"==typeof e},e.wbg.__wbg_get_ef828680c64da212=function(){return b(function(e,t){return Reflect.get(e,t)},arguments)},e.wbg.__wbg_self_bf91bf94d9e04084=function(){return b(function(){return self.self},arguments)},e.wbg.__wbg_window_52dd9f07d03fd5f8=function(){return b(function(){return window.window},arguments)},e.wbg.__wbg_globalThis_05c129bf37fcf1be=function(){return b(function(){return globalThis.globalThis},arguments)},e.wbg.__wbg_global_3eca19bb09e9c484=function(){return b(function(){return global.global},arguments)},e.wbg.__wbindgen_is_undefined=function(e){return void 0===e},e.wbg.__wbg_newnoargs_1ede4bf2ebbaaf43=function(e,t){return Function(y(e,t))},e.wbg.__wbg_call_a9ef466721e824f2=function(){return b(function(e,t){return e.call(t)},arguments)},e.wbg.__wbg_call_3bfa248576352471=function(){return b(function(e,t,r){return e.call(t,r)},arguments)},e.wbg.__wbindgen_memory=function(){return n.memory},e.wbg.__wbg_buffer_ccaed51a635d8a2d=function(e){return e.buffer},e.wbg.__wbg_newwithbyteoffsetandlength_7e3eb787208af730=function(e,t,r){return new Uint8Array(e,t>>>0,r>>>0)},e.wbg.__wbg_randomFillSync_5c9c955aa56b6049=function(){return b(function(e,t){e.randomFillSync(t)},arguments)},e.wbg.__wbg_subarray_975a06f9dbd16995=function(e,t,r){return e.subarray(t>>>0,r>>>0)},e.wbg.__wbg_getRandomValues_3aa56aa6edec874c=function(){return b(function(e,t){e.getRandomValues(t)},arguments)},e.wbg.__wbg_new_fec2611eb9180f95=function(e){return new Uint8Array(e)},e.wbg.__wbg_set_ec2fcf81bc573fd9=function(e,t,r){e.set(t,r>>>0)},e.wbg.__wbindgen_throw=function(e,t){throw Error(y(e,t))},e.wbg.__wbindgen_debug_string=function(e,t){let r=f(function e(t){let r;let n=typeof t;if("number"==n||"boolean"==n||null==t)return`${t}`;if("string"==n)return`"${t}"`;if("symbol"==n){let e=t.description;return null==e?"Symbol":`Symbol(${e})`}if("function"==n){let e=t.name;return"string"==typeof e&&e.length>0?`Function(${e})`:"Function"}if(Array.isArray(t)){let r=t.length,n="[";r>0&&(n+=e(t[0]));for(let o=1;o1))return toString.call(t);r=o[1];if("Object"==r)try{return"Object("+JSON.stringify(t)+")"}catch(e){return"Object"}return t instanceof Error?`${t.name}: ${t.message}
-${t.stack}`:r}(t),n.__wbindgen_malloc,n.__wbindgen_realloc),o=s;g().setInt32(e+4,o,!0),g().setInt32(e+0,r,!0)},e.wbg.__wbindgen_init_externref_table=function(){let e=n.__wbindgen_export_4,t=e.grow(4);e.set(0,void 0),e.set(t+0,void 0),e.set(t+1,null),e.set(t+2,!0),e.set(t+3,!1)},e}function _(e,t){e.wbg.memory=t||new WebAssembly.Memory({initial:22,maximum:16384,shared:!0})}function v(e,t,r){if(n=e.exports,x.__wbindgen_wasm_module=t,p=null,i=null,void 0!==r&&("number"!=typeof r||0===r||r%65536!=0))throw"invalid stack size";return n.__wbindgen_start(r),n}async function x(e,t){let r;if(void 0!==n)return n;void 0!==e&&(Object.getPrototypeOf(e)===Object.prototype?{module_or_path:e,memory:t,thread_stack_size:r}=e:console.warn("using deprecated parameters for the initialization function; pass a single object instead")),void 0===e&&(e=new URL("rewriter_bg.wasm",""));let o=w();("string"==typeof e||"function"==typeof Request&&e instanceof Request||"function"==typeof URL&&e instanceof URL)&&(e=fetch(e)),_(o,t);let{instance:a,module:s}=await h(await e,o);return v(a,s,r)}!function(e,t){let r;if(void 0!==n)return;void 0!==e&&(Object.getPrototypeOf(e)===Object.prototype?{module:e,memory:t,thread_stack_size:r}=e:console.warn("using deprecated parameters for `initSync()`; pass a single object instead"));let o=w();_(o,t),!(e instanceof WebAssembly.Module)&&(e=new WebAssembly.Module(e)),v(new WebAssembly.Instance(e,o),e,r)}({module:new WebAssembly.Module(Uint8Array.from(atob(self.WASM),e=>e.charCodeAt(0)))}),n.init(),Error.stackTraceLimit=50;let P=new TextDecoder;function S(e,t){let r=e.natives.Function;t[o.vc.globals.importfn]=function(t){return function(o){let i=new URL(o,t).href;return r(`return import("${function(e,t){if(e instanceof URL&&(e=e.href),e.startsWith("javascript:"))return"javascript:"+function(e,t,r){if((0,a.Sp)("naiiveRewriter",r.origin)){let t="string"==typeof e?e:new TextDecoder().decode(e);return console.log("naiive"),function(e){return"string"!=typeof e&&(e=new TextDecoder().decode(e)),`
+(()=>{var e={5831:function(e,t,r){var n={"./":"6707","./client":"2712","./client.ts":"2712","./document":"5974","./document.ts":"5974","./dom/attr":"8959","./dom/attr.ts":"8959","./dom/beacon":"2863","./dom/beacon.ts":"2863","./dom/cookie":"1197","./dom/cookie.ts":"1197","./dom/css":"7339","./dom/css.ts":"7339","./dom/document":"1938","./dom/document.ts":"1938","./dom/element":"2439","./dom/element.ts":"2439","./dom/fontface":"6643","./dom/fontface.ts":"6643","./dom/history":"461","./dom/history.ts":"461","./dom/intersectionobserver":"3951","./dom/intersectionobserver.ts":"3951","./dom/navigation":"2410","./dom/navigation.ts":"2410","./dom/open":"8805","./dom/open.ts":"8805","./dom/origin":"3261","./dom/origin.ts":"3261","./dom/performance":"4475","./dom/performance.ts":"4475","./dom/serviceworker":"5707","./dom/serviceworker.ts":"5707","./dom/storage":"9227","./dom/storage.ts":"9227","./events":"5008","./events.ts":"5008","./global":"2237","./global.ts":"2237","./helpers":"7932","./helpers.ts":"7932","./index":"6707","./index.ts":"6707","./location":"8971","./location.ts":"8971","./natives":"3498","./natives.ts":"3498","./shared/antiantidebugger":"8278","./shared/antiantidebugger.ts":"8278","./shared/blob":"9447","./shared/blob.ts":"9447","./shared/caches":"4169","./shared/caches.ts":"4169","./shared/err":"5146","./shared/err.ts":"5146","./shared/error":"7651","./shared/error.ts":"7651","./shared/eval":"4423","./shared/eval.ts":"4423","./shared/event":"8231","./shared/event.ts":"8231","./shared/function":"7636","./shared/function.ts":"7636","./shared/import":"4306","./shared/import.ts":"4306","./shared/indexeddb":"2930","./shared/indexeddb.ts":"2930","./shared/postmessage":"2625","./shared/postmessage.ts":"2625","./shared/realm":"6594","./shared/realm.ts":"6594","./shared/requests/eventsource":"2738","./shared/requests/eventsource.ts":"2738","./shared/requests/fetch":"106","./shared/requests/fetch.ts":"106","./shared/requests/websocket":"7219","./shared/requests/websocket.ts":"7219","./shared/requests/xmlhttprequest":"7481","./shared/requests/xmlhttprequest.ts":"7481","./shared/sourcemaps":"6321","./shared/sourcemaps.ts":"6321","./shared/trustedTypes":"1587","./shared/trustedTypes.ts":"1587","./shared/unproxy":"2370","./shared/unproxy.ts":"2370","./shared/worker":"8475","./shared/worker.ts":"8475","./shared/wrap":"7706","./shared/wrap.ts":"7706","./swruntime":"633","./swruntime.ts":"633","./worker/importScripts":"5425","./worker/importScripts.ts":"5425"};function o(e){return r(a(e))}function a(e){if(!r.o(n,e)){var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return n[e]}o.keys=function(){return Object.keys(n)},o.resolve=a,e.exports=o,o.id="5831"},2712:function(e,t,r){"use strict";r.r(t),r.d(t,{ScramjetClient:function(){return g}});var n=r(6707),o=r(9777),a=r(5974),s=r(2237),i=r(7932),l=r(8971),c=r(3498),u=r(4471),p=r(7706),f=r(5008);class g{global;documentProxy;globalProxy;locationProxy;serviceWorker;bare;natives;descriptors;wrapfn;cookieStore;eventcallbacks;meta;constructor(e){if(this.global=e,this.cookieStore=new u.hc,this.eventcallbacks=new Map,o.a in e)throw console.error("attempted to initialize a scramjet cl ient, but one is already loaded - this is very bad"),Error();this.serviceWorker=this.global.navigator.serviceWorker,n.iswindow&&(this.documentProxy=(0,a.createDocumentProxy)(this,e),e.document[o.a]=this),this.locationProxy=(0,l.createLocationProxy)(this,e),this.globalProxy=(0,s.createGlobalProxy)(this,e),this.wrapfn=(0,p.createWrapFn)(this,e),n.iswindow?this.bare=new u.dg:this.bare=new u.dg(new Promise(e=>{addEventListener("message",({data:t})=>{"object"==typeof t&&"$scramjet$type"in t&&"baremuxinit"===t.$scramjet$type&&e(t.port)})})),this.natives={store:new Proxy({},{get:(e,t)=>{if(t in e)return e[t];let r=t.split("."),n=r.pop(),o=r.reduce((e,t)=>e?.[t],this.global);if(!o)return;let a=Reflect.get(o,n);return e[t]=a,e[t]}}),construct(e,...t){let r=this.store[e];if(r)return new r(...t)},call(e,t,...r){let n=this.store[e];if(n)return n.call(t,...r)}},this.descriptors={store:new Proxy({},{get:(e,t)=>{if(t in e)return e[t];let r=t.split("."),n=r.pop(),o=r.reduce((e,t)=>e?.[t],this.global);if(!o)return;let a=(0,c.nativeGetOwnPropertyDescriptor)(o,n);return e[t]=a,e[t]}}),get(e,t){let r=this.store[e];if(r)return r.get.call(t)},set(e,t,r){let n=this.store[e];n&&n.set.call(t,r)}};let t=this;this.meta={get origin(){return t.url},get base(){if(n.iswindow){let e=t.global.document.querySelector("base");if(e){let r=e.getAttribute("href"),n=r.indexOf("#");if(!(r=r.substring(0,-1===n?void 0:n)))return t.url;return new URL(r,t.url.origin)}}return t.url}},e[o.a]=this}get frame(){if(!n.iswindow)return null;let e=this.descriptors["window.frameElement"]?this.descriptors["window.frameElement"].get.call(this.global):this.global.window.frameElement;if(!e)return null;let t=e[o.D];if(!t){let e=this.global.window;for(;e.parent!=e;){if(!e.frameElement)return null;if(e.frameElement&&e.frameElement[o.D])return e.frameElement[o.D];e=e.parent.window}}return t}loadcookies(e){this.cookieStore.load(e)}hook(){let e=r(5831),t=[];for(let r of e.keys()){let n=e(r);r.endsWith(".ts")&&(r.startsWith("./dom/")&&"window"in this.global||r.startsWith("./worker/")&&"WorkerGlobalScope"in this.global||r.startsWith("./shared/"))&&t.push(n)}for(let e of(t.sort((e,t)=>{let r=e.order||0;return r-(t.order||0)}),t))!e.enabled||e.enabled(this)?e.default(this,this.global):e.disabled&&e.disabled(this,this.global)}get url(){return new URL((0,u.Sd)(this.global.location.href))}set url(e){e instanceof URL&&(e=e.toString());let t=new f.NavigateEvent(e);this.frame&&this.frame.dispatchEvent(t),!t.defaultPrevented&&(this.global.location.href=(0,u.dm)(t.url,this.meta))}Proxy(e,t){if(Array.isArray(e)){for(let r of e)this.Proxy(r,t);return}let r=e.split("."),n=r.pop(),o=r.reduce((e,t)=>e?.[t],this.global);if(!o)return;let a=Reflect.get(o,n);this.natives.store[e]=a,this.RawProxy(o,n,t)}RawProxy(e,t,r){if(!e||!t||!Reflect.has(e,t))return;let n=Reflect.get(e,t);delete e[t];let o={};r.construct&&(o.construct=function(e,t,n){let o;let a=!1,s={fn:e,this:null,args:t,newTarget:n,return:e=>{a=!0,o=e},call:()=>(a=!0,o=Reflect.construct(s.fn,s.args,s.newTarget))};return(r.construct(s),a)?o:Reflect.construct(s.fn,s.args,s.newTarget)}),r.apply&&(o.apply=function(e,t,n){let o;let a=!1,s={fn:e,this:t,args:n,newTarget:null,return:e=>{a=!0,o=e},call:()=>(a=!0,o=Reflect.apply(s.fn,s.this,s.args))},i=Error.prepareStackTrace;Error.prepareStackTrace=function(e,t){if(t[0].getFileName()&&!t[0].getFileName().startsWith(location.origin+u.vc.prefix))return{stack:e.stack}};try{r.apply(s)}catch(e){if(e instanceof Error){if(e.stack instanceof Object)e.stack=e.stack.stack,console.error("ERROR FROM SCRAMJET INTERNALS",e);else throw e}else throw e}return(Error.prepareStackTrace=i,a)?o:Reflect.apply(s.fn,s.this,s.args)}),o.getOwnPropertyDescriptor=i.getOwnPropertyDescriptorHandler,e[t]=new Proxy(n,o)}Trap(e,t){if(Array.isArray(e)){for(let r of e)this.Trap(r,t);return}let r=e.split("."),n=r.pop(),o=r.reduce((e,t)=>e?.[t],this.global);if(!o)return;let a=(0,c.nativeGetOwnPropertyDescriptor)(o,n);return this.descriptors.store[e]=a,this.RawTrap(o,n,t)}RawTrap(e,t,r){if(!e||!t||!Reflect.has(e,t))return;let n=(0,c.nativeGetOwnPropertyDescriptor)(e,t),o={this:null,get:function(){return n&&n.get.call(this.this)},set:function(e){n&&n.set.call(this.this,e)}};delete e[t];let a={};return r.get?a.get=function(){return o.this=this,r.get(o)}:n?.get&&(a.get=n.get),r.set?a.set=function(e){o.this=this,r.set(o,e)}:n?.set&&(a.set=n.set),r.enumerable?a.enumerable=r.enumerable:n?.enumerable&&(a.enumerable=n.enumerable),r.configurable?a.configurable=r.configurable:n?.configurable&&(a.configurable=n.configurable),Object.defineProperty(e,t,a),n}}},5974:function(e,t,r){"use strict";r.r(t),r.d(t,{createDocumentProxy:function(){return a}});var n=r(4471),o=r(7932);function a(e,t){return new Proxy(t.document,{get:(t,r)=>"location"===r?e.locationProxy:"defaultView"===r?e.globalProxy:Reflect.get(t,r),set(t,r,o){if("location"===r){location.href=(0,n.dm)(o,e.meta);return}return Reflect.set(t,r,o)},getOwnPropertyDescriptor:o.getOwnPropertyDescriptorHandler})}},8959:function(e,t,r){"use strict";function n(e,t){e.Trap("Element.prototype.attributes",{get(e){let t=e.get(),r=new Proxy(t,{get(e,n,o){let a=Reflect.get(e,n);return"length"===n?Object.keys(r).length:"getNamedItem"===n?e=>r[e]:"getNamedItemNS"===n?(e,t)=>r[`${e}:${t}`]:n in NamedNodeMap.prototype&&"function"==typeof a?new Proxy(a,{apply:(e,n,o)=>n===r?Reflect.apply(e,t,o):Reflect.apply(e,n,o)}):"string"!=typeof n&&"number"!=typeof n||isNaN(Number(n))?this.has(e,n)?a:void 0:t[Object.keys(r)[n]]},ownKeys(e){return Reflect.ownKeys(e).filter(t=>this.has(e,t))},has:(e,r)=>"symbol"==typeof r?Reflect.has(e,r):!(r.startsWith("scramjet-attr-")||t[r]?.name?.startsWith("scramjet-attr-"))&&Reflect.has(e,r)});return r}}),e.Trap("Attr.prototype.value",{get:e=>e.this?.ownerElement?e.this.ownerElement.getAttribute(e.this.name):e.get(),set:(e,t)=>e.this?.ownerElement?e.this.ownerElement.setAttribute(e.this.name,t):e.set(t)})}r.r(t),r.d(t,{default:function(){return n}})},2863:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return o}});var n=r(4471);function o(e,t){e.Proxy("Navigator.prototype.sendBeacon",{apply(t){t.args[0]=(0,n.dm)(t.args[0],e.meta)}})}},1197:function(e,t,r){"use strict";function n(e,t){e.serviceWorker.addEventListener("message",({data:t})=>{"scramjet$type"in t&&"cookie"===t.scramjet$type&&e.cookieStore.setCookies([t.cookie],new URL(t.url))}),e.Trap("Document.prototype.cookie",{get:()=>e.cookieStore.getCookies(e.url,!0),set(t,r){e.cookieStore.setCookies([r],e.url);let n=e.descriptors.get("ServiceWorkerContainer.prototype.controller",e.serviceWorker);n&&e.natives.call("ServiceWorker.prototype.postMessage",n,{scramjet$type:"cookie",cookie:r,url:e.url.href})}}),delete t.cookieStore}r.r(t),r.d(t,{default:function(){return n}})},7339:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return o}});var n=r(4471);function o(e){e.Proxy("CSSStyleDeclaration.prototype.setProperty",{apply(t){t.args[1]&&(t.args[1]=(0,n.U5)(t.args[1],e.meta))}}),e.Proxy("CSSStyleDeclaration.prototype.getPropertyValue",{apply(e){let t=e.call();if(!t)return t;e.return((0,n.Od)(t))}}),e.Trap("CSSStyleDeclaration.prototype.cssText",{set(t,r){t.set((0,n.U5)(r,e.meta))},get:e=>(0,n.Od)(e.get())}),e.Trap("HTMLElement.prototype.style",{get(t){let r=t.get();return new Proxy(r,{get(e,t){let o=Reflect.get(e,t);return"function"==typeof o?new Proxy(o,{apply:(e,t,n)=>Reflect.apply(e,r,n)}):t in CSSStyleDeclaration.prototype||!o?o:(0,n.Od)(o)},set:(t,r,o)=>"cssText"==r||""==o||"string"!=typeof o?Reflect.set(t,r,o):Reflect.set(t,r,(0,n.U5)(o,e.meta))})},set(e,t){e.set(t)}})}},1938:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return o}});var n=r(4471);function o(e,t){e.Proxy("Document.prototype.write",{apply(t){if(t.args[0])try{t.args[0]=(0,n.r4)(t.args[0],e.cookieStore,e.meta,!1)}catch{}}}),e.Proxy("Document.prototype.writeln",{apply(t){if(t.args[0])try{t.args[0]=(0,n.r4)(t.args[0],e.cookieStore,e.meta,!1)}catch{}}})}},2439:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return l}});var n=r(9777),o=r(2712),a=r(3498),s=r(4471);let i=new TextEncoder;function l(e,t){let r={nonce:[t.HTMLElement],integrity:[t.HTMLScriptElement,t.HTMLLinkElement],csp:[t.HTMLIFrameElement],credentialless:[t.HTMLIFrameElement],src:[t.HTMLImageElement,t.HTMLMediaElement,t.HTMLIFrameElement,t.HTMLFrameElement,t.HTMLEmbedElement,t.HTMLScriptElement,t.HTMLSourceElement],href:[t.HTMLAnchorElement,t.HTMLLinkElement,t.SVGUseElement,t.SVGImageElement],data:[t.HTMLObjectElement],action:[t.HTMLFormElement],formaction:[t.HTMLButtonElement,t.HTMLInputElement],srcdoc:[t.HTMLIFrameElement],srcset:[t.HTMLImageElement,t.HTMLSourceElement],poster:[t.HTMLVideoElement],imagesrcset:[t.HTMLLinkElement]},l=[t.HTMLAnchorElement.prototype,t.HTMLAreaElement.prototype],c=[(0,a.nativeGetOwnPropertyDescriptor)(t.HTMLAnchorElement.prototype,"href"),(0,a.nativeGetOwnPropertyDescriptor)(t.HTMLAreaElement.prototype,"href")];for(let e of Object.keys(r))for(let t of r[e]){let r=(0,a.nativeGetOwnPropertyDescriptor)(t.prototype,e);Object.defineProperty(t.prototype,e,{get(){return["src","data","href","action","formaction"].includes(e)?(0,s.Sd)(r.get.call(this)):r.get.call(this)},set(t){return this.setAttribute(e,t)}})}for(let t of["protocol","hash","host","hostname","origin","pathname","port","search"])for(let r in l){let n=l[r],o=c[r];e.RawTrap(n,t,{get(e){let r=o.get.call(e.this);return r?new URL((0,s.Sd)(r))[t]:r}})}e.Trap("Node.prototype.baseURI",{get(){let r=t.document.querySelector("base");return r?new URL(r.href,e.url.origin).href:e.url.origin},set:()=>!1}),e.Proxy("Element.prototype.getAttribute",{apply(t){let[r]=t.args;if(r.startsWith("scramjet-attr"))return t.return(null);if(e.natives.call("Element.prototype.hasAttribute",t.this,`scramjet-attr-${r}`)){let e=t.fn.call(t.this,`scramjet-attr-${r}`);return null===e?t.return(""):t.return(e)}}}),e.Proxy("Element.prototype.getAttributeNames",{apply(e){let t=e.call().filter(e=>!e.startsWith("scramjet-attr"));e.return(t)}}),e.Proxy("Element.prototype.getAttributeNode",{apply(e){if(e.args[0].startsWith("scramjet-attr"))return e.return(null)}}),e.Proxy("Element.prototype.hasAttribute",{apply(e){if(e.args[0].startsWith("scramjet-attr"))return e.return(!1)}}),e.Proxy("Element.prototype.setAttribute",{apply(t){let[r,n]=t.args,o=s.Gq.find(e=>{let n=e[r.toLowerCase()];return!!n&&("*"===n||"function"!=typeof n&&n.includes(t.this.tagName.toLowerCase()))});o&&(t.args[1]=o.fn(n,e.meta,e.cookieStore),t.fn.call(t.this,`scramjet-attr-${t.args[0]}`,n))}}),e.Proxy("Element.prototype.setAttributeNode",{apply(e){}}),e.Proxy("Element.prototype.setAttributeNS",{apply(t){let[r,n,o]=t.args,a=s.Gq.find(e=>{let r=e[n.toLowerCase()];return!!r&&("*"===r||"function"!=typeof r&&r.includes(t.this.tagName.toLowerCase()))});a&&(t.args[2]=a.fn(o,e.meta,e.cookieStore),e.natives.call("Element.prototype.setAttribute",t.this,`scramjet-attr-${t.args[1]}`,o))}}),e.Proxy("Element.prototype.removeAttribute",{apply(t){if(t.args[0].startsWith("scramjet-attr"))return t.return(void 0);e.natives.call("Element.prototype.hasAttribute",t.this,t.args[0])&&t.fn.call(t.this,`scramjet-attr-${t.args[0]}`)}}),e.Proxy("Element.prototype.toggleAttribute",{apply(t){if(t.args[0].startsWith("scramjet-attr"))return t.return(!1);e.natives.call("Element.prototype.hasAttribute",t.this,t.args[0])&&t.fn.call(t.this,`scramjet-attr-${t.args[0]}`)}}),e.Trap("Element.prototype.innerHTML",{set(r,n){let o;if(r.this instanceof t.HTMLScriptElement)o=(0,s.Zs)(n,"(anonymous script element)",e.meta),e.natives.call("Element.prototype.setAttribute",r.this,"scramjet-attr-script-source-src",btoa(Array.from(i.encode(o),e=>String.fromCodePoint(e)).join("")));else if(r.this instanceof t.HTMLStyleElement)o=(0,s.U5)(n,e.meta);else try{o=(0,s.r4)(n,e.cookieStore,e.meta)}catch{o=n}r.set(o)},get(r){if(r.this instanceof t.HTMLScriptElement){let t=e.natives.call("Element.prototype.getAttribute",r.this,"scramjet-attr-script-source-src");return t?atob(t):r.get()}return r.this instanceof t.HTMLStyleElement?r.get():(0,s.WT)(r.get())}}),e.Trap("Element.prototype.outerHTML",{set(t,r){t.set((0,s.r4)(r,e.cookieStore,e.meta))},get:e=>(0,s.WT)(e.get())}),e.Proxy("Element.prototype.setHTMLUnsafe",{apply(t){try{t.args[0]=(0,s.r4)(t.args[0],e.cookieStore,e.meta,!1)}catch{}}}),e.Proxy("Element.prototype.getHTML",{apply(e){e.return((0,s.WT)(e.call()))}}),e.Proxy("Element.prototype.insertAdjacentHTML",{apply(t){if(t.args[1])try{t.args[1]=(0,s.r4)(t.args[1],e.cookieStore,e.meta,!1)}catch{}}}),e.Trap(["HTMLIFrameElement.prototype.contentWindow","HTMLFrameElement.prototype.contentWindow","HTMLObjectElement.prototype.contentWindow","HTMLEmbedElement.prototype.contentWindow"],{get(e){let t=e.get();if(!t)return t;if(n.a in t)return t[n.a].globalProxy;{let e=new o.ScramjetClient(t);return e.hook(),e.globalProxy}}}),e.Trap(["HTMLIFrameElement.prototype.contentDocument","HTMLFrameElement.prototype.contentDocument","HTMLObjectElement.prototype.contentDocument","HTMLEmbedElement.prototype.contentDocument"],{get(t){let r=e.descriptors.get(`${t.this.constructor.name}.prototype.contentWindow`,t.this);if(!r)return r;if(n.a in r)return r[n.a].documentProxy;{let e=new o.ScramjetClient(r);return e.hook(),e.documentProxy}}}),e.Proxy(["HTMLIFrameElement.prototype.getSVGDocument","HTMLObjectElement.prototype.getSVGDocument","HTMLEmbedElement.prototype.getSVGDocument"],{apply(e){if(e.call())return e.return(e.this.contentDocument)}}),e.Trap("TreeWalker.prototype.currentNode",{get:e=>e.get(),set:(r,n)=>n===e.documentProxy?r.set(t.document):r.set(n)}),e.Proxy("Document.prototype.open",{apply(e){let t=e.call(),r=t[n.a];return r?e.return(r.documentProxy):e.return(t)}}),e.Trap("Node.prototype.ownerDocument",{get(e){let t=e.get();if(!t)return null;let r=t[n.a];return r?r.documentProxy:t}}),e.Trap(["Node.prototype.parentNode","Node.prototype.parentElement","Node.prototype.previousSibling","Node.prototype.nextSibling","Range.prototype.commonAncestorContainer","AbstractRange.prototype.endContainer","AbstractRange.prototype.startContainer"],{get(e){let t=e.get();if(!(t instanceof Document))return t;let r=t[n.a];return r?r.documentProxy:t}}),e.Proxy("Node.prototype.getRootNode",{apply(e){let t=e.call();if(!(t instanceof Document))return e.return(t);let r=t[n.a];return r?e.return(r.documentProxy):e.return(t)}}),e.Proxy(["DOMParser.prototype.parseFromString","Document.prototype.parseHTMLUnsafe"],{apply(t){if("text/html"===t.args[1])try{t.args[0]=(0,s.r4)(t.args[0],e.cookieStore,e.meta,!1)}catch{}}})}},6643:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return o}});var n=r(4471);function o(e,t){e.Proxy("FontFace",{construct(t){t.args[1]=(0,n.U5)(t.args[1],e.meta)}})}},461:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return a}});var n=r(4471),o=r(5008);function a(e,t){e.Proxy("History.prototype.pushState",{apply(t){(t.args[2]||""===t.args[2])&&(t.args[2]=(0,n.dm)(t.args[2],e.meta)),t.call();let r=new o.UrlChangeEvent(e.url.href);e.frame&&e.frame.dispatchEvent(r)}}),e.Proxy("History.prototype.replaceState",{apply(t){(t.args[2]||""===t.args[2])&&(t.args[2]=(0,n.dm)(t.args[2],e.meta)),t.call();let r=new o.UrlChangeEvent(e.url.href);e.frame&&e.frame.dispatchEvent(r)}})}},3951:function(e,t,r){"use strict";function n(e){e.Proxy("IntersectionObserver",{construct(e){e.args[1]&&e.args[1].root&&(e.args[1].root=document),e.call()}})}r.r(t),r.d(t,{default:function(){return n}})},2410:function(e,t,r){"use strict";function n(e,t){delete t.navigation}r.r(t),r.d(t,{default:function(){return n}})},8805:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return s}});var n=r(4471),o=r(2712),a=r(9777);function s(e){e.Proxy("window.open",{apply(t){t.args[0]&&(t.args[0]=(0,n.dm)(t.args[0],e.meta)),["_parent","_top","_unfencedTop"].includes(t.args[1])&&(t.args[1]="_self");let r=t.call();if(!r)return t.return(r);if(a.a in r)return t.return(r[a.a].globalProxy);{let e=new o.ScramjetClient(r);return e.hook(),t.return(e.globalProxy)}}}),e.Trap("opener",{get(e){let t=e.get();return t&&a.a in t?t[a.a].globalProxy:void 0}}),e.Trap("window.frameElement",{get(e){let t=e.get();return t?t.ownerDocument.defaultView[a.a]?t:null:t}})}},3261:function(e,t,r){"use strict";function n(e,t){e.Trap("origin",{get:()=>e.url.origin,set:()=>!1}),e.Trap("Document.prototype.URL",{get:()=>e.url.href,set:()=>!1}),e.Trap("Document.prototype.documentURI",{get:()=>e.url.href,set:()=>!1}),e.Trap("Document.prototype.domain",{get:()=>e.url.hostname,set:()=>!1})}r.r(t),r.d(t,{default:function(){return n}})},4475:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return o}});var n=r(4471);function o(e,t){e.Trap("PerformanceEntry.prototype.name",{get:e=>(0,n.Sd)(e.get())})}},5707:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return l},disabled:function(){return i},enabled:function(){return s},order:function(){return a}});var n=r(4471),o=r(8810);let a=2,s=e=>(0,o.Sp)("serviceworkers",e.url);function i(e,t){Reflect.deleteProperty(Navigator.prototype,"serviceWorker")}function l(e,t){let r=new WeakMap;e.Proxy("EventTarget.prototype.addEventListener",{apply(e){registration===e.this&&e.return(void 0)}}),e.Proxy("EventTarget.prototype.removeEventListener",{apply(e){registration===e.this&&e.return(void 0)}}),e.Proxy("ServiceWorkerContainer.prototype.getRegistration",{apply(e){e.return(new Promise(e=>e(registration)))}}),e.Proxy("ServiceWorkerContainer.prototype.getRegistrations",{apply(e){e.return(new Promise(e=>e([registration])))}}),e.Trap("ServiceWorkerContainer.prototype.ready",{get:e=>new Promise(e=>e(registration))}),e.Trap("ServiceWorkerContainer.prototype.controller",{get:e=>registration?.active}),e.Proxy("ServiceWorkerContainer.prototype.register",{apply(t){let o=new EventTarget;Object.setPrototypeOf(o,self.ServiceWorkerRegistration.prototype),o.constructor=t.fn;let a=(0,n.dm)(t.args[0],e.meta)+"?dest=serviceworker";t.args[1]&&"module"===t.args[1].type&&(a+="&type=module");let s=e.natives.construct("SharedWorker",a).port,i={scope:t.args[0],active:s},l=e.descriptors.get("ServiceWorkerContainer.prototype.controller",e.serviceWorker);e.natives.call("ServiceWorker.prototype.postMessage",l,{scramjet$type:"registerServiceWorker",port:s,origin:e.url.origin},[s]),r.set(o,i),t.return(new Promise(e=>e(o)))}})}},9227:function(e,t,r){"use strict";function n(e,t){let r={get(t,r){switch(r){case"getItem":return r=>t.getItem(e.url.host+"@"+r);case"setItem":return(r,n)=>t.setItem(e.url.host+"@"+r,n);case"removeItem":return r=>t.removeItem(e.url.host+"@"+r);case"clear":return()=>{for(let r in Object.keys(t))r.startsWith(e.url.host)&&t.removeItem(r)};case"key":return r=>{let n=Object.keys(t).filter(t=>t.startsWith(e.url.host));return t.getItem(n[r])};case"length":return Object.keys(t).filter(t=>t.startsWith(e.url.host)).length;default:if(r in Object.prototype||"symbol"==typeof r)return Reflect.get(t,r);return console.log("GET",r,t==n),t.getItem(e.url.host+"@"+r)}},set:(t,r,o)=>(t==n&&console.log("SET",r,o,t===n),t.setItem(e.url.host+"@"+r,o),!0),ownKeys:t=>Reflect.ownKeys(t).filter(t=>"string"==typeof t&&t.startsWith(e.url.host)).map(t=>"string"==typeof t?t.substring(e.url.host.length+1):t),getOwnPropertyDescriptor:(t,r)=>({value:t.getItem(e.url.host+"@"+r),enumerable:!0,configurable:!0,writable:!0}),defineProperty:(t,r,n)=>(t.setItem(e.url.host+"@"+r,n.value),!0)},n=t.localStorage,o=new Proxy(t.localStorage,r),a=new Proxy(t.sessionStorage,r);delete t.localStorage,delete t.sessionStorage,t.localStorage=o,t.sessionStorage=a}r.r(t),r.d(t,{default:function(){return n}})},5008:function(e,t,r){"use strict";r.r(t),r.d(t,{NavigateEvent:function(){return n},ScramjetContextInit:function(){return a},UrlChangeEvent:function(){return o}});class n extends Event{url;constructor(e){super("navigate"),this.url=e}}class o extends Event{url;constructor(e){super("urlchange"),this.url=e}}class a extends Event{window;constructor(e){super("contextInit"),this.window=e}}},2237:function(e,t,r){"use strict";r.r(t),r.d(t,{UNSAFE_GLOBALS:function(){return i},createGlobalProxy:function(){return l}});var n=r(6707),o=r(9777),a=r(2712),s=r(7932);let i=["window","self","globalThis","this","parent","top","location","document","eval","frames"];function l(e,t){return new Proxy(t,{get(t,r){let s=Reflect.get(t,r);if(n.iswindow&&("string"==typeof r||"number"==typeof r)&&!isNaN(Number(r))&&s){let e=s.self;if(e){if(o.a in e)return e[o.a].globalProxy;{let t=new a.ScramjetClient(e);return t.hook(),t.globalProxy}}}if("$scramjet"!==r)return"string"==typeof r&&i.includes(r)?e.wrapfn(s):s},set(t,r,n){if("location"===r){e.url=n;return}return Reflect.set(t,r,n)},has:(e,t)=>"$scramjet"!==t&&Reflect.has(e,t),ownKeys:e=>Reflect.ownKeys(e).filter(e=>"$scramjet"!==e),defineProperty:(e,t,r)=>(!r.get&&!r.set&&(r.writable=!0),r.configurable=!0,Reflect.defineProperty(e,t,r)),getOwnPropertyDescriptor:s.getOwnPropertyDescriptorHandler})}},7932:function(e,t,r){"use strict";function n(e,t){return Reflect.getOwnPropertyDescriptor(e,t)}r.r(t),r.d(t,{getOwnPropertyDescriptorHandler:function(){return n}})},6707:function(e,t,r){"use strict";r.r(t),r.d(t,{isdedicated:function(){return f},isemulatedsw:function(){return d},isshared:function(){return g},issw:function(){return p},iswindow:function(){return c},isworker:function(){return u}});var n=r(8810),o=r(9777),a=r(2712),s=r(5008),i=r(633),l=r(1762).Z;let c="window"in self,u="WorkerGlobalScope"in self,p="ServiceWorkerGlobalScope"in self,f="DedicatedWorkerGlobalScope"in self,g="SharedWorkerGlobalScope"in self,d="serviceworker"===new URL(self.location.href).searchParams.get("dest");if(l.log("scrammin"),!(o.a in self)){(0,n.t8)();let e=new a.ScramjetClient(self);self.COOKIE&&e.loadcookies(self.COOKIE),e.hook(),d&&new i.ScramjetServiceWorkerRuntime(e).hook();let t=new s.ScramjetContextInit(e.global.window);e.frame?.dispatchEvent(t)}"document"in self&&document?.currentScript&&document.currentScript.remove()},8971:function(e,t,r){"use strict";r.r(t),r.d(t,{createLocationProxy:function(){return i}});var n=r(3498),o=r(4471),a=r(5008),s=r(6707);function i(e,t){let r=s.iswindow?t.Location:t.WorkerLocation,i={};Object.setPrototypeOf(i,r.prototype),i.constructor=r;let l=s.iswindow?t.location:r.prototype;for(let r of["protocol","hash","host","hostname","href","origin","pathname","port","search"]){let o=(0,n.nativeGetOwnPropertyDescriptor)(l,r);if(!o)continue;let s={configurable:!0,enumerable:!0};o.get&&(s.get=new Proxy(o.get,{apply:()=>e.url[r]})),o.set&&(s.set=new Proxy(o.set,{apply(n,o,s){if("href"===r){e.url=s[0];return}if("hash"===r){t.location.hash=s[0];let r=new a.UrlChangeEvent(e.url.href);e.frame&&e.frame.dispatchEvent(r);return}let i=new URL(e.url.href);i[r]=s[0],e.url=i}})),Object.defineProperty(i,r,s)}return i.toString=new Proxy(t.location.toString,{apply:()=>e.url.href}),t.location.valueOf&&(i.valueOf=new Proxy(t.location.valueOf,{apply:()=>e.url.href})),t.location.assign&&(i.assign=new Proxy(t.location.assign,{apply(r,n,a){a[0]=(0,o.dm)(a[0],e.meta),Reflect.apply(r,t.location,a)}})),t.location.reload&&(i.reload=new Proxy(t.location.reload,{apply(e,r,n){Reflect.apply(e,t.location,n)}})),t.location.replace&&(i.replace=new Proxy(t.location.replace,{apply(r,n,a){a[0]=(0,o.dm)(a[0],e.meta),Reflect.apply(r,t.location,a)}})),i}},3498:function(e,t,r){"use strict";r.r(t),r.d(t,{nativeFunction:function(){return n},nativeGetOwnPropertyDescriptor:function(){return o}});let n=self.Function,o=self.Object.getOwnPropertyDescriptor},8278:function(e,t,r){"use strict";function n(e){e.Proxy("console.clear",{apply(e){e.return(void 0)}});let t=console.log;e.Trap("console.log",{set(e,t){},get:e=>t})}r.r(t),r.d(t,{default:function(){return n}})},9447:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return o}});var n=r(4471);function o(e){e.Proxy("URL.createObjectURL",{apply(t){let r=t.call();r.startsWith("blob:")?t.return((0,n.ls)(r,e.meta)):t.return(r)}}),e.Proxy("URL.revokeObjectURL",{apply(e){e.args[0]=(0,n.Ag)(e.args[0])}})}},4169:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return o}});var n=r(4471);function o(e,t){e.Proxy("CacheStorage.prototype.open",{apply(t){t.args[0]=`${e.url.origin}@${t.args[0]}`}}),e.Proxy("CacheStorage.prototype.has",{apply(t){t.args[0]=`${e.url.origin}@${t.args[0]}`}}),e.Proxy("CacheStorage.prototype.match",{apply(t){("string"==typeof t.args[0]||t.args[0]instanceof URL)&&(t.args[0]=(0,n.dm)(t.args[0],e.meta))}}),e.Proxy("CacheStorage.prototype.delete",{apply(t){t.args[0]=`${e.url.origin}@${t.args[0]}`}}),e.Proxy("Cache.prototype.add",{apply(t){("string"==typeof t.args[0]||t.args[0]instanceof URL)&&(t.args[0]=(0,n.dm)(t.args[0],e.meta))}}),e.Proxy("Cache.prototype.addAll",{apply(t){for(let r=0;r(0,n.Sp)("captureErrors",e.url);function a(e,t=[]){switch(typeof e){case"string":break;case"object":if(e&&e[Symbol.iterator]&&"function"==typeof e[Symbol.iterator])for(let r in e){let n=Object.getOwnPropertyDescriptor(e,r);if(n&&n.get)continue;let o=e[r];!t.includes(o)&&(t.push(o),a(o,t))}}}function s(e,t){t.$scramerr=function(e){console.warn("CAUGHT ERROR",e)},t.$scramdbg=function(e,t){return e&&"object"==typeof e&&e.length>0&&a(e),a(t),t},e.Proxy("Promise.prototype.catch",{apply(e){e.args[0]&&(e.args[0]=new Proxy(e.args[0],{apply(e,t,r){Reflect.apply(e,t,r)}}))}})}},7651:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return s},enabled:function(){return a}});var n=r(8810),o=r(4471);let a=e=>(0,n.Sp)("cleanerrors",e.url);function s(e,t){let r=(e,t)=>{let r=e.stack;for(let e=0;ee.includes(n));e.splice(t,1),r=e.join("\n");continue}try{r=r.replaceAll(n,(0,o.Sd)(n))}catch{}}return r};e.Trap("Error.prepareStackTrace",{get:e=>r,set(e){}})}},4423:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return o},indirectEval:function(){return a}});var n=r(4471);function o(e,t){Object.defineProperty(t,n.vc.globals.rewritefn,{value:function(t){return"string"!=typeof t?t:(0,n.Zs)(t,null,e.meta)},writable:!1,configurable:!1})}function a(e){return"string"!=typeof e?e:(0,this.global.eval)((0,n.Zs)(e,null,this.meta))}},8231:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return c}});var n=r(6707),o=r(9777),a=r(7932),s=r(3498),i=r(2370);let l=Symbol.for("scramjet original onevent function");function c(e,t){let r={message:{_init(){return("object"!=typeof this.data||!("$scramjet$type"in this.data))&&!0},ports(){return this.ports},source(){if(null===this.source)return null;let e=this.source[o.a];return e?e.globalProxy:this.source},origin(){return"object"==typeof this.data&&"$scramjet$origin"in this.data?this.data.$scramjet$origin:e.url.origin},data(){return"object"==typeof this.data&&"$scramjet$data"in this.data?this.data.$scramjet$data:this.data}}};function c(e){return new Proxy(e,{apply(e,n,o){let s=o[0];if(s.isTrusted){let t=s.type;if(t in r){let n=r[t];if(n._init&&!1===n._init.call(s))return;o[0]=new Proxy(s,{get:(t,r,o)=>r in n?n[r].call(t):Reflect.get(e,r,o),getOwnPropertyDescriptor:a.getOwnPropertyDescriptorHandler})}}return!t.event&&Object.defineProperty(t,"event",{get:()=>o[0],configurable:!0}),Reflect.apply(e,n,o)},getOwnPropertyDescriptor:a.getOwnPropertyDescriptorHandler})}e.Proxy("EventTarget.prototype.addEventListener",{apply(t){if((0,i.unproxy)(t,e),"function"!=typeof t.args[1])return;let r=t.args[1],n=c(r);t.args[1]=n;let o=e.eventcallbacks.get(t.this);(o||=[]).push({event:t.args[0],originalCallback:r,proxiedCallback:n}),e.eventcallbacks.set(t.this,o)}}),e.Proxy("EventTarget.prototype.removeEventListener",{apply(t){if((0,i.unproxy)(t,e),"function"!=typeof t.args[1])return;let r=e.eventcallbacks.get(t.this);if(!r)return;let n=r.findIndex(e=>e.event===t.args[0]&&e.originalCallback===t.args[1]);if(-1===n)return;let o=r.splice(n,1);e.eventcallbacks.set(t.this,r),t.args[1]=o[0].proxiedCallback}}),e.Proxy("EventTarget.prototype.dispatchEvent",{apply(t){(0,i.unproxy)(t,e)}});let u=[t.self,t.MessagePort.prototype];for(let o of(n.iswindow&&u.push(t.HTMLElement.prototype),t.Worker&&u.push(t.Worker.prototype),u))for(let t of Reflect.ownKeys(o))if("string"==typeof t&&t.startsWith("on")&&r[t.slice(2)]){let r=(0,s.nativeGetOwnPropertyDescriptor)(o,t);if(!r.get||!r.set||!r.configurable)continue;e.RawTrap(o,t,{get(e){return this[l]?this[l]:e.get()},set(e,t){if(this[l]=t,"function"!=typeof t)return e.set(t);e.set(c(t))}})}}},7636:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return a}});var n=r(4471);function o(e,t){let r=e.call().toString(),o=(0,n.Zs)(`return ${r}`,null,t.meta);e.return(e.fn(o)())}function a(e,t){e.Proxy("Function",{apply(t){o(t,e)},construct(t){o(t,e)}})}},4306:function(e,t,r){"use strict";let n;r.r(t),r.d(t,{default:()=>k});var o=r("4471"),a=r("8810");function s(e){let t=n.__externref_table_alloc();return n.__wbindgen_export_2.set(t,e),t}function i(e,t){try{return e.apply(this,t)}catch(t){let e=s(t);n.__wbindgen_exn_store(e)}}let l="undefined"!=typeof TextDecoder?new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}):{decode:()=>{throw Error("TextDecoder not available")}};"undefined"!=typeof TextDecoder&&l.decode();let c=null;function u(){return(null===c||c.buffer!==n.memory.buffer)&&(c=new Uint8Array(n.memory.buffer)),c}function p(e,t){return e>>>=0,l.decode(u().slice(e,e+t))}let f=0,g="undefined"!=typeof TextEncoder?new TextEncoder("utf-8"):{encode:()=>{throw Error("TextEncoder not available")}},d=function(e,t){let r=g.encode(e);return t.set(r),{read:e.length,written:r.length}};function y(e,t,r){if(void 0===r){let r=g.encode(e),n=t(r.length,1)>>>0;return u().subarray(n,n+r.length).set(r),f=r.length,n}let n=e.length,o=t(n,1)>>>0,a=u(),s=0;for(;s127)break;a[o+s]=t}if(s!==n){0!==s&&(e=e.slice(s)),o=r(o,n,n=s+3*e.length,1)>>>0;let t=d(e,u().subarray(o+s,o+n));s+=t.written,o=r(o,n,s,1)>>>0}return f=s,o}let m=null;function h(){return(null===m||m.buffer!==n.memory.buffer)&&(m=new DataView(n.memory.buffer)),m}function b(e){return null==e}function w(e){let t=n.__wbindgen_export_2.get(e);return n.__externref_table_dealloc(e),t}async function v(e,t){if("function"==typeof Response&&e instanceof Response){if("function"==typeof WebAssembly.instantiateStreaming)try{return await WebAssembly.instantiateStreaming(e,t)}catch(t){if("application/wasm"!=e.headers.get("Content-Type"))console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",t);else throw t}let r=await e.arrayBuffer();return await WebAssembly.instantiate(r,t)}{let r=await WebAssembly.instantiate(e,t);return r instanceof WebAssembly.Instance?{instance:r,module:e}:r}}function x(){let e={};return e.wbg={},e.wbg.__wbg_call_3b770f0d6eb4720e=function(){return i(function(e,t,r,n){return e.call(t,r,n)},arguments)},e.wbg.__wbg_call_500db948e69c7330=function(){return i(function(e,t,r){return e.call(t,r)},arguments)},e.wbg.__wbg_call_b0d8e36992d9900d=function(){return i(function(e,t){return e.call(t)},arguments)},e.wbg.__wbg_get_bbccf8970793c087=function(){return i(function(e,t){return Reflect.get(e,t)},arguments)},e.wbg.__wbg_new_17f755666e48d1d8=function(){return i(function(e,t){return new URL(p(e,t))},arguments)},e.wbg.__wbg_new_688846f374351c92=function(){return{}},e.wbg.__wbg_newnoargs_fd9e4bf8be2bc16d=function(e,t){return Function(p(e,t))},e.wbg.__wbg_now_62a101fe35b60230=function(e){return e.now()},e.wbg.__wbg_scramtag_bd98edaa0eaec45e=function(e){let t=y("10000000000".replace(/[018]/g,e=>(e^crypto.getRandomValues(new Uint8Array(1))[0]&15>>e/4).toString(16)),n.__wbindgen_malloc,n.__wbindgen_realloc),r=f;h().setInt32(e+4,r,!0),h().setInt32(e+0,t,!0)},e.wbg.__wbg_set_4e647025551483bd=function(){return i(function(e,t,r){return Reflect.set(e,t,r)},arguments)},e.wbg.__wbg_static_accessor_GLOBAL_0be7472e492ad3e3=function(){let e="undefined"==typeof global?null:global;return b(e)?0:s(e)},e.wbg.__wbg_static_accessor_GLOBAL_THIS_1a6eb482d12c9bfb=function(){let e="undefined"==typeof globalThis?null:globalThis;return b(e)?0:s(e)},e.wbg.__wbg_static_accessor_SELF_1dc398a895c82351=function(){let e="undefined"==typeof self?null:self;return b(e)?0:s(e)},e.wbg.__wbg_static_accessor_WINDOW_ae1c80c7eea8d64a=function(){let e="undefined"==typeof window?null:window;return b(e)?0:s(e)},e.wbg.__wbg_toString_cbcf95f260c441ae=function(e){return e.toString()},e.wbg.__wbindgen_array_new=function(){return[]},e.wbg.__wbindgen_array_push=function(e,t){e.push(t)},e.wbg.__wbindgen_boolean_get=function(e){return"boolean"==typeof e?e?1:0:2},e.wbg.__wbindgen_error_new=function(e,t){return Error(p(e,t))},e.wbg.__wbindgen_init_externref_table=function(){let e=n.__wbindgen_export_2,t=e.grow(4);e.set(0,void 0),e.set(t+0,void 0),e.set(t+1,null),e.set(t+2,!0),e.set(t+3,!1)},e.wbg.__wbindgen_is_function=function(e){return"function"==typeof e},e.wbg.__wbindgen_is_undefined=function(e){return void 0===e},e.wbg.__wbindgen_number_new=function(e){return e},e.wbg.__wbindgen_string_get=function(e,t){let r="string"==typeof t?t:void 0;var o=b(r)?0:y(r,n.__wbindgen_malloc,n.__wbindgen_realloc),a=f;h().setInt32(e+4,a,!0),h().setInt32(e+0,o,!0)},e.wbg.__wbindgen_string_new=function(e,t){return p(e,t)},e.wbg.__wbindgen_throw=function(e,t){throw Error(p(e,t))},e.wbg.__wbindgen_uint8_array_new=function(e,t){var r,o,a=(r=e,o=t,r>>>=0,u().subarray(r/1,r/1+o)).slice();return n.__wbindgen_free(e,1*t,1),a},e}function P(e,t){e.wbg.memory=t||new WebAssembly.Memory({initial:21,maximum:16384,shared:!0})}function _(e,t,r){if(n=e.exports,T.__wbindgen_wasm_module=t,m=null,c=null,void 0!==r&&("number"!=typeof r||0===r||r%65536!=0))throw"invalid stack size";return n.__wbindgen_start(r),n}async function T(e,t){let r;if(void 0!==n)return n;void 0!==e&&(Object.getPrototypeOf(e)===Object.prototype?{module_or_path:e,memory:t,thread_stack_size:r}=e:console.warn("using deprecated parameters for the initialization function; pass a single object instead")),void 0===e&&(e=new URL("wasm_bg.wasm",""));let o=x();("string"==typeof e||"function"==typeof Request&&e instanceof Request||"function"==typeof URL&&e instanceof URL)&&(e=fetch(e)),P(o,t);let{instance:a,module:s}=await v(await e,o);return _(a,s,r)}!function(e,t){let r;if(void 0!==n)return;void 0!==e&&(Object.getPrototypeOf(e)===Object.prototype?{module:e,memory:t,thread_stack_size:r}=e:console.warn("using deprecated parameters for `initSync()`; pass a single object instead"));let o=x();P(o,t),!(e instanceof WebAssembly.Module)&&(e=new WebAssembly.Module(e)),_(new WebAssembly.Instance(e,o),e,r)}({module:new WebAssembly.Module(Uint8Array.from(atob(self.WASM),e=>e.charCodeAt(0)))}),Error.stackTraceLimit=50;let S=new TextDecoder;function E(e,t){try{return new URL(e,t)}catch{return null}}function k(e,t){let r=e.natives.store.Function;t[o.vc.globals.importfn]=function(t){return function(o){let s=new URL(o,t).href;return r(`return import("${function(e,t){if(e instanceof URL&&(e=e.toString()),e.startsWith("javascript:"))return"javascript:"+function(e,t,r){if((0,a.Sp)("naiiveRewriter",r.origin)){let t="string"==typeof e?e:new TextDecoder().decode(e);return console.log("naiive"),function(e){return"string"!=typeof e&&(e=new TextDecoder().decode(e)),`
with (${a.h3.config.globals.wrapfn}(globalThis)) {
${e}
}
- `}(t)}return e=function(e,t,r){let o;let{js:i,errors:c,duration:u}=o="string"==typeof e?function(e,t,r,o){let a=f(e,n.__wbindgen_malloc,n.__wbindgen_realloc),i=s,l=f(t,n.__wbindgen_malloc,n.__wbindgen_realloc),c=s,u=f(r,n.__wbindgen_malloc,n.__wbindgen_realloc),p=s,g=n.rewrite_js(a,i,l,c,u,p,o);if(g[2])throw m(g[1]);return m(g[0])}(e,r.base.href,t||"(unknown)",a.h3):function(e,t,r,o){let a=function(e,t){let r=t(1*e.length,1)>>>0;return l().set(e,r/1),s=e.length,r}(e,n.__wbindgen_malloc),i=s,c=f(t,n.__wbindgen_malloc,n.__wbindgen_realloc),u=s,p=f(r,n.__wbindgen_malloc,n.__wbindgen_realloc),g=s,d=n.rewrite_js_from_arraybuffer(a,i,c,u,p,g,o);if(d[2])throw m(d[1]);return m(d[0])}(new Uint8Array(e),r.base.href,t||"(unknown)",a.h3);for(let e of c)console.error("oxc parse error",e);{let e;e=u<1n?"BLAZINGLY FAST":u<500n?"decent speed":"really slow",console.log(`oxc rewrite was ${e} (${u}ms)`)}return"string"==typeof e?P.decode(i):i}(e,null,r)}(e.slice(11),null,t);if(e.startsWith("blob:"))return location.origin+a.h3.config.prefix+e;if(e.startsWith("data:"))return location.origin+a.h3.config.prefix+e;else{if(e.startsWith("mailto:")||e.startsWith("about:"))return e;let r=t.base.href;return r.startsWith("about:")&&(r=function(e){e instanceof URL&&(e=e.href);let t=location.origin+a.h3.config.prefix;if(e.startsWith("javascript:"))return e;if(e.startsWith("blob:"))return e;if(e.startsWith(t+"blob:"))return e.substring(t.length);else if(e.startsWith(t+"data:"))return e.substring(t.length);else if(e.startsWith("mailto:")||e.startsWith("about:"))return e;else if(function(e,t){try{return new URL(e,void 0)}catch{return null}}(e))return a.h3.codec.decode(e.slice((location.origin+a.h3.config.prefix).length));else return e}(self.location.href)),location.origin+a.h3.config.prefix+a.h3.codec.encode(new URL(e,r).href)}}(i,e.meta)}")`)()}},t[o.vc.globals.metafn]=function(e){return{url:e,resolve:function(t){return new URL(t,e).href}}}}},2930:function(e,t,r){"use strict";function n(e,t){e.Proxy("IDBFactory.prototype.open",{apply(t){t.args[0]=`${e.url.origin}@${t.args[0]}`}}),e.Trap("IDBDatabase.prototype.name",{get(e){let t=e.get();return t.substring(t.indexOf("@")+1)}})}r.r(t),r.d(t,{default:function(){return n}})},2625:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return s}});var n=r(6707),o=r(9777),a=r(6594);function s(e){n.iswindow&&e.Proxy("window.postMessage",{apply(e){let t;let{constructor:{constructor:r}}=t="object"==typeof e.args[0]&&null!==e.args[0]?e.args[0]:"object"==typeof e.args[2]&&null!==e.args[2]?e.args[2]:a.POLLUTANT in e.this&&"object"==typeof e.this[a.POLLUTANT]&&null!==e.this[a.POLLUTANT]?e.this[a.POLLUTANT]:{},n=r("return globalThis")()[o.a],s=r("...args","this(...args)");e.args[0]={$scramjet$messagetype:"window",$scramjet$origin:n.url.origin,$scramjet$data:e.args[0]},"string"==typeof e.args[1]&&(e.args[1]="*"),"object"==typeof e.args[1]&&(e.args[1].targetOrigin="*"),e.return(s.call(e.fn,...e.args))}});let t=["MessagePort.prototype.postMessage"];self.Worker&&t.push("Worker.prototype.postMessage"),!n.iswindow&&t.push("self.postMessage"),e.Proxy(t,{apply(e){e.args[0]={$scramjet$messagetype:"worker",$scramjet$data:e.args[0]}}})}},6594:function(e,t,r){"use strict";r.r(t),r.d(t,{POLLUTANT:function(){return o},default:function(){return a}});var n=r(4471);let o=Symbol.for("scramjet realm pollutant");function a(e,t){Object.defineProperty(t.Object.prototype,n.vc.globals.setrealmfn,{value(e){return Object.defineProperty(this,o,{value:e,writable:!1,configurable:!0,enumerable:!1}),this},writable:!0,configurable:!0,enumerable:!1})}},2738:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return o}});var n=r(4471);function o(e){e.Proxy("EventSource",{construct(t){t.args[0]=(0,n.dm)(t.args[0],e.meta)}}),e.Trap("EventSource.prototype.url",{get(e){(0,n.Sd)(e.get())}})}},106:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return a}});var n=r(6707),o=r(4471);function a(e,t){e.Proxy("fetch",{apply(t){("string"==typeof t.args[0]||t.args[0]instanceof URL)&&(t.args[0]=(0,o.dm)(t.args[0].toString(),e.meta),n.isemulatedsw&&(t.args[0]+="?from=swruntime"))}}),e.Proxy("Request",{construct(t){("string"==typeof t.args[0]||t.args[0]instanceof URL)&&(t.args[0]=(0,o.dm)(t.args[0].toString(),e.meta),n.isemulatedsw&&(t.args[0]+="?from=swruntime"))}}),e.Trap("Response.prototype.url",{get:e=>(0,o.Sd)(e.get())}),e.Trap("Request.prototype.url",{get:e=>(0,o.Sd)(e.get())})}},7219:function(e,t,r){"use strict";function n(e,t){let r=new WeakMap;e.Proxy("WebSocket",{construct(n){let o=new EventTarget;Object.setPrototypeOf(o,t.WebSocket.prototype),o.constructor=n.fn;let a=e=>new Proxy(e,{get:(e,t)=>"isTrusted"===t||Reflect.get(e,t)}),s=e.bare.createWebSocket(n.args[0],n.args[1],null,{"User-Agent":t.navigator.userAgent,Origin:e.url.origin}),i={extensions:"",protocol:"",url:n.args[0],binaryType:"blob",barews:s,captureListeners:{},listeners:{}};function l(e){i["on"+e.type]?.(a(e)),o.dispatchEvent(e)}s.addEventListener("open",()=>{l(new Event("open"))}),s.addEventListener("close",e=>{l(new CloseEvent("close",e))}),s.addEventListener("message",async e=>{let t=e.data;"string"==typeof t||("byteLength"in t?"blob"===i.binaryType?t=new Blob([t]):Object.setPrototypeOf(t,ArrayBuffer.prototype):"arrayBuffer"in t&&"arraybuffer"===i.binaryType&&Object.setPrototypeOf(t=await t.arrayBuffer(),ArrayBuffer.prototype)),l(new MessageEvent("message",{data:t,origin:e.origin,lastEventId:e.lastEventId,source:e.source,ports:e.ports}))}),s.addEventListener("error",()=>{l(new Event("error"))}),r.set(o,i),n.return(o)}}),e.Proxy("EventTarget.prototype.addEventListener",{apply(e){let t=r.get(e.this);if(!t)return;let[n,o,a]=e.args;if("object"==typeof a&&a.capture||"boolean"==typeof a&&a){let e=t.captureListeners[n]??=[];e.push(o),t.captureListeners[n]=e}else{let e=t.listeners[n]??=[];e.push(o),t.listeners[n]=e}e.return(void 0)}}),e.Proxy("EventTarget.prototype.removeEventListener",{apply(e){let t=r.get(e.this);if(!t)return;let[n,o,a]=e.args;if("object"==typeof a&&a.capture||"boolean"==typeof a&&a){let e=t.captureListeners[n]??=[],r=e.indexOf(o);-1!==r&&e.splice(r,1),t.captureListeners[n]=e}else{let e=t.listeners[n]??=[],r=e.indexOf(o);-1!==r&&e.splice(r,1),t.listeners[n]=e}e.return(void 0)}}),e.Trap("WebSocket.prototype.binaryType",{get:e=>r.get(e.this).binaryType,set(e,t){let n=r.get(e.this);("blob"===t||"arraybuffer"===t)&&(n.binaryType=t)}}),e.Trap("WebSocket.prototype.bufferedAmount",{get:()=>0}),e.Trap("WebSocket.prototype.extensions",{get:e=>r.get(e.this).extensions}),e.Trap("WebSocket.prototype.onclose",{get:e=>r.get(e.this).onclose,set(e,t){r.get(e.this).onclose=t}}),e.Trap("WebSocket.prototype.onerror",{get:e=>r.get(e.this).onerror,set(e,t){r.get(e.this).onerror=t}}),e.Trap("WebSocket.prototype.onmessage",{get:e=>r.get(e.this).onmessage,set(e,t){r.get(e.this).onmessage=t}}),e.Trap("WebSocket.prototype.onopen",{get:e=>r.get(e.this).onopen,set(e,t){r.get(e.this).onopen=t}}),e.Trap("WebSocket.prototype.url",{get:e=>r.get(e.this).url}),e.Trap("WebSocket.prototype.protocol",{get:e=>r.get(e.this).protocol}),e.Trap("WebSocket.prototype.readyState",{get:e=>r.get(e.this).barews.readyState}),e.Proxy("WebSocket.prototype.send",{apply(e){let t=r.get(e.this);e.return(t.barews.send(e.args[0]))}}),e.Proxy("WebSocket.prototype.close",{apply(e){let t=r.get(e.this);void 0===e.args[0]&&(e.args[0]=1e3),void 0===e.args[1]&&(e.args[1]=""),e.return(t.barews.close(e.args[0],e.args[1]))}})}r.r(t),r.d(t,{default:function(){return n}})},7481:function(e,t,r){"use strict";let n,o;r.r(t),r.d(t,{default:function(){return i}});var a=r(8810),s=r(4471);function i(e,t){let r;t.Worker&&(0,a.Sp)("syncxhr",e.url)&&(r=new n(s.vc.files.sync));let i=Symbol("xhr original args"),l=Symbol("xhr headers");e.Proxy("XMLHttpRequest.prototype.open",{apply(t){t.args[1]&&(t.args[1]=(0,s.dm)(t.args[1],e.meta)),t.this[i]=t.args}}),e.Proxy("XMLHttpRequest.prototype.setRequestHeader",{apply(e){(e.this[l]||(e.this[l]={}))[e.args[0]]=e.args[1]}}),e.Proxy("XMLHttpRequest.prototype.send",{apply(t){let n=t.this[i];if(!n||n[2])return;if(!(0,a.Sp)("syncxhr",e.url)){console.warn("ignoring request - sync xhr disabled in flags");return}let s=new SharedArrayBuffer(1024,{maxByteLength:0x7fffffff}),c=new DataView(s);o.call(r,{sab:s,args:n,headers:t.this[l],body:t.args[0]});let u=performance.now();for(;0===c.getUint8(0);)if(performance.now()-u>1e3)throw Error("xhr timeout");let f=c.getUint16(1),p=c.getUint32(3),g=new Uint8Array(p);g.set(new Uint8Array(s.slice(7,7+p)));let d=new TextDecoder().decode(g),y=c.getUint32(7+p),m=new Uint8Array(y);m.set(new Uint8Array(s.slice(11+p,11+p+y)));let b=new TextDecoder().decode(m);e.RawTrap(t.this,"status",{get:()=>f}),e.RawTrap(t.this,"responseText",{get:()=>b}),e.RawTrap(t.this,"response",{get:()=>"arraybuffer"===t.this.responseType?m.buffer:b}),e.RawTrap(t.this,"responseXML",{get:()=>new DOMParser().parseFromString(b,"text/xml")}),e.RawTrap(t.this,"getAllResponseHeaders",{get:()=>()=>d}),e.RawTrap(t.this,"getResponseHeader",{get:()=>e=>{let t=RegExp(`^${e}: (.*)$`,"m").exec(d);return t?t[1]:null}}),t.return(void 0)}}),e.Trap("XMLHttpRequest.prototype.responseURL",{get:e=>(0,s.Sd)(e.get())})}self.Worker&&(n=Worker,o=Worker.prototype.postMessage)},6321:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return s},enabled:function(){return a}});var n=r(8810);let o={},a=e=>(0,n.Sp)("sourcemaps",e.url);function s(e,t){Object.defineProperty(t,"$scramjet$pushsourcemap",{value:(e,t)=>{o[t]=e},enumerable:!1,writable:!1,configurable:!1});let r="/*scramtag ";e.Proxy("Function.prototype.toString",{apply(e){let t=e.fn.call(e.this),n="",a=t.indexOf("/*s");if(-1===a)return e.return(t);let s=t.indexOf(" ",a+r.length),i=parseInt(t.substring(a+r.length,s))-a,l=t.indexOf("*/",a),c=t.substring(s+1,l);t=t.replace(/\/\*scramtag.*?\*\//g,"");let u=o[c],f=0,p=0,g=0;for(;gt.length)break;n+=t.slice(f,r-i+p),n+=e,p+=o-r-e.length,f=r-i+p+e.length,g++}return n+=t.slice(f),e.return(n)}})}},1587:function(e,t,r){"use strict";function n(e,t){delete t.TrustedHTML,delete t.TrustedScript,delete t.TrustedScriptURL,delete t.TrustedTypePolicy,delete t.TrustedTypePolicyFactory,t.__defineGetter__("trustedTypes",()=>void 0)}r.r(t),r.d(t,{default:function(){return n}})},2370:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return a},order:function(){return o},unproxy:function(){return s}});var n=r(6707);let o=3;function a(e,t){for(let r of[t])for(let t in r)try{"function"==typeof r[t]&&e.RawProxy(r,t,{apply(t){s(t,e)}})}catch{}if(n.iswindow){for(let r of[t.Node.prototype,t.MutationObserver.prototype,t.document,t.MouseEvent.prototype])for(let t in r)try{"function"==typeof r[t]&&e.RawProxy(r,t,{apply(t){s(t,e)}})}catch{}e.Proxy("Object.defineProperty",{apply(t){s(t,e)}}),e.Proxy("Object.getOwnPropertyDescriptor",{apply(t){let r=t.call();r&&(r.get&&e.RawProxy(r,"get",{apply(t){s(t,e)}}),r.set&&e.RawProxy(r,"set",{apply(t){s(t,e)}}),t.return(r))}})}}function s(e,t){let r=t.global;for(let n in e.this===t.globalProxy&&(e.this=r),e.this===t.documentProxy&&(e.this=r.document),e.args)e.args[n]===t.documentProxy&&(e.args[n]=r.document),e.args[n]===t.globalProxy&&(e.args[n]=r)}},8475:function(e,t,r){"use strict";let n;r.r(t),r.d(t,{default:function(){return i}});var o=r(6707),a=r(4471);let s=MessagePort.prototype.postMessage;function i(e,t){t.Worker&&e.Proxy("Worker",{construct({args:t,call:r}){t[0]instanceof URL&&(t[0]=t[0].href),t[0]=(0,a.dm)(t[0],e.meta)+"?dest=worker",t[1]&&"module"===t[1].type&&(t[0]+="&type=module");let o=r(),s=new a.ut;(async()=>{let e=await s.getInnerPort();n.call(o,{$scramjet$type:"baremuxinit",port:e},[e])})()}}),o.iswindow&&(e.Proxy("Worklet.prototype.addModule",{apply(t){t.args[0]&&(t.args[0]=(0,a.dm)(t.args[0],e.meta))}}),e.Proxy("SharedWorker",{construct({args:t,call:r}){t[0]instanceof URL&&(t[0]=t[0].href),t[0]=(0,a.dm)(t[0],e.meta)+"?dest=worker",t[1]&&"string"==typeof t[1]&&(t[1]=`${e.url.origin}@${t[1]}`),t[1]&&"object"==typeof t[1]&&("module"===t[1].type&&(t[0]+="&type=module"),t[1].name&&(t[1].name=`${e.url.origin}@${t[1].name}`));let n=r(),o=new a.ut;(async()=>{let e=await o.getInnerPort();s.call(n.port,{$scramjet$type:"baremuxinit",port:e},[e])})()}}))}self.Worker&&(n=Worker.prototype.postMessage)},7706:function(e,t,r){"use strict";r.r(t),r.d(t,{createWrapFn:function(){return i},default:function(){return c},order:function(){return l}});var n=r(6707),o=r(9777),a=r(4471),s=r(4423);function i(e,t){return function(r){if(r===t)return e.globalProxy;if(r===t.location)return e.locationProxy;if(r===eval)return s.indirectEval.bind(e);if(n.iswindow){if(r===t.parent)return o.a in t.parent.self?t.parent.self[o.a].globalProxy:e.globalProxy;if(r===t.document)return e.documentProxy;else if(r===t.top){let e=t.self;for(;;){let t=e.parent.self;if(t===e||!(o.a in t))break;e=t}return e[o.a].globalProxy.window}}return r}}let l=4;function c(e,t){Object.defineProperty(t,a.vc.globals.wrapfn,{value:e.wrapfn,writable:!1,configurable:!1}),Object.defineProperty(t,a.vc.globals.wrapthisfn,{value:function(r){return r===t?e.globalProxy:r},writable:!1,configurable:!1}),t.$scramitize=function(e){return"string"==typeof e&&e.includes("scramjet"),"string"==typeof e&&e.includes(location.origin),n.iswindow&&e instanceof Document&&e.defaultView.$scramjet,e},Object.defineProperty(t,a.vc.globals.trysetfn,{value:function(e,t,r){if(e instanceof Location)return locationProxy.href=r,!0},writable:!1,configurable:!1})}},633:function(e,t,r){"use strict";r.r(t),r.d(t,{ScramjetServiceWorkerRuntime:function(){return a}});var n=r(4471),o=r(1762).Z;class a{client;recvport;constructor(e){this.client=e,self.onconnect=t=>{let r=t.ports[0];o.log("sw","connected"),r.addEventListener("message",t=>{console.log("sw",t.data),"scramjet$type"in t.data&&("init"===t.data.scramjet$type?(this.recvport=t.data.scramjet$port,this.recvport.postMessage({scramjet$type:"init"})):s.call(this,e,t.data))}),r.start()}}hook(){this.client.global.registration={scope:this.client.url.href,active:{scriptURL:this.client.url.href,state:"activated",onstatechange:null,onerror:null,postMessage:()=>{},addEventListener:()=>{},removeEventListener:()=>{},dispatchEvent:e=>{}},showNotification:async()=>{},unregister:async()=>!0,update:async()=>{},installing:null,waiting:null},this.client.global.ServiceWorkerGlobalScope=this.client.global}}function s(e,t){let r=this.recvport,a=t.scramjet$type,s=t.scramjet$token;if("fetch"===a){o.log("ee",t);let a=e.eventcallbacks.get(self);if(!a)return;for(let i of a){if("fetch"!==i.event)continue;let a=t.scramjet$request,l=new e.natives.Request((0,n.Sd)(a.url),{body:a.body,headers:new Headers(a.headers),method:a.method,mode:"same-origin"});Object.defineProperty(l,"destination",{value:a.destinitation});let c=new Event("fetch");c.request=l;let u=!1;c.respondWith=e=>{u=!0,(async()=>{let t={scramjet$type:"fetch",scramjet$token:s,scramjet$response:{body:(e=await e).body,headers:Array.from(e.headers.entries()),status:e.status,statusText:e.statusText}};o.log("sw","responding",t),r.postMessage(t,[e.body])})()},o.log("to fn",c),i.proxiedCallback(function(e){return new Proxy(e,{get:(e,t,r)=>"isTrusted"===t||Reflect.get(e,t)})}(c)),!u&&(console.log("sw","no response"),r.postMessage({scramjet$type:"fetch",scramjet$token:s,scramjet$response:!1}))}}}},5425:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return o}});var n=r(4471);function o(e,t){e.Proxy("importScripts",{apply(t){for(let r in t.args)t.args[r]=(0,n.dm)(t.args[r],e.meta)}})}},1762:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n={fmt:function(e,t,...r){let n=Error.prepareStackTrace;Error.prepareStackTrace=(e,t)=>{t.shift(),t.shift(),t.shift();let r="";for(let e=1;e `+r);return r+=t[0].getFunctionName()||"Anonymous"};let o=function(){try{throw Error()}catch(e){return e.stack}}();Error.prepareStackTrace=n;let a=console[e]||console.log;a(`%c${o}%c ${t}`,`
+ `}(t)}return e=function(e,t,r){let o;let s=performance.now();o="string"==typeof e?function(e,t,r,o){let a=y(e,n.__wbindgen_malloc,n.__wbindgen_realloc),s=f,i=y(t,n.__wbindgen_malloc,n.__wbindgen_realloc),l=f,c=y(r,n.__wbindgen_malloc,n.__wbindgen_realloc),u=f,p=n.rewrite_js(a,s,i,l,c,u,o);if(p[2])throw w(p[1]);return w(p[0])}(e,r.base.href,t||"(unknown)",a.h3):function(e,t,r,o){let a=function(e,t){let r=t(1*e.length,1)>>>0;return u().set(e,r/1),f=e.length,r}(e,n.__wbindgen_malloc),s=f,i=y(t,n.__wbindgen_malloc,n.__wbindgen_realloc),l=f,c=y(r,n.__wbindgen_malloc,n.__wbindgen_realloc),p=f,g=n.rewrite_js_from_arraybuffer(a,s,i,l,c,p,o);if(g[2])throw w(g[1]);return w(g[0])}(new Uint8Array(e),r.base.href,t||"(unknown)",a.h3);let i=performance.now(),{js:l,errors:c,duration:p}=o;if((0,a.Sp)("rewriterLogs",r.base))for(let e of c)console.error("oxc parse error",e);if((0,a.Sp)("rewriterLogs",r.base)){let e;e=p<1n?"BLAZINGLY FAST":p<500n?"decent speed":"really slow";let r=(i-s-Number(p)).toFixed(2);console.log(`oxc rewrite for "${t||"(unknown)"}" was ${e} (${p}ms; ${r}ms overhead)`)}return"string"==typeof e?S.decode(l):l}(e,null,r)}(e.slice(11),null,t);if(e.startsWith("blob:"))return location.origin+a.h3.config.prefix+e;if(e.startsWith("data:"))return location.origin+a.h3.config.prefix+e;else{if(e.startsWith("mailto:")||e.startsWith("about:"))return e;let r=t.base.href;r.startsWith("about:")&&(r=function(e){e instanceof URL&&(e=e.toString());let t=location.origin+a.h3.config.prefix;if(e.startsWith("javascript:"))return e;if(e.startsWith("blob:"))return e;if(e.startsWith(t+"blob:"))return e.substring(t.length);else if(e.startsWith(t+"data:"))return e.substring(t.length);else if(e.startsWith("mailto:")||e.startsWith("about:"))return e;else if(E(e))return a.h3.codec.decode(e.slice((location.origin+a.h3.config.prefix).length));else return e}(self.location.href));let n=E(e,r);return n?location.origin+a.h3.config.prefix+a.h3.codec.encode(n.href):e}}(s,e.meta)}")`)()}},t[o.vc.globals.metafn]=function(e){return{url:e,resolve:function(t){return new URL(t,e).href}}}}},2930:function(e,t,r){"use strict";function n(e){e.Proxy("IDBFactory.prototype.open",{apply(t){t.args[0]=`${e.url.origin}@${t.args[0]}`}}),e.Trap("IDBDatabase.prototype.name",{get(e){let t=e.get();return t.substring(t.indexOf("@")+1)}})}r.r(t),r.d(t,{default:function(){return n}})},2625:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return s}});var n=r(6707),o=r(9777),a=r(6594);function s(e){n.iswindow&&e.Proxy("window.postMessage",{apply(e){let t;let{constructor:{constructor:r}}=t="object"==typeof e.args[0]&&null!==e.args[0]?e.args[0]:"object"==typeof e.args[2]&&null!==e.args[2]?e.args[2]:e.this&&a.POLLUTANT in e.this&&"object"==typeof e.this[a.POLLUTANT]&&null!==e.this[a.POLLUTANT]?e.this[a.POLLUTANT]:{},n=r("return globalThis")()[o.a],s=r("...args","this(...args)");e.args[0]={$scramjet$messagetype:"window",$scramjet$origin:n.url.origin,$scramjet$data:e.args[0]},"string"==typeof e.args[1]&&(e.args[1]="*"),"object"==typeof e.args[1]&&(e.args[1].targetOrigin="*"),e.return(s.call(e.fn,...e.args))}});let t=["MessagePort.prototype.postMessage"];self.Worker&&t.push("Worker.prototype.postMessage"),!n.iswindow&&t.push("self.postMessage"),e.Proxy(t,{apply(e){e.args[0]={$scramjet$messagetype:"worker",$scramjet$data:e.args[0]}}})}},6594:function(e,t,r){"use strict";r.r(t),r.d(t,{POLLUTANT:function(){return o},default:function(){return a}});var n=r(4471);let o=Symbol.for("scramjet realm pollutant");function a(e,t){Object.defineProperty(t.Object.prototype,n.vc.globals.setrealmfn,{value(e){return Object.defineProperty(this,o,{value:e,writable:!1,configurable:!0,enumerable:!1}),this},writable:!0,configurable:!0,enumerable:!1})}},2738:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return o}});var n=r(4471);function o(e){e.Proxy("EventSource",{construct(t){t.args[0]=(0,n.dm)(t.args[0],e.meta)}}),e.Trap("EventSource.prototype.url",{get(e){(0,n.Sd)(e.get())}})}},106:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return a}});var n=r(6707),o=r(4471);function a(e,t){e.Proxy("fetch",{apply(t){("string"==typeof t.args[0]||t.args[0]instanceof URL)&&(t.args[0]=(0,o.dm)(t.args[0],e.meta),n.isemulatedsw&&(t.args[0]+="?from=swruntime"))}}),e.Proxy("Request",{construct(t){("string"==typeof t.args[0]||t.args[0]instanceof URL)&&(t.args[0]=(0,o.dm)(t.args[0],e.meta),n.isemulatedsw&&(t.args[0]+="?from=swruntime"))}}),e.Trap("Response.prototype.url",{get:e=>(0,o.Sd)(e.get())}),e.Trap("Request.prototype.url",{get:e=>(0,o.Sd)(e.get())})}},7219:function(e,t,r){"use strict";function n(e,t){let r=new WeakMap;e.Proxy("WebSocket",{construct(n){let o=new EventTarget;Object.setPrototypeOf(o,n.fn.prototype),o.constructor=n.fn;let a=e=>new Proxy(e,{get:(e,t)=>"isTrusted"===t||Reflect.get(e,t)}),s=e.bare.createWebSocket(n.args[0],n.args[1],null,{"User-Agent":t.navigator.userAgent,Origin:e.url.origin}),i={extensions:"",protocol:"",url:n.args[0],binaryType:"blob",barews:s,onclose:null,onerror:null,onmessage:null,onopen:null};function l(e){i["on"+e.type]?.(a(e)),o.dispatchEvent(e)}s.addEventListener("open",()=>{l(new Event("open"))}),s.addEventListener("close",e=>{l(new CloseEvent("close",e))}),s.addEventListener("message",async e=>{let t=e.data;"string"==typeof t||("byteLength"in t?"blob"===i.binaryType?t=new Blob([t]):Object.setPrototypeOf(t,ArrayBuffer.prototype):"arrayBuffer"in t&&"arraybuffer"===i.binaryType&&Object.setPrototypeOf(t=await t.arrayBuffer(),ArrayBuffer.prototype)),l(new MessageEvent("message",{data:t,origin:e.origin,lastEventId:e.lastEventId,source:e.source,ports:e.ports}))}),s.addEventListener("error",()=>{l(new Event("error"))}),r.set(o,i),n.return(o)}}),e.Trap("WebSocket.prototype.binaryType",{get:e=>r.get(e.this).binaryType,set(e,t){let n=r.get(e.this);("blob"===t||"arraybuffer"===t)&&(n.binaryType=t)}}),e.Trap("WebSocket.prototype.bufferedAmount",{get:()=>0}),e.Trap("WebSocket.prototype.extensions",{get:e=>r.get(e.this).extensions}),e.Trap("WebSocket.prototype.onclose",{get:e=>r.get(e.this).onclose,set(e,t){r.get(e.this).onclose=t}}),e.Trap("WebSocket.prototype.onerror",{get:e=>r.get(e.this).onerror,set(e,t){r.get(e.this).onerror=t}}),e.Trap("WebSocket.prototype.onmessage",{get:e=>r.get(e.this).onmessage,set(e,t){r.get(e.this).onmessage=t}}),e.Trap("WebSocket.prototype.onopen",{get:e=>r.get(e.this).onopen,set(e,t){r.get(e.this).onopen=t}}),e.Trap("WebSocket.prototype.url",{get:e=>r.get(e.this).url}),e.Trap("WebSocket.prototype.protocol",{get:e=>r.get(e.this).protocol}),e.Trap("WebSocket.prototype.readyState",{get:e=>r.get(e.this).barews.readyState}),e.Proxy("WebSocket.prototype.send",{apply(e){let t=r.get(e.this);e.return(t.barews.send(e.args[0]))}}),e.Proxy("WebSocket.prototype.close",{apply(e){let t=r.get(e.this);void 0===e.args[0]&&(e.args[0]=1e3),void 0===e.args[1]&&(e.args[1]=""),e.return(t.barews.close(e.args[0],e.args[1]))}})}r.r(t),r.d(t,{default:function(){return n}})},7481:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return a}});var n=r(8810),o=r(4471);function a(e,t){let r;t.Worker&&(0,n.Sp)("syncxhr",e.url)&&(r=e.natives.construct("Worker",o.vc.files.sync));let a=Symbol("xhr original args"),s=Symbol("xhr headers");e.Proxy("XMLHttpRequest.prototype.open",{apply(t){t.args[1]&&(t.args[1]=(0,o.dm)(t.args[1],e.meta)),void 0===t.args[2]&&(t.args[2]=!0),t.this[a]=t.args}}),e.Proxy("XMLHttpRequest.prototype.setRequestHeader",{apply(e){(e.this[s]||(e.this[s]={}))[e.args[0]]=e.args[1]}}),e.Proxy("XMLHttpRequest.prototype.send",{apply(t){let o=t.this[a];if(!o||o[2])return;if(!(0,n.Sp)("syncxhr",e.url))return console.warn("ignoring request - sync xhr disabled in flags"),t.return(void 0);let i=new SharedArrayBuffer(1024,{maxByteLength:0x7fffffff}),l=new DataView(i);e.natives.call("Worker.prototype.postMessage",r,{sab:i,args:o,headers:t.this[s],body:t.args[0]});let c=performance.now();for(;0===l.getUint8(0);)if(performance.now()-c>1e3)throw Error("xhr timeout");let u=l.getUint16(1),p=l.getUint32(3),f=new Uint8Array(p);f.set(new Uint8Array(i.slice(7,7+p)));let g=new TextDecoder().decode(f),d=l.getUint32(7+p),y=new Uint8Array(d);y.set(new Uint8Array(i.slice(11+p,11+p+d)));let m=new TextDecoder().decode(y);e.RawTrap(t.this,"status",{get:()=>u}),e.RawTrap(t.this,"responseText",{get:()=>m}),e.RawTrap(t.this,"response",{get:()=>"arraybuffer"===t.this.responseType?y.buffer:m}),e.RawTrap(t.this,"responseXML",{get:()=>new DOMParser().parseFromString(m,"text/xml")}),e.RawTrap(t.this,"getAllResponseHeaders",{get:()=>()=>g}),e.RawTrap(t.this,"getResponseHeader",{get:()=>e=>{let t=RegExp(`^${e}: (.*)$`,"m").exec(g);return t?t[1]:null}}),t.return(void 0)}}),e.Trap("XMLHttpRequest.prototype.responseURL",{get:e=>(0,o.Sd)(e.get())})}},6321:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return s},enabled:function(){return a}});var n=r(8810);let o={},a=e=>(0,n.Sp)("sourcemaps",e.url);function s(e,t){Object.defineProperty(t,"$scramjet$pushsourcemap",{value:(e,t)=>{o[t]=e},enumerable:!1,writable:!1,configurable:!1});let r="/*scramtag ";e.Proxy("Function.prototype.toString",{apply(e){let t=e.fn.call(e.this),n="",a=t.indexOf("/*s");if(-1===a)return e.return(t);let s=t.indexOf(" ",a+r.length),i=parseInt(t.substring(a+r.length,s))-a,l=t.indexOf("*/",a),c=t.substring(s+1,l);t=t.replace(/\/\*scramtag.*?\*\//g,"");let u=o[c],p=0,f=0,g=0;for(;gt.length)break;n+=t.slice(p,r-i+f),n+=e,f+=o-r-e.length,p=r-i+f+e.length,g++}return n+=t.slice(p),e.return(n)}})}},1587:function(e,t,r){"use strict";function n(e,t){delete t.TrustedHTML,delete t.TrustedScript,delete t.TrustedScriptURL,delete t.TrustedTypePolicy,delete t.TrustedTypePolicyFactory,t.__defineGetter__("trustedTypes",()=>void 0)}r.r(t),r.d(t,{default:function(){return n}})},2370:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return a},order:function(){return o},unproxy:function(){return s}});var n=r(6707);let o=3;function a(e,t){for(let r of[t])for(let t in r)try{"function"==typeof r[t]&&e.RawProxy(r,t,{apply(t){s(t,e)}})}catch{}if(n.iswindow){for(let r of[t.Node.prototype,t.MutationObserver.prototype,t.document,t.MouseEvent.prototype,t.Range.prototype])for(let t in r)try{"function"==typeof r[t]&&e.RawProxy(r,t,{apply(t){s(t,e)}})}catch{}e.Proxy("Object.defineProperty",{apply(t){s(t,e)}}),e.Proxy("Object.getOwnPropertyDescriptor",{apply(t){let r=t.call();r&&(r.get&&e.RawProxy(r,"get",{apply(t){s(t,e)}}),r.set&&e.RawProxy(r,"set",{apply(t){s(t,e)}}),t.return(r))}})}}function s(e,t){let r=t.global;for(let n in e.this===t.globalProxy&&(e.this=r),e.this===t.documentProxy&&(e.this=r.document),e.args)e.args[n]===t.documentProxy&&(e.args[n]=r.document),e.args[n]===t.globalProxy&&(e.args[n]=r)}},8475:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return o}});var n=r(4471);function o(e,t){e.Proxy("Worker",{construct({args:t,call:r}){t[0]=(0,n.dm)(t[0],e.meta)+"?dest=worker",t[1]&&"module"===t[1].type&&(t[0]+="&type=module");let o=r(),a=new n.ut;(async()=>{let t=await a.getInnerPort();e.natives.call("Worker.prototype.postMessage",o,{$scramjet$type:"baremuxinit",port:t},[t])})()}}),e.Proxy("SharedWorker",{construct({args:t,call:r}){t[0]=(0,n.dm)(t[0],e.meta)+"?dest=worker",t[1]&&"string"==typeof t[1]&&(t[1]=`${e.url.origin}@${t[1]}`),t[1]&&"object"==typeof t[1]&&("module"===t[1].type&&(t[0]+="&type=module"),t[1].name&&(t[1].name=`${e.url.origin}@${t[1].name}`));let o=r(),a=new n.ut;(async()=>{let t=await a.getInnerPort();e.natives.call("MessagePort.prototype.postMessage",o.port,{$scramjet$type:"baremuxinit",port:t},[t])})()}}),e.Proxy("Worklet.prototype.addModule",{apply(t){t.args[0]&&(t.args[0]=(0,n.dm)(t.args[0],e.meta))}})}},7706:function(e,t,r){"use strict";r.r(t),r.d(t,{createWrapFn:function(){return i},default:function(){return c},order:function(){return l}});var n=r(6707),o=r(9777),a=r(4471),s=r(4423);function i(e,t){return function(r){if(r===t)return e.globalProxy;if(r===t.location)return e.locationProxy;if(r===eval)return s.indirectEval.bind(e);if(n.iswindow){if(r===t.parent)return o.a in t.parent?t.parent[o.a].globalProxy:e.globalProxy;if(r===t.document)return e.documentProxy;else if(r===t.top){let e=t;for(;;){let t=e.parent.self;if(t===e||!(o.a in t))break;e=t}return e[o.a].globalProxy}}return r}}let l=4;function c(e,t){Object.defineProperty(t,a.vc.globals.wrapfn,{value:e.wrapfn,writable:!1,configurable:!1}),Object.defineProperty(t,a.vc.globals.wrapthisfn,{value:function(r){return r===t?e.globalProxy:r},writable:!1,configurable:!1}),t.$scramitize=function(e){return"string"==typeof e&&e.includes("scramjet"),"string"==typeof e&&e.includes(location.origin),n.iswindow&&e instanceof Document&&e.defaultView.$scramjet,e},Object.defineProperty(t,a.vc.globals.trysetfn,{value:function(e,t,r){if(e instanceof Location)return locationProxy.href=r,!0},writable:!1,configurable:!1})}},633:function(e,t,r){"use strict";r.r(t),r.d(t,{ScramjetServiceWorkerRuntime:function(){return a}});var n=r(4471),o=r(1762).Z;class a{client;recvport;constructor(e){this.client=e,self.onconnect=t=>{let r=t.ports[0];o.log("sw","connected"),r.addEventListener("message",t=>{console.log("sw",t.data),"scramjet$type"in t.data&&("init"===t.data.scramjet$type?(this.recvport=t.data.scramjet$port,this.recvport.postMessage({scramjet$type:"init"})):s.call(this,e,t.data))}),r.start()}}hook(){this.client.global.registration={scope:this.client.url.href,active:{scriptURL:this.client.url.href,state:"activated",onstatechange:null,onerror:null,postMessage:()=>{},addEventListener:()=>{},removeEventListener:()=>{},dispatchEvent:e=>{}},showNotification:async()=>{},unregister:async()=>!0,update:async()=>{},installing:null,waiting:null},this.client.global.ServiceWorkerGlobalScope=this.client.global}}function s(e,t){let r=this.recvport,a=t.scramjet$type,s=t.scramjet$token,i=e.eventcallbacks.get(self);if("fetch"===a){o.log("ee",t);let a=i.filter(e=>"fetch"===e.event);if(!a)return;for(let i of a){let a=t.scramjet$request,l=new e.natives.Request((0,n.Sd)(a.url),{body:a.body,headers:new Headers(a.headers),method:a.method,mode:"same-origin"});Object.defineProperty(l,"destination",{value:a.destinitation});let c=new Event("fetch");c.request=l;let u=!1;c.respondWith=e=>{u=!0,(async()=>{let t={scramjet$type:"fetch",scramjet$token:s,scramjet$response:{body:(e=await e).body,headers:Array.from(e.headers.entries()),status:e.status,statusText:e.statusText}};o.log("sw","responding",t),r.postMessage(t,[e.body])})()},o.log("to fn",c),i.proxiedCallback(function(e){return new Proxy(e,{get:(e,t,r)=>"isTrusted"===t||Reflect.get(e,t)})}(c)),!u&&(console.log("sw","no response"),r.postMessage({scramjet$type:"fetch",scramjet$token:s,scramjet$response:!1}))}}}},5425:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return o}});var n=r(4471);function o(e,t){e.Proxy("importScripts",{apply(t){for(let r in t.args)t.args[r]=(0,n.dm)(t.args[r],e.meta)}})}},1762:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n={fmt:function(e,t,...r){let n=Error.prepareStackTrace;Error.prepareStackTrace=(e,t)=>{t.shift(),t.shift(),t.shift();let r="";for(let e=1;e `+r);return r+=t[0].getFunctionName()||"Anonymous"};let o=function(){try{throw Error()}catch(e){return e.stack}}();Error.prepareStackTrace=n;let a=console[e]||console.log;a(`%c${o}%c ${t}`,`
background-color: ${{log:"#000",warn:"#f80",error:"#f00",debug:"transparent"}[e]};
color: ${{log:"#fff",warn:"#fff",error:"#fff",debug:"gray"}[e]};
padding: ${{log:2,warn:4,error:4,debug:0}[e]}px;
font-weight: bold;
font-family: monospace;
font-size: 0.9em;
- `,`${"debug"===e?"color: gray":""}`,...r)},log:function(e,...t){this.fmt("log",e,...t)},warn:function(e,...t){this.fmt("warn",e,...t)},error:function(e,...t){this.fmt("error",e,...t)},debug:function(e,...t){this.fmt("debug",e,...t)}}},8810:function(e,t,r){"use strict";r.d(t,{Sp:function(){return s},h3:function(){return n},t8:function(){return a}}),!("$scramjet"in self)&&(self.$scramjet={version:{build:"e4a0ee9",version:"1.0.2-dev"},codec:{},flagEnabled:s});let n=self.$scramjet,o=Function;function a(){n.codec.encode=o("url",n.config.codec.encode),n.codec.decode=o("url",n.config.codec.decode)}function s(e,t){let r=n.config.defaultFlags[e];for(let r in n.config.siteFlags){let o=n.config.siteFlags[r];if(new RegExp(r).test(t.href)&&e in o)return o[e]}return r}},4471:function(e,t,r){"use strict";r.d(t,{Ag:function(){return u},Gq:function(){return w},Od:function(){return p},Sd:function(){return l},U5:function(){return f},WT:function(){return d},Zs:function(){return m},dg:function(){return o},dm:function(){return i},hc:function(){return _},ls:function(){return c},r4:function(){return g},ut:function(){return s},vc:function(){return v}});var n=r(8810);let{util:{BareClient:o,ScramjetHeaders:a,BareMuxConnection:s},url:{rewriteUrl:i,unrewriteUrl:l,rewriteBlob:c,unrewriteBlob:u},rewrite:{rewriteCss:f,unrewriteCss:p,rewriteHtml:g,unrewriteHtml:d,rewriteSrcset:y,rewriteJs:m,rewriteHeaders:b,rewriteWorkers:h,htmlRules:w},CookieStore:_}=n.h3.shared,v=n.h3.config},9777:function(e,t,r){"use strict";r.d(t,{D:function(){return o},a:function(){return n}});let n=Symbol.for("scramjet client global"),o=Symbol.for("scramjet frame handle")}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var a=t[n]={exports:{}};return e[n](a,a.exports,r),a.exports}r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r("6707")})();
+ `,`${"debug"===e?"color: gray":""}`,...r)},log:function(e,...t){this.fmt("log",e,...t)},warn:function(e,...t){this.fmt("warn",e,...t)},error:function(e,...t){this.fmt("error",e,...t)},debug:function(e,...t){this.fmt("debug",e,...t)}}},8810:function(e,t,r){"use strict";r.d(t,{Sp:function(){return s},h3:function(){return n},t8:function(){return a}}),!("$scramjet"in self)&&(self.$scramjet={version:{build:"b658a79",version:"1.0.2-dev"},codec:{},flagEnabled:s});let n=self.$scramjet,o=Function;function a(){n.codec.encode=o("url",n.config.codec.encode),n.codec.decode=o("url",n.config.codec.decode)}function s(e,t){let r=n.config.flags[e];for(let r in n.config.siteFlags){let o=n.config.siteFlags[r];if(new RegExp(r).test(t.href)&&e in o)return o[e]}return r}},4471:function(e,t,r){"use strict";r.d(t,{Ag:function(){return u},Gq:function(){return w},Od:function(){return f},Sd:function(){return l},U5:function(){return p},WT:function(){return d},Zs:function(){return m},dg:function(){return o},dm:function(){return i},hc:function(){return v},ls:function(){return c},r4:function(){return g},ut:function(){return s},vc:function(){return x}});var n=r(8810);let{util:{BareClient:o,ScramjetHeaders:a,BareMuxConnection:s},url:{rewriteUrl:i,unrewriteUrl:l,rewriteBlob:c,unrewriteBlob:u},rewrite:{rewriteCss:p,unrewriteCss:f,rewriteHtml:g,unrewriteHtml:d,rewriteSrcset:y,rewriteJs:m,rewriteHeaders:h,rewriteWorkers:b,htmlRules:w},CookieStore:v}=n.h3.shared,x=n.h3.config},9777:function(e,t,r){"use strict";r.d(t,{D:function(){return o},a:function(){return n}});let n=Symbol.for("scramjet client global"),o=Symbol.for("scramjet frame handle")}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var a=t[n]={exports:{}};return e[n](a,a.exports,r),a.exports}r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r("6707")})();
//# sourceMappingURL=scramjet.client.js.map
\ No newline at end of file
diff --git a/public/scram/scramjet.client.js.map b/public/scram/scramjet.client.js.map
index 9343ca5..ce0c2a5 100644
--- a/public/scram/scramjet.client.js.map
+++ b/public/scram/scramjet.client.js.map
@@ -1 +1 @@
-{"version":3,"file":"scramjet.client.js","sources":["webpack://@mercuryworkshop/scramjet/./src/client/client.ts","webpack://@mercuryworkshop/scramjet/./src/client/document.ts","webpack://@mercuryworkshop/scramjet/./src/client/dom/attr.ts","webpack://@mercuryworkshop/scramjet/./src/client/dom/beacon.ts","webpack://@mercuryworkshop/scramjet/./src/client/dom/cookie.ts","webpack://@mercuryworkshop/scramjet/./src/client/dom/css.ts","webpack://@mercuryworkshop/scramjet/./src/client/dom/document.ts","webpack://@mercuryworkshop/scramjet/./src/client/dom/element.ts","webpack://@mercuryworkshop/scramjet/./src/client/dom/fontface.ts","webpack://@mercuryworkshop/scramjet/./src/client/dom/history.ts","webpack://@mercuryworkshop/scramjet/./src/client/dom/intersectionobserver.ts","webpack://@mercuryworkshop/scramjet/./src/client/dom/navigation.ts","webpack://@mercuryworkshop/scramjet/./src/client/dom/open.ts","webpack://@mercuryworkshop/scramjet/./src/client/dom/origin.ts","webpack://@mercuryworkshop/scramjet/./src/client/dom/performance.ts","webpack://@mercuryworkshop/scramjet/./src/client/dom/serviceworker.ts","webpack://@mercuryworkshop/scramjet/./src/client/dom/storage.ts","webpack://@mercuryworkshop/scramjet/./src/client/events.ts","webpack://@mercuryworkshop/scramjet/./src/client/global.ts","webpack://@mercuryworkshop/scramjet/./src/client/helpers.ts","webpack://@mercuryworkshop/scramjet/./src/client/index.ts","webpack://@mercuryworkshop/scramjet/./src/client/location.ts","webpack://@mercuryworkshop/scramjet/./src/client/natives.ts","webpack://@mercuryworkshop/scramjet/./src/client/shared/antiantidebugger.ts","webpack://@mercuryworkshop/scramjet/./src/client/shared/blob.ts","webpack://@mercuryworkshop/scramjet/./src/client/shared/caches.ts","webpack://@mercuryworkshop/scramjet/./src/client/shared/err.ts","webpack://@mercuryworkshop/scramjet/./src/client/shared/error.ts","webpack://@mercuryworkshop/scramjet/./src/client/shared/eval.ts","webpack://@mercuryworkshop/scramjet/./src/client/shared/event.ts","webpack://@mercuryworkshop/scramjet/./src/client/shared/function.ts","webpack://@mercuryworkshop/scramjet/./rewriter/out/rewriter.js","webpack://@mercuryworkshop/scramjet/./src/shared/rewriters/js.ts","webpack://@mercuryworkshop/scramjet/./src/client/shared/import.ts","webpack://@mercuryworkshop/scramjet/./src/shared/rewriters/url.ts","webpack://@mercuryworkshop/scramjet/./src/client/shared/indexeddb.ts","webpack://@mercuryworkshop/scramjet/./src/client/shared/postmessage.ts","webpack://@mercuryworkshop/scramjet/./src/client/shared/realm.ts","webpack://@mercuryworkshop/scramjet/./src/client/shared/requests/eventsource.ts","webpack://@mercuryworkshop/scramjet/./src/client/shared/requests/fetch.ts","webpack://@mercuryworkshop/scramjet/./src/client/shared/requests/websocket.ts","webpack://@mercuryworkshop/scramjet/./src/client/shared/requests/xmlhttprequest.ts","webpack://@mercuryworkshop/scramjet/./src/client/shared/sourcemaps.ts","webpack://@mercuryworkshop/scramjet/./src/client/shared/trustedTypes.ts","webpack://@mercuryworkshop/scramjet/./src/client/shared/unproxy.ts","webpack://@mercuryworkshop/scramjet/./src/client/shared/worker.ts","webpack://@mercuryworkshop/scramjet/./src/client/shared/wrap.ts","webpack://@mercuryworkshop/scramjet/./src/client/swruntime.ts","webpack://@mercuryworkshop/scramjet/./src/client/worker/importScripts.ts","webpack://@mercuryworkshop/scramjet/./src/log.ts","webpack://@mercuryworkshop/scramjet/./src/scramjet.ts","webpack://@mercuryworkshop/scramjet/./src/shared.ts","webpack://@mercuryworkshop/scramjet/./src/symbols.ts"],"sourcesContent":["import { iswindow } from \".\";\nimport { ScramjetFrame } from \"../controller/frame\";\nimport { SCRAMJETCLIENT, SCRAMJETFRAME } from \"../symbols\";\nimport { createDocumentProxy } from \"./document\";\nimport { createGlobalProxy } from \"./global\";\nimport { getOwnPropertyDescriptorHandler } from \"./helpers\";\nimport { createLocationProxy } from \"./location\";\nimport { nativeGetOwnPropertyDescriptor } from \"./natives\";\nimport {\n\tBareClient,\n\tCookieStore,\n\tconfig,\n\tunrewriteUrl,\n\trewriteUrl,\n} from \"../shared\";\nimport type { BareClient as BareClientType } from \"@mercuryworkshop/bare-mux\";\nimport { createWrapFn } from \"./shared/wrap\";\nimport { NavigateEvent } from \"./events\";\nimport type { URLMeta } from \"../shared/rewriters/url\";\n\n//eslint-disable-next-line\nexport type AnyFunction = Function;\n\nexport type ProxyCtx = {\n\tfn: AnyFunction;\n\tthis: any;\n\targs: any[];\n\tnewTarget: AnyFunction;\n\treturn: (r: any) => void;\n\tcall: () => any;\n};\nexport type Proxy = {\n\tconstruct?(ctx: ProxyCtx): any;\n\tapply?(ctx: ProxyCtx): any;\n};\n\nexport type TrapCtx = {\n\tthis: any;\n\tget: () => T;\n\tset: (v: T) => void;\n};\nexport type Trap = {\n\twritable?: boolean;\n\tvalue?: any;\n\tenumerable?: boolean;\n\tconfigurable?: boolean;\n\tget?: (ctx: TrapCtx) => T;\n\tset?: (ctx: TrapCtx, v: T) => void;\n};\n\nexport class ScramjetClient {\n\tdocumentProxy: any;\n\tglobalProxy: any;\n\tlocationProxy: any;\n\tserviceWorker: ServiceWorkerContainer;\n\tbare: BareClientType;\n\n\tdescriptors: Record = {};\n\tnatives: Record = {};\n\twrapfn: (i: any, ...args: any) => any;\n\n\tcookieStore = new CookieStore();\n\n\teventcallbacks: Map<\n\t\tany,\n\t\t[\n\t\t\t{\n\t\t\t\tevent: string;\n\t\t\t\toriginalCallback: AnyFunction;\n\t\t\t\tproxiedCallback: AnyFunction;\n\t\t\t},\n\t\t]\n\t> = new Map();\n\n\tmeta: URLMeta;\n\n\tconstructor(public global: typeof globalThis) {\n\t\tif (SCRAMJETCLIENT in global) {\n\t\t\tconsole.error(\n\t\t\t\t\"attempted to initialize a scramjet client, but one is already loaded - this is very bad\"\n\t\t\t);\n\t\t\tthrow new Error();\n\t\t}\n\n\t\tthis.serviceWorker = this.global.navigator.serviceWorker;\n\n\t\tif (iswindow) {\n\t\t\tthis.documentProxy = createDocumentProxy(this, global);\n\n\t\t\tglobal.document[SCRAMJETCLIENT] = this;\n\t\t}\n\n\t\tthis.locationProxy = createLocationProxy(this, global);\n\t\tthis.globalProxy = createGlobalProxy(this, global);\n\t\tthis.wrapfn = createWrapFn(this, global);\n\t\tif (iswindow) {\n\t\t\tthis.bare = new BareClient();\n\t\t} else {\n\t\t\tthis.bare = new BareClient(\n\t\t\t\tnew Promise((resolve) => {\n\t\t\t\t\taddEventListener(\"message\", ({ data }) => {\n\t\t\t\t\t\tif (typeof data !== \"object\") return;\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\"$scramjet$type\" in data &&\n\t\t\t\t\t\t\tdata.$scramjet$type === \"baremuxinit\"\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tresolve(data.port);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-this-alias\n\t\tconst client = this;\n\t\tthis.meta = {\n\t\t\tget origin() {\n\t\t\t\treturn client.url;\n\t\t\t},\n\t\t\tget base() {\n\t\t\t\tif (iswindow) {\n\t\t\t\t\tconst base = client.global.document.querySelector(\"base\");\n\t\t\t\t\tif (base) {\n\t\t\t\t\t\tlet url = base.getAttribute(\"href\");\n\t\t\t\t\t\tconst frag = url.indexOf(\"#\");\n\t\t\t\t\t\turl = url.substring(0, frag === -1 ? undefined : frag);\n\t\t\t\t\t\tif (!url) return client.url;\n\n\t\t\t\t\t\treturn new URL(url, client.url.origin);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn client.url;\n\t\t\t},\n\t\t};\n\n\t\tglobal[SCRAMJETCLIENT] = this;\n\t}\n\n\tget frame(): ScramjetFrame | null {\n\t\tif (!iswindow) return null;\n\t\tconst frame = this.global.window.frameElement;\n\n\t\tif (!frame) return null; // we're top level\n\t\tconst sframe = frame[SCRAMJETFRAME];\n\n\t\tif (!sframe) {\n\t\t\t// we're in a subframe, recurse upward until we find one\n\t\t\tlet currentwin = this.global.window;\n\t\t\twhile (currentwin.parent != currentwin) {\n\t\t\t\tif (!currentwin.frameElement) return null; // ??\n\t\t\t\tif (currentwin.frameElement && currentwin.frameElement[SCRAMJETFRAME]) {\n\t\t\t\t\treturn currentwin.frameElement[SCRAMJETFRAME];\n\t\t\t\t}\n\t\t\t\tcurrentwin = currentwin.parent.window;\n\t\t\t}\n\t\t}\n\n\t\treturn sframe;\n\t}\n\n\tloadcookies(cookiestr: string) {\n\t\tthis.cookieStore.load(cookiestr);\n\t}\n\n\thook() {\n\t\t// @ts-ignore\n\t\tconst context = import.meta.webpackContext(\".\", {\n\t\t\trecursive: true,\n\t\t});\n\n\t\tconst modules = [];\n\n\t\tfor (const key of context.keys()) {\n\t\t\tconst module = context(key);\n\t\t\tif (!key.endsWith(\".ts\")) continue;\n\t\t\tif (\n\t\t\t\t(key.startsWith(\"./dom/\") && \"window\" in this.global) ||\n\t\t\t\t(key.startsWith(\"./worker/\") && \"WorkerGlobalScope\" in this.global) ||\n\t\t\t\tkey.startsWith(\"./shared/\")\n\t\t\t) {\n\t\t\t\tmodules.push(module);\n\t\t\t}\n\t\t}\n\n\t\tmodules.sort((a, b) => {\n\t\t\tconst aorder = a.order || 0;\n\t\t\tconst border = b.order || 0;\n\n\t\t\treturn aorder - border;\n\t\t});\n\n\t\tfor (const module of modules) {\n\t\t\tif (!module.enabled || module.enabled(this))\n\t\t\t\tmodule.default(this, this.global);\n\t\t\telse if (module.disabled) module.disabled(this, this.global);\n\t\t}\n\t}\n\n\tget url(): URL {\n\t\treturn new URL(unrewriteUrl(this.global.location.href));\n\t}\n\n\tset url(url: URL | string) {\n\t\tif (url instanceof URL) url = url.toString();\n\n\t\tconst ev = new NavigateEvent(url);\n\t\tif (this.frame) {\n\t\t\tthis.frame.dispatchEvent(ev);\n\t\t}\n\t\tif (ev.defaultPrevented) return;\n\n\t\tthis.global.location.href = rewriteUrl(ev.url, this.meta);\n\t}\n\n\t// below are the utilities for proxying and trapping dom APIs\n\t// you don't have to understand this it just makes the rest easier\n\t// i'll document it eventually\n\n\tProxy(name: string | string[], handler: Proxy) {\n\t\tif (Array.isArray(name)) {\n\t\t\tfor (const n of name) {\n\t\t\t\tthis.Proxy(n, handler);\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tconst split = name.split(\".\");\n\t\tconst prop = split.pop();\n\t\tconst target = split.reduce((a, b) => a?.[b], this.global);\n\t\tif (!target) return;\n\n\t\tconst original = Reflect.get(target, prop);\n\t\tthis.natives[name] = original;\n\n\t\tthis.RawProxy(target, prop, handler);\n\t}\n\tRawProxy(target: any, prop: string, handler: Proxy) {\n\t\tif (!target) return;\n\t\tif (!prop) return;\n\t\tif (!Reflect.has(target, prop)) return;\n\n\t\tconst value = Reflect.get(target, prop);\n\t\tdelete target[prop];\n\n\t\tconst h: ProxyHandler = {};\n\n\t\tif (handler.construct) {\n\t\t\th.construct = function (\n\t\t\t\tconstructor: any,\n\t\t\t\targArray: any[],\n\t\t\t\tnewTarget: AnyFunction\n\t\t\t) {\n\t\t\t\tlet returnValue: any = undefined;\n\t\t\t\tlet earlyreturn = false;\n\n\t\t\t\tconst ctx: ProxyCtx = {\n\t\t\t\t\tfn: constructor,\n\t\t\t\t\tthis: null,\n\t\t\t\t\targs: argArray,\n\t\t\t\t\tnewTarget: newTarget,\n\t\t\t\t\treturn: (r: any) => {\n\t\t\t\t\t\tearlyreturn = true;\n\t\t\t\t\t\treturnValue = r;\n\t\t\t\t\t},\n\t\t\t\t\tcall: () => {\n\t\t\t\t\t\tearlyreturn = true;\n\t\t\t\t\t\treturnValue = Reflect.construct(ctx.fn, ctx.args, ctx.newTarget);\n\n\t\t\t\t\t\treturn returnValue;\n\t\t\t\t\t},\n\t\t\t\t};\n\n\t\t\t\thandler.construct(ctx);\n\n\t\t\t\tif (earlyreturn) {\n\t\t\t\t\treturn returnValue;\n\t\t\t\t}\n\n\t\t\t\treturn Reflect.construct(ctx.fn, ctx.args, ctx.newTarget);\n\t\t\t};\n\t\t}\n\n\t\tif (handler.apply) {\n\t\t\th.apply = function (fn: any, thisArg: any, argArray: any[]) {\n\t\t\t\tlet returnValue: any = undefined;\n\t\t\t\tlet earlyreturn = false;\n\n\t\t\t\tconst ctx: ProxyCtx = {\n\t\t\t\t\tfn,\n\t\t\t\t\tthis: thisArg,\n\t\t\t\t\targs: argArray,\n\t\t\t\t\tnewTarget: null,\n\t\t\t\t\treturn: (r: any) => {\n\t\t\t\t\t\tearlyreturn = true;\n\t\t\t\t\t\treturnValue = r;\n\t\t\t\t\t},\n\t\t\t\t\tcall: () => {\n\t\t\t\t\t\tearlyreturn = true;\n\t\t\t\t\t\treturnValue = Reflect.apply(ctx.fn, ctx.this, ctx.args);\n\n\t\t\t\t\t\treturn returnValue;\n\t\t\t\t\t},\n\t\t\t\t};\n\n\t\t\t\tconst pst = Error.prepareStackTrace;\n\n\t\t\t\tError.prepareStackTrace = function (err, s) {\n\t\t\t\t\tif (\n\t\t\t\t\t\ts[0].getFileName() &&\n\t\t\t\t\t\t!s[0].getFileName().startsWith(location.origin + config.prefix)\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn { stack: err.stack };\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\ttry {\n\t\t\t\t\thandler.apply(ctx);\n\t\t\t\t} catch (err) {\n\t\t\t\t\tif (err instanceof Error) {\n\t\t\t\t\t\tif ((err.stack as any) instanceof Object) {\n\t\t\t\t\t\t\t//@ts-expect-error i'm not going to explain this\n\t\t\t\t\t\t\terr.stack = err.stack.stack;\n\t\t\t\t\t\t\tconsole.error(\"ERROR FROM SCRAMJET INTERNALS\", err);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthrow err;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthrow err;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tError.prepareStackTrace = pst;\n\n\t\t\t\tif (earlyreturn) {\n\t\t\t\t\treturn returnValue;\n\t\t\t\t}\n\n\t\t\t\treturn Reflect.apply(ctx.fn, ctx.this, ctx.args);\n\t\t\t};\n\t\t}\n\n\t\th.getOwnPropertyDescriptor = getOwnPropertyDescriptorHandler;\n\t\ttarget[prop] = new Proxy(value, h);\n\t}\n\tTrap(name: string | string[], descriptor: Trap): PropertyDescriptor {\n\t\tif (Array.isArray(name)) {\n\t\t\tfor (const n of name) {\n\t\t\t\tthis.Trap(n, descriptor);\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tconst split = name.split(\".\");\n\t\tconst prop = split.pop();\n\t\tconst target = split.reduce((a, b) => a?.[b], this.global);\n\t\tif (!target) return;\n\n\t\tconst original = nativeGetOwnPropertyDescriptor(target, prop);\n\t\tthis.descriptors[name] = original;\n\n\t\treturn this.RawTrap(target, prop, descriptor);\n\t}\n\tRawTrap(\n\t\ttarget: any,\n\t\tprop: string,\n\t\tdescriptor: Trap\n\t): PropertyDescriptor {\n\t\tif (!target) return;\n\t\tif (!prop) return;\n\t\tif (!Reflect.has(target, prop)) return;\n\n\t\tconst oldDescriptor = nativeGetOwnPropertyDescriptor(target, prop);\n\n\t\tconst ctx: TrapCtx = {\n\t\t\tthis: null,\n\t\t\tget: function () {\n\t\t\t\treturn oldDescriptor && oldDescriptor.get.call(this.this);\n\t\t\t},\n\t\t\tset: function (v: T) {\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-unused-expressions\n\t\t\t\toldDescriptor && oldDescriptor.set.call(this.this, v);\n\t\t\t},\n\t\t};\n\n\t\tdelete target[prop];\n\n\t\tconst desc: PropertyDescriptor = {};\n\n\t\tif (descriptor.get) {\n\t\t\tdesc.get = function () {\n\t\t\t\tctx.this = this;\n\n\t\t\t\treturn descriptor.get(ctx);\n\t\t\t};\n\t\t} else if (oldDescriptor?.get) {\n\t\t\tdesc.get = oldDescriptor.get;\n\t\t}\n\n\t\tif (descriptor.set) {\n\t\t\tdesc.set = function (v: T) {\n\t\t\t\tctx.this = this;\n\n\t\t\t\tdescriptor.set(ctx, v);\n\t\t\t};\n\t\t} else if (oldDescriptor?.set) {\n\t\t\tdesc.set = oldDescriptor.set;\n\t\t}\n\n\t\tif (descriptor.enumerable) desc.enumerable = descriptor.enumerable;\n\t\telse if (oldDescriptor?.enumerable)\n\t\t\tdesc.enumerable = oldDescriptor.enumerable;\n\t\tif (descriptor.configurable) desc.configurable = descriptor.configurable;\n\t\telse if (oldDescriptor?.configurable)\n\t\t\tdesc.configurable = oldDescriptor.configurable;\n\n\t\tObject.defineProperty(target, prop, desc);\n\n\t\treturn oldDescriptor;\n\t}\n}\n","import { rewriteUrl } from \"../shared\";\nimport { ScramjetClient } from \"./client\";\nimport { getOwnPropertyDescriptorHandler } from \"./helpers\";\n\nexport function createDocumentProxy(\n\tclient: ScramjetClient,\n\tself: typeof globalThis\n) {\n\treturn new Proxy(self.document, {\n\t\tget(target, prop) {\n\t\t\tif (prop === \"location\") {\n\t\t\t\treturn client.locationProxy;\n\t\t\t}\n\n\t\t\tif (prop === \"defaultView\") {\n\t\t\t\treturn client.globalProxy;\n\t\t\t}\n\n\t\t\tconst value = Reflect.get(target, prop);\n\n\t\t\treturn value;\n\t\t},\n\t\tset(target, prop, newValue) {\n\t\t\tif (prop === \"location\") {\n\t\t\t\tlocation.href = rewriteUrl(newValue, client.meta);\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\treturn Reflect.set(target, prop, newValue);\n\t\t},\n\t\tgetOwnPropertyDescriptor: getOwnPropertyDescriptorHandler,\n\t});\n}\n","import { ScramjetClient } from \"../client\";\n\nexport default function (client: ScramjetClient, self: typeof window) {\n\tclient.Trap(\"Element.prototype.attributes\", {\n\t\tget(ctx) {\n\t\t\tconst map = ctx.get() as NamedNodeMap;\n\t\t\tconst proxy = new Proxy(map, {\n\t\t\t\tget(target, prop, receiver) {\n\t\t\t\t\tconst value = Reflect.get(target, prop);\n\n\t\t\t\t\tif (prop === \"length\") {\n\t\t\t\t\t\treturn Object.keys(proxy).length;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (prop === \"getNamedItem\") {\n\t\t\t\t\t\treturn (name: string) => proxy[name];\n\t\t\t\t\t}\n\t\t\t\t\tif (prop === \"getNamedItemNS\") {\n\t\t\t\t\t\treturn (namespace: string, name: string) =>\n\t\t\t\t\t\t\tproxy[`${namespace}:${name}`];\n\t\t\t\t\t}\n\n\t\t\t\t\tif (prop in NamedNodeMap.prototype && typeof value === \"function\") {\n\t\t\t\t\t\treturn new Proxy(value, {\n\t\t\t\t\t\t\tapply(target, thisArg, argArray) {\n\t\t\t\t\t\t\t\tif (thisArg === proxy) {\n\t\t\t\t\t\t\t\t\treturn Reflect.apply(target, map, argArray);\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\treturn Reflect.apply(target, thisArg, argArray);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!this.has(target, prop)) return undefined;\n\n\t\t\t\t\treturn value;\n\t\t\t\t},\n\t\t\t\townKeys(target) {\n\t\t\t\t\tconst keys = Reflect.ownKeys(target);\n\n\t\t\t\t\treturn keys.filter((key) => this.has(target, key));\n\t\t\t\t},\n\t\t\t\thas(target, prop) {\n\t\t\t\t\tif (typeof prop === \"symbol\") return Reflect.has(target, prop);\n\t\t\t\t\tif (prop.startsWith(\"data-scramjet-\")) return false;\n\t\t\t\t\tif (map[prop]?.name?.startsWith(\"data-scramjet-\")) return false;\n\n\t\t\t\t\treturn Reflect.has(target, prop);\n\t\t\t\t},\n\t\t\t});\n\n\t\t\treturn proxy;\n\t\t},\n\t});\n\n\tclient.Trap(\"Attr.prototype.value\", {\n\t\tget(ctx) {\n\t\t\treturn ctx.this.ownerElement.getAttribute(ctx.this.name);\n\t\t},\n\t\tset(ctx, value) {\n\t\t\treturn ctx.this.ownerElement.setAttribute(ctx.this.name, value);\n\t\t},\n\t});\n}\n","import { rewriteUrl } from \"../../shared\";\nimport { ScramjetClient } from \"../client\";\n\nexport default function (client: ScramjetClient, self) {\n\tclient.Proxy(\"Navigator.prototype.sendBeacon\", {\n\t\tapply(ctx) {\n\t\t\tctx.args[0] = rewriteUrl(ctx.args[0], client.meta);\n\t\t},\n\t});\n}\n","import { ScramjetClient } from \"../client\";\n\nexport default function (client: ScramjetClient, self: typeof window) {\n\tclient.serviceWorker.addEventListener(\"message\", ({ data }) => {\n\t\tif (!(\"scramjet$type\" in data)) return;\n\n\t\tif (data.scramjet$type === \"cookie\") {\n\t\t\tclient.cookieStore.setCookies([data.cookie], new URL(data.url));\n\t\t}\n\t});\n\n\tclient.Trap(\"Document.prototype.cookie\", {\n\t\tget() {\n\t\t\treturn client.cookieStore.getCookies(client.url, true);\n\t\t},\n\t\tset(ctx, value: string) {\n\t\t\tclient.cookieStore.setCookies([value], client.url);\n\n\t\t\tif (client.serviceWorker.controller) {\n\t\t\t\tclient.serviceWorker.controller!.postMessage({\n\t\t\t\t\tscramjet$type: \"cookie\",\n\t\t\t\t\tcookie: value,\n\t\t\t\t\turl: client.url.href,\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t});\n\n\t// @ts-ignore\n\tdelete self.cookieStore;\n}\n","import { ScramjetClient } from \"../client\";\nimport { rewriteCss, unrewriteCss } from \"../../shared\";\n\nconst cssProperties = [\n\t\"background\",\n\t\"background-image\",\n\t\"mask\",\n\t\"mask-image\",\n\t\"list-style\",\n\t\"list-style-image\",\n\t\"border-image\",\n\t\"border-image-source\",\n\t\"cursor\",\n];\n\nexport default function (client: ScramjetClient) {\n\tclient.Proxy(\"CSSStyleDeclaration.prototype.setProperty\", {\n\t\tapply(ctx) {\n\t\t\tif (!ctx.args[1]) return;\n\t\t\tctx.args[1] = rewriteCss(ctx.args[1], client.meta);\n\t\t},\n\t});\n\n\tclient.Proxy(\"CSSStyleDeclaration.prototype.getPropertyValue\", {\n\t\tapply(ctx) {\n\t\t\tconst v = ctx.call();\n\t\t\tif (!v) return v;\n\t\t\tctx.return(unrewriteCss(v));\n\t\t},\n\t});\n\n\tclient.Trap(\"CSSStyleDeclaration.prototype.cssText\", {\n\t\tset(ctx, value: string) {\n\t\t\tctx.set(rewriteCss(value, client.meta));\n\t\t},\n\t\tget(ctx) {\n\t\t\treturn unrewriteCss(ctx.get());\n\t\t},\n\t});\n\n\tclient.Trap(\"HTMLElement.prototype.style\", {\n\t\tget(ctx) {\n\t\t\t// unfortunate and dumb hack. we have to trap every property of this\n\t\t\t// since the prototype chain is fucked\n\n\t\t\tconst style = ctx.get() as CSSStyleDeclaration;\n\n\t\t\treturn new Proxy(style, {\n\t\t\t\tget(t, p) {\n\t\t\t\t\tconst v = Reflect.get(t, p);\n\n\t\t\t\t\tif (typeof v === \"function\") {\n\t\t\t\t\t\treturn new Proxy(v, {\n\t\t\t\t\t\t\tapply(target, thisArg, argArray) {\n\t\t\t\t\t\t\t\treturn Reflect.apply(target, style, argArray);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\tif (p in CSSStyleDeclaration.prototype) return v;\n\t\t\t\t\tif (!v) return v;\n\n\t\t\t\t\treturn unrewriteCss(v);\n\t\t\t\t},\n\t\t\t\tset(t, p, v) {\n\t\t\t\t\tif (p == \"cssText\" || v == \"\" || typeof v !== \"string\") {\n\t\t\t\t\t\treturn Reflect.set(t, p, v);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn Reflect.set(t, p, rewriteCss(v, client.meta));\n\t\t\t\t},\n\t\t\t});\n\t\t},\n\t\tset(ctx, v: string) {\n\t\t\t// this will actually run the trap for cssText. don't rewrite it here\n\t\t\tctx.set(v);\n\t\t},\n\t});\n}\n","import { rewriteHtml } from \"../../shared\";\nimport { ScramjetClient } from \"../client\";\n\nexport default function (client: ScramjetClient, self: typeof window) {\n\tclient.Proxy(\"Document.prototype.write\", {\n\t\tapply(ctx) {\n\t\t\tif (ctx.args[0])\n\t\t\t\tctx.args[0] = rewriteHtml(\n\t\t\t\t\tctx.args[0],\n\t\t\t\t\tclient.cookieStore,\n\t\t\t\t\tclient.meta,\n\t\t\t\t\tfalse\n\t\t\t\t);\n\t\t},\n\t});\n\n\tclient.Proxy(\"Document.prototype.writeln\", {\n\t\tapply(ctx) {\n\t\t\tif (ctx.args[0])\n\t\t\t\tctx.args[0] = rewriteHtml(\n\t\t\t\t\tctx.args[0],\n\t\t\t\t\tclient.cookieStore,\n\t\t\t\t\tclient.meta,\n\t\t\t\t\tfalse\n\t\t\t\t);\n\t\t},\n\t});\n}\n","import { SCRAMJETCLIENT } from \"../../symbols\";\nimport { ScramjetClient } from \"../client\";\nimport { nativeGetOwnPropertyDescriptor } from \"../natives\";\nimport {\n\tunrewriteUrl,\n\thtmlRules,\n\tunrewriteHtml,\n\tunrewriteBlob,\n} from \"../../shared\";\nimport {\n\trewriteUrl,\n\trewriteCss,\n\trewriteHtml,\n\trewriteJs,\n\trewriteSrcset,\n} from \"../../shared\";\nimport type { URLMeta } from \"../../shared/rewriters/url\";\n\nexport default function (client: ScramjetClient, self: typeof window) {\n\tconst _nativeGetAttribute = self.Element.prototype.getAttribute;\n\tconst nativeSetAttribute = self.Element.prototype.setAttribute;\n\tconst _nativeHasAttribute = self.Element.prototype.hasAttribute;\n\n\tconst attrObject = {\n\t\tnonce: [self.HTMLElement],\n\t\tintegrity: [self.HTMLScriptElement, self.HTMLLinkElement],\n\t\tcsp: [self.HTMLIFrameElement],\n\t\tcredentialless: [self.HTMLIFrameElement],\n\t\tsrc: [\n\t\t\tself.HTMLImageElement,\n\t\t\tself.HTMLMediaElement,\n\t\t\tself.HTMLIFrameElement,\n\t\t\tself.HTMLEmbedElement,\n\t\t\tself.HTMLScriptElement,\n\t\t\tself.HTMLSourceElement,\n\t\t],\n\t\thref: [self.HTMLAnchorElement, self.HTMLLinkElement, self.SVGUseElement],\n\t\tdata: [self.HTMLObjectElement],\n\t\taction: [self.HTMLFormElement],\n\t\tformaction: [self.HTMLButtonElement, self.HTMLInputElement],\n\t\tsrcdoc: [self.HTMLIFrameElement],\n\t\tsrcset: [self.HTMLImageElement, self.HTMLSourceElement],\n\t\timagesrcset: [self.HTMLLinkElement],\n\t};\n\n\tconst urlinterfaces = [\n\t\tself.HTMLAnchorElement.prototype,\n\t\tself.HTMLAreaElement.prototype,\n\t];\n\tconst originalhrefs = [\n\t\tnativeGetOwnPropertyDescriptor(self.HTMLAnchorElement.prototype, \"href\"),\n\t\tnativeGetOwnPropertyDescriptor(self.HTMLAreaElement.prototype, \"href\"),\n\t];\n\n\tconst attrs = Object.keys(attrObject);\n\n\tfor (const attr of attrs) {\n\t\tfor (const element of attrObject[attr]) {\n\t\t\tconst descriptor = nativeGetOwnPropertyDescriptor(\n\t\t\t\telement.prototype,\n\t\t\t\tattr\n\t\t\t);\n\t\t\tObject.defineProperty(element.prototype, attr, {\n\t\t\t\tget() {\n\t\t\t\t\tif ([\"src\", \"data\", \"href\", \"action\", \"formaction\"].includes(attr)) {\n\t\t\t\t\t\treturn unrewriteUrl(descriptor.get.call(this));\n\t\t\t\t\t}\n\n\t\t\t\t\treturn descriptor.get.call(this);\n\t\t\t\t},\n\n\t\t\t\tset(value) {\n\t\t\t\t\treturn this.setAttribute(attr, value);\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t}\n\n\t// note that href is not here\n\tconst urlprops = [\n\t\t\"protocol\",\n\t\t\"hash\",\n\t\t\"host\",\n\t\t\"hostname\",\n\t\t\"origin\",\n\t\t\"pathname\",\n\t\t\"port\",\n\t\t\"search\",\n\t];\n\tfor (const prop of urlprops) {\n\t\tfor (const i in urlinterfaces) {\n\t\t\tconst target = urlinterfaces[i];\n\t\t\tconst desc = originalhrefs[i];\n\t\t\tclient.RawTrap(target, prop, {\n\t\t\t\tget(ctx) {\n\t\t\t\t\tconst href = desc.get.call(ctx.this);\n\t\t\t\t\tif (!href) return href;\n\n\t\t\t\t\tconst url = new URL(unrewriteUrl(href));\n\n\t\t\t\t\treturn url[prop];\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t}\n\n\tclient.Trap(\"Node.prototype.baseURI\", {\n\t\tget() {\n\t\t\t// TODO this should be using ownerdocument but who gaf\n\t\t\tconst base = self.document.querySelector(\"base\");\n\t\t\tif (base) {\n\t\t\t\treturn new URL(base.href, client.url.origin).href;\n\t\t\t}\n\n\t\t\treturn client.url.origin;\n\t\t},\n\t\tset() {\n\t\t\treturn false;\n\t\t},\n\t});\n\n\tclient.Proxy(\"Element.prototype.setAttribute\", {\n\t\tapply(ctx) {\n\t\t\tconst [name, value] = ctx.args;\n\n\t\t\tconst ruleList = htmlRules.find((rule) => {\n\t\t\t\tconst r = rule[name.toLowerCase()];\n\t\t\t\tif (!r) return false;\n\t\t\t\tif (r === \"*\") return true;\n\t\t\t\tif (typeof r === \"function\") return false; // this can't happen but ts\n\n\t\t\t\treturn r.includes(ctx.this.tagName.toLowerCase());\n\t\t\t});\n\n\t\t\tif (ruleList) {\n\t\t\t\tctx.args[1] = ruleList.fn(value, client.meta, client.cookieStore);\n\t\t\t\tctx.fn.call(ctx.this, `data-scramjet-${ctx.args[0]}`, value);\n\t\t\t}\n\t\t},\n\t});\n\tclient.Proxy(\"Element.prototype.setAttributeNS\", {\n\t\tapply(ctx) {\n\t\t\tconst [namespace, name, value] = ctx.args;\n\n\t\t\tconst ruleList = htmlRules.find((rule) => {\n\t\t\t\tconst r = rule[name.toLowerCase()];\n\t\t\t\tif (!r) return false;\n\t\t\t\tif (r === \"*\") return true;\n\t\t\t\tif (typeof r === \"function\") return false; // this can't happen but ts\n\n\t\t\t\treturn r.includes(ctx.this.tagName.toLowerCase());\n\t\t\t});\n\n\t\t\tif (ruleList) {\n\t\t\t\tctx.args[2] = ruleList.fn(value, client.meta, client.cookieStore);\n\t\t\t\tnativeSetAttribute.call(\n\t\t\t\t\tctx.this,\n\t\t\t\t\t`data-scramjet-${ctx.args[1]}`,\n\t\t\t\t\tvalue\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t});\n\n\tclient.Proxy(\"Element.prototype.getAttribute\", {\n\t\tapply(ctx) {\n\t\t\tconst [name] = ctx.args;\n\n\t\t\tif (ctx.fn.call(ctx.this, `data-scramjet-${name}`)) {\n\t\t\t\tctx.return(ctx.fn.call(ctx.this, `data-scramjet-${name}`));\n\t\t\t}\n\t\t},\n\t});\n\n\tclient.Trap(\"Element.prototype.innerHTML\", {\n\t\tset(ctx, value: string) {\n\t\t\tlet newval;\n\t\t\tif (ctx.this instanceof self.HTMLScriptElement) {\n\t\t\t\tnewval = rewriteJs(value, \"(anonymous script element)\", client.meta);\n\t\t\t} else if (ctx.this instanceof self.HTMLStyleElement) {\n\t\t\t\tnewval = rewriteCss(value, client.meta);\n\t\t\t} else {\n\t\t\t\ttry {\n\t\t\t\t\tnewval = rewriteHtml(value, client.cookieStore, client.meta);\n\t\t\t\t} catch {\n\t\t\t\t\tnewval = value;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tctx.set(newval);\n\t\t},\n\t\tget(ctx) {\n\t\t\tif (ctx.this instanceof self.HTMLScriptElement) {\n\t\t\t\tconst scriptSource = client.natives[\n\t\t\t\t\t\"Element.prototype.getAttribute\"\n\t\t\t\t].call(ctx.this, \"data-scramjet-script-source-src\");\n\n\t\t\t\tif (scriptSource) {\n\t\t\t\t\treturn atob(scriptSource);\n\t\t\t\t}\n\n\t\t\t\treturn ctx.get();\n\t\t\t}\n\t\t\tif (ctx.this instanceof self.HTMLStyleElement) {\n\t\t\t\treturn ctx.get();\n\t\t\t}\n\n\t\t\treturn unrewriteHtml(ctx.get());\n\t\t},\n\t});\n\n\tclient.Trap(\"Element.prototype.outerHTML\", {\n\t\tset(ctx, value: string) {\n\t\t\tctx.set(rewriteHtml(value, client.cookieStore, client.meta));\n\t\t},\n\t\tget(ctx) {\n\t\t\treturn unrewriteHtml(ctx.get());\n\t\t},\n\t});\n\tclient.Proxy(\"Element.prototype.insertAdjacentHTML\", {\n\t\tapply(ctx) {\n\t\t\tif (ctx.args[1])\n\t\t\t\tctx.args[1] = rewriteHtml(\n\t\t\t\t\tctx.args[1],\n\t\t\t\t\tclient.cookieStore,\n\t\t\t\t\tclient.meta,\n\t\t\t\t\tfalse\n\t\t\t\t);\n\t\t},\n\t});\n\n\tclient.Trap(\"HTMLIFrameElement.prototype.contentWindow\", {\n\t\tget(ctx) {\n\t\t\tconst realwin = ctx.get() as Window;\n\t\t\tif (!realwin) return realwin;\n\n\t\t\tif (SCRAMJETCLIENT in realwin.self) {\n\t\t\t\tif (realwin.location.href.includes(\"accounts.google.com\")) return null; // don't question it\n\n\t\t\t\treturn realwin.self[SCRAMJETCLIENT].globalProxy;\n\t\t\t} else {\n\t\t\t\t// hook the iframe\n\t\t\t\tconst newclient = new ScramjetClient(realwin.self);\n\t\t\t\tnewclient.hook();\n\n\t\t\t\treturn newclient.globalProxy;\n\t\t\t}\n\t\t},\n\t});\n\n\tclient.Trap(\"HTMLIFrameElement.prototype.contentDocument\", {\n\t\tget(ctx) {\n\t\t\tconst contentwindow =\n\t\t\t\tclient.descriptors[\"HTMLIFrameElement.prototype.contentWindow\"].get;\n\t\t\tconst realwin = contentwindow.apply(ctx.this);\n\t\t\tif (!realwin) return realwin;\n\n\t\t\tif (SCRAMJETCLIENT in realwin.self) {\n\t\t\t\treturn realwin.self[SCRAMJETCLIENT].documentProxy;\n\t\t\t} else {\n\t\t\t\tconst newclient = new ScramjetClient(realwin.self);\n\t\t\t\tnewclient.hook();\n\n\t\t\t\treturn newclient.documentProxy;\n\t\t\t}\n\t\t},\n\t});\n\n\tclient.Trap(\"TreeWalker.prototype.currentNode\", {\n\t\tget(ctx) {\n\t\t\treturn ctx.get();\n\t\t},\n\t\tset(ctx, value) {\n\t\t\tif (value == client.documentProxy) {\n\t\t\t\treturn ctx.set(self.document);\n\t\t\t}\n\n\t\t\treturn ctx.set(value);\n\t\t},\n\t});\n\n\tclient.Trap(\"Node.prototype.ownerDocument\", {\n\t\tget(ctx) {\n\t\t\t// return client.documentProxy;\n\t\t\tconst doc = ctx.get() as Document | null;\n\t\t\tif (!doc) return null;\n\n\t\t\tconst scram: ScramjetClient = doc[SCRAMJETCLIENT];\n\t\t\tif (!scram) return doc; // ??\n\n\t\t\treturn scram.documentProxy;\n\t\t},\n\t});\n\n\tclient.Trap(\n\t\t[\n\t\t\t\"Node.prototype.parentNode\",\n\t\t\t\"Node.prototype.parentElement\",\n\t\t\t\"Node.prototype.previousSibling\",\n\t\t\t\"Node.prototype.nextSibling\",\n\t\t],\n\t\t{\n\t\t\tget(ctx) {\n\t\t\t\tconst n = ctx.get() as Node;\n\t\t\t\tif (!(n instanceof Document)) return n;\n\n\t\t\t\tconst scram: ScramjetClient = n[SCRAMJETCLIENT];\n\t\t\t\tif (!scram) return n; // ??\n\n\t\t\t\treturn scram.documentProxy;\n\t\t\t},\n\t\t}\n\t);\n\n\tclient.Proxy(\"Node.prototype.getRootNode\", {\n\t\tapply(ctx) {\n\t\t\tconst n = ctx.call() as Node;\n\t\t\tif (!(n instanceof Document)) return ctx.return(n);\n\n\t\t\tconst scram: ScramjetClient = n[SCRAMJETCLIENT];\n\t\t\tif (!scram) return ctx.return(n); // ??\n\n\t\t\treturn ctx.return(scram.documentProxy);\n\t\t},\n\t});\n\n\tclient.Proxy(\"DOMParser.prototype.parseFromString\", {\n\t\tapply(ctx) {\n\t\t\tif (ctx.args[1] === \"text/html\") {\n\t\t\t\tctx.args[0] = rewriteHtml(\n\t\t\t\t\tctx.args[0],\n\t\t\t\t\tclient.cookieStore,\n\t\t\t\t\tclient.meta,\n\t\t\t\t\tfalse\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t});\n}\n","import { ScramjetClient } from \"../client\";\nimport { rewriteCss } from \"../../shared\";\n\nexport default function (client: ScramjetClient, _self: Self) {\n\tclient.Proxy(\"FontFace\", {\n\t\tconstruct(ctx) {\n\t\t\tctx.args[1] = rewriteCss(ctx.args[1], client.meta);\n\t\t},\n\t});\n}\n","import { ScramjetClient } from \"../client\";\nimport { rewriteUrl } from \"../../shared\";\nimport { UrlChangeEvent } from \"../events\";\n\nexport default function (client: ScramjetClient, self: typeof globalThis) {\n\tclient.Proxy(\"History.prototype.pushState\", {\n\t\tapply(ctx) {\n\t\t\tif (ctx.args[2]) ctx.args[2] = rewriteUrl(ctx.args[2], client.meta);\n\t\t\tctx.call();\n\n\t\t\tconst ev = new UrlChangeEvent(client.url.href);\n\t\t\tif (client.frame) client.frame.dispatchEvent(ev);\n\t\t},\n\t});\n\n\tclient.Proxy(\"History.prototype.replaceState\", {\n\t\tapply(ctx) {\n\t\t\tif (ctx.args[2]) ctx.args[2] = rewriteUrl(ctx.args[2], client.meta);\n\t\t\tctx.call();\n\n\t\t\tconst ev = new UrlChangeEvent(client.url.href);\n\t\t\tif (client.frame) client.frame.dispatchEvent(ev);\n\t\t},\n\t});\n}\n","import { ScramjetClient } from \"../client\";\n\nexport default function (client: ScramjetClient) {\n\tclient.Proxy(\"IntersectionObserver\", {\n\t\tconstruct(ctx) {\n\t\t\t// Set to the real document\n\t\t\tif (ctx.args[1] && ctx.args[1].root) ctx.args[1].root = document;\n\t\t\tctx.call();\n\t\t},\n\t});\n}\n","export default function (client, self: Self) {\n\t// @ts-ignore\n\tdelete self.navigation;\n}\n","import { rewriteUrl } from \"../../shared\";\nimport { ScramjetClient } from \"../client\";\nimport { SCRAMJETCLIENT } from \"../../symbols\";\n\nexport default function (client: ScramjetClient) {\n\tclient.Proxy(\"window.open\", {\n\t\tapply(ctx) {\n\t\t\tif (ctx.args[0]) ctx.args[0] = rewriteUrl(ctx.args[0], client.meta);\n\n\t\t\tif ([\"_parent\", \"_top\", \"_unfencedTop\"].includes(ctx.args[1]))\n\t\t\t\tctx.args[1] = \"_self\";\n\n\t\t\tconst realwin = ctx.call();\n\n\t\t\tif (!realwin) return ctx.return(realwin);\n\n\t\t\tif (SCRAMJETCLIENT in realwin.self) {\n\t\t\t\treturn ctx.return(realwin.self[SCRAMJETCLIENT].globalProxy.window);\n\t\t\t} else {\n\t\t\t\tconst newclient = new ScramjetClient(realwin.self);\n\t\t\t\t// hook the opened window\n\t\t\t\tnewclient.hook();\n\n\t\t\t\treturn ctx.return(newclient.globalProxy);\n\t\t\t}\n\t\t},\n\t});\n\n\t// opener will refer to the real window if it was opened by window.open\n\tclient.Trap(\"opener\", {\n\t\tget(ctx) {\n\t\t\tconst realwin = ctx.get() as Window;\n\n\t\t\tif (realwin && SCRAMJETCLIENT in realwin.self) {\n\t\t\t\treturn realwin.self[SCRAMJETCLIENT].globalProxy;\n\t\t\t} else {\n\t\t\t\t// the opener has to have been already hooked, so if we reach here then it's a real window\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t},\n\t});\n\n\tclient.Trap(\"window.frameElement\", {\n\t\tget(ctx) {\n\t\t\tconst f = ctx.get() as HTMLIFrameElement | null;\n\t\t\tif (!f) return f;\n\n\t\t\tconst win = f.ownerDocument.defaultView;\n\t\t\tif (win[SCRAMJETCLIENT]) {\n\t\t\t\t// then this is a subframe in a scramjet context, and it's safe to pass back the real iframe\n\t\t\t\treturn f;\n\t\t\t} else {\n\t\t\t\t// no, the top frame is outside the sandbox\n\t\t\t\treturn null;\n\t\t\t}\n\t\t},\n\t});\n}\n","import { ScramjetClient } from \"../client\";\nimport { unrewriteUrl } from \"../../shared\";\n\nexport default function (client: ScramjetClient, self: typeof window) {\n\tclient.Trap(\"origin\", {\n\t\tget() {\n\t\t\t// this isn't right!!\n\t\t\treturn client.url.origin;\n\t\t},\n\t\tset() {\n\t\t\treturn false;\n\t\t},\n\t});\n\n\tclient.Trap(\"Document.prototype.URL\", {\n\t\tget() {\n\t\t\treturn client.url.href;\n\t\t},\n\t\tset() {\n\t\t\treturn false;\n\t\t},\n\t});\n\n\tclient.Trap(\"Document.prototype.documentURI\", {\n\t\tget() {\n\t\t\treturn client.url.href;\n\t\t},\n\t\tset() {\n\t\t\treturn false;\n\t\t},\n\t});\n\n\tclient.Trap(\"Document.prototype.domain\", {\n\t\tget() {\n\t\t\treturn client.url.hostname;\n\t\t},\n\t\tset() {\n\t\t\treturn false;\n\t\t},\n\t});\n}\n","import { unrewriteUrl } from \"../../shared\";\nimport { ScramjetClient } from \"../client\";\n\nexport default function (client: ScramjetClient, self: typeof globalThis) {\n\tclient.Trap(\"PerformanceEntry.prototype.name\", {\n\t\tget(ctx) {\n\t\t\treturn unrewriteUrl(ctx.get() as string);\n\t\t},\n\t});\n}\n","import { config, rewriteUrl } from \"../../shared\";\nimport { ScramjetClient } from \"../client\";\nimport { type MessageC2W } from \"../../worker\";\nimport { getOwnPropertyDescriptorHandler } from \"../helpers\";\nimport { flagEnabled } from \"../../scramjet\";\n\n// we need a late order because we're mangling with addEventListener at a higher level\nexport const order = 2;\n\nexport const enabled = (client: ScramjetClient) =>\n\tflagEnabled(\"serviceworkers\", client.url);\n\nexport function disabled(_client: ScramjetClient, _self: Self) {\n\tReflect.deleteProperty(Navigator.prototype, \"serviceWorker\");\n}\nlet realPostMessage;\nif (self.ServiceWorker) {\n\trealPostMessage = ServiceWorker.prototype.postMessage;\n}\n\nexport default function (client: ScramjetClient, _self: Self) {\n\tlet registration;\n\n\tclient.Proxy(\"EventTarget.prototype.addEventListener\", {\n\t\tapply(ctx) {\n\t\t\tif (registration === ctx.this) {\n\t\t\t\t// do nothing\n\t\t\t\tctx.return(undefined);\n\t\t\t}\n\t\t},\n\t});\n\n\tclient.Proxy(\"EventTarget.prototype.removeEventListener\", {\n\t\tapply(ctx) {\n\t\t\tif (registration === ctx.this) {\n\t\t\t\t// do nothing\n\t\t\t\tctx.return(undefined);\n\t\t\t}\n\t\t},\n\t});\n\n\tclient.Proxy(\"navigator.serviceWorker.getRegistration\", {\n\t\tapply(ctx) {\n\t\t\tctx.return(new Promise((resolve) => resolve(registration)));\n\t\t},\n\t});\n\n\tclient.Proxy(\"navigator.serviceWorker.getRegistrations\", {\n\t\tapply(ctx) {\n\t\t\tctx.return(new Promise((resolve) => resolve([registration])));\n\t\t},\n\t});\n\n\tclient.Trap(\"navigator.serviceWorker.ready\", {\n\t\tget(_ctx) {\n\t\t\tconsole.log(registration);\n\n\t\t\treturn new Promise((resolve) => resolve(registration));\n\t\t},\n\t});\n\n\tclient.Proxy(\"navigator.serviceWorker.register\", {\n\t\tapply(ctx) {\n\t\t\tif (ctx.args[0] instanceof URL) ctx.args[0] = ctx.args[0].href;\n\t\t\tlet url = rewriteUrl(ctx.args[0], client.meta) + \"?dest=serviceworker\";\n\t\t\tif (ctx.args[1] && ctx.args[1].type === \"module\") {\n\t\t\t\turl += \"&type=module\";\n\t\t\t}\n\n\t\t\tconst nativeSharedWorker = client.natives[\"SharedWorker\"];\n\t\t\tconst worker = new nativeSharedWorker(url);\n\n\t\t\tconst handle = worker.port;\n\n\t\t\trealPostMessage.call(\n\t\t\t\tclient.serviceWorker.controller,\n\t\t\t\t{\n\t\t\t\t\tscramjet$type: \"registerServiceWorker\",\n\t\t\t\t\tport: handle,\n\t\t\t\t\torigin: client.url.origin,\n\t\t\t\t} as MessageC2W,\n\t\t\t\t[handle]\n\t\t\t);\n\n\t\t\tconst fakeRegistration = new Proxy(\n\t\t\t\t{\n\t\t\t\t\t__proto__: ServiceWorkerRegistration.prototype,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tget(target, prop) {\n\t\t\t\t\t\tif (prop === \"installing\") {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (prop === \"waiting\") {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (prop === \"active\") {\n\t\t\t\t\t\t\treturn handle;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (prop === \"scope\") {\n\t\t\t\t\t\t\treturn ctx.args[0];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (prop === \"unregister\") {\n\t\t\t\t\t\t\treturn () => {};\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (prop === \"addEventListener\") {\n\t\t\t\t\t\t\treturn () => {};\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn Reflect.get(target, prop);\n\t\t\t\t\t},\n\t\t\t\t\tgetOwnPropertyDescriptor: getOwnPropertyDescriptorHandler,\n\t\t\t\t}\n\t\t\t);\n\t\t\tregistration = fakeRegistration;\n\n\t\t\tctx.return(new Promise((resolve) => resolve(fakeRegistration)));\n\t\t},\n\t});\n}\n","import { ScramjetClient } from \"../client\";\n\nexport default function (client: ScramjetClient, self: typeof window) {\n\tconst handler: ProxyHandler = {\n\t\tget(target, prop) {\n\t\t\tswitch (prop) {\n\t\t\t\tcase \"getItem\":\n\t\t\t\t\treturn (key: string) => {\n\t\t\t\t\t\treturn target.getItem(client.url.host + \"@\" + key);\n\t\t\t\t\t};\n\n\t\t\t\tcase \"setItem\":\n\t\t\t\t\treturn (key: string, value: string) => {\n\t\t\t\t\t\treturn target.setItem(client.url.host + \"@\" + key, value);\n\t\t\t\t\t};\n\n\t\t\t\tcase \"removeItem\":\n\t\t\t\t\treturn (key: string) => {\n\t\t\t\t\t\treturn target.removeItem(client.url.host + \"@\" + key);\n\t\t\t\t\t};\n\n\t\t\t\tcase \"clear\":\n\t\t\t\t\treturn () => {\n\t\t\t\t\t\tfor (const key in Object.keys(target)) {\n\t\t\t\t\t\t\tif (key.startsWith(client.url.host)) {\n\t\t\t\t\t\t\t\ttarget.removeItem(key);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\n\t\t\t\tcase \"key\":\n\t\t\t\t\treturn (index: number) => {\n\t\t\t\t\t\tconst keys = Object.keys(target).filter((key) =>\n\t\t\t\t\t\t\tkey.startsWith(client.url.host)\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturn target.getItem(keys[index]);\n\t\t\t\t\t};\n\n\t\t\t\tcase \"length\":\n\t\t\t\t\treturn Object.keys(target).filter((key) =>\n\t\t\t\t\t\tkey.startsWith(client.url.host)\n\t\t\t\t\t).length;\n\n\t\t\t\tdefault:\n\t\t\t\t\tif (prop in Object.prototype || typeof prop === \"symbol\") {\n\t\t\t\t\t\treturn Reflect.get(target, prop);\n\t\t\t\t\t}\n\t\t\t\t\tconsole.log(\"GET\", prop, target == realLocalStorage);\n\n\t\t\t\t\treturn target.getItem(client.url.host + \"@\" + (prop as string));\n\t\t\t}\n\t\t},\n\n\t\tset(target, prop, value) {\n\t\t\tif (target == realLocalStorage)\n\t\t\t\tconsole.log(\"SET\", prop, value, target === realLocalStorage);\n\t\t\ttarget.setItem(client.url.host + \"@\" + (prop as string), value);\n\n\t\t\treturn true;\n\t\t},\n\n\t\townKeys(target) {\n\t\t\treturn Reflect.ownKeys(target)\n\t\t\t\t.filter((f) => typeof f === \"string\" && f.startsWith(client.url.host))\n\t\t\t\t.map((f) =>\n\t\t\t\t\ttypeof f === \"string\" ? f.substring(client.url.host.length + 1) : f\n\t\t\t\t);\n\t\t},\n\n\t\tgetOwnPropertyDescriptor(target, property) {\n\t\t\treturn {\n\t\t\t\tvalue: target.getItem(client.url.host + \"@\" + (property as string)),\n\t\t\t\tenumerable: true,\n\t\t\t\tconfigurable: true,\n\t\t\t\twritable: true,\n\t\t\t};\n\t\t},\n\n\t\tdefineProperty(target, property, attributes) {\n\t\t\ttarget.setItem(\n\t\t\t\tclient.url.host + \"@\" + (property as string),\n\t\t\t\tattributes.value\n\t\t\t);\n\n\t\t\treturn true;\n\t\t},\n\t};\n\n\tconst realLocalStorage = self.localStorage;\n\tconst realSessionStorage = self.sessionStorage;\n\n\tconst localStorageProxy = new Proxy(self.localStorage, handler);\n\tconst sessionStorageProxy = new Proxy(self.sessionStorage, handler);\n\n\tdelete self.localStorage;\n\tdelete self.sessionStorage;\n\n\tself.localStorage = localStorageProxy;\n\tself.sessionStorage = sessionStorageProxy;\n}\n","export class NavigateEvent extends Event {\n\tconstructor(public url: string) {\n\t\tsuper(\"navigate\");\n\t}\n}\n\nexport class UrlChangeEvent extends Event {\n\tconstructor(public url: string) {\n\t\tsuper(\"urlchange\");\n\t}\n}\n\nexport class ScramjetContextInit extends Event {\n\tconstructor(public window: Self) {\n\t\tsuper(\"contextInit\");\n\t}\n}\n","// import { encodeUrl } from \"../shared\";\nimport { iswindow } from \".\";\nimport { SCRAMJETCLIENT } from \"../symbols\";\nimport { ScramjetClient } from \"./client\";\n// import { config } from \"../shared\";\nimport { getOwnPropertyDescriptorHandler } from \"./helpers\";\nimport { indirectEval } from \"./shared/eval\";\n\nexport const UNSAFE_GLOBALS = [\n\t\"window\",\n\t\"self\",\n\t\"globalThis\",\n\t\"this\",\n\t\"parent\",\n\t\"top\",\n\t\"location\",\n\t\"document\",\n\t\"eval\",\n\t\"frames\",\n];\n\nexport function createGlobalProxy(\n\tclient: ScramjetClient,\n\tself: typeof globalThis\n): typeof globalThis {\n\treturn new Proxy(self, {\n\t\tget(target, prop) {\n\t\t\tconst value = Reflect.get(target, prop);\n\n\t\t\tif (\n\t\t\t\tiswindow &&\n\t\t\t\t(typeof prop === \"string\" || typeof prop === \"number\") &&\n\t\t\t\t!isNaN(Number(prop)) &&\n\t\t\t\tvalue\n\t\t\t) {\n\t\t\t\tconst win: Self = value.self;\n\t\t\t\t// indexing into window gives you the contentWindow of the subframes for some reason\n\t\t\t\t// you can't *set* it so this should always be the right value\n\t\t\t\tif (win) {\n\t\t\t\t\tif (SCRAMJETCLIENT in win) {\n\t\t\t\t\t\t// then we've already hooked this frame and we can just send over its proxy\n\t\t\t\t\t\treturn win[SCRAMJETCLIENT].globalProxy;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// this can happen if it's an about:blank iframe that we've never gotten the chance to inject into\n\t\t\t\t\t\t// just make a new client for it and inject\n\t\t\t\t\t\tconst newclient = new ScramjetClient(win);\n\t\t\t\t\t\tnewclient.hook();\n\n\t\t\t\t\t\treturn newclient.globalProxy;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (prop === \"$scramjet\") return undefined;\n\n\t\t\tif (typeof prop === \"string\" && UNSAFE_GLOBALS.includes(prop))\n\t\t\t\treturn client.wrapfn(value);\n\n\t\t\treturn value;\n\t\t},\n\n\t\tset(target, prop, value) {\n\t\t\tif (prop === \"location\") {\n\t\t\t\tclient.url = value;\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\treturn Reflect.set(target, prop, value);\n\t\t},\n\t\thas(target, prop) {\n\t\t\tif (prop === \"$scramjet\") return false;\n\n\t\t\treturn Reflect.has(target, prop);\n\t\t},\n\t\townKeys(target) {\n\t\t\treturn Reflect.ownKeys(target).filter((key) => key !== \"$scramjet\");\n\t\t},\n\t\tdefineProperty(target, property, attributes) {\n\t\t\tif (!attributes.get && !attributes.set) {\n\t\t\t\tattributes.writable = true;\n\t\t\t}\n\t\t\tattributes.configurable = true;\n\n\t\t\treturn Reflect.defineProperty(target, property, attributes);\n\t\t},\n\t\tgetOwnPropertyDescriptor: getOwnPropertyDescriptorHandler,\n\t});\n}\n","export function getOwnPropertyDescriptorHandler(target, prop) {\n\tconst realDescriptor = Reflect.getOwnPropertyDescriptor(target, prop);\n\n\treturn realDescriptor;\n\t// const d: PropertyDescriptor = {};\n\n\t// if (realDescriptor.enumerable !== undefined)\n\t// \td.enumerable = realDescriptor.enumerable;\n\t// if (realDescriptor.configurable !== undefined)\n\t// \td.configurable = realDescriptor.configurable;\n\t// if (realDescriptor.writable !== undefined)\n\t// \td.writable = realDescriptor.writable;\n\n\t// if (realDescriptor.get) {\n\t// \td.get = () => this.get(target, prop);\n\t// }\n\n\t// if (realDescriptor.set) {\n\t// \td.set = (value) => this.set(target, prop, value);\n\t// }\n\n\t// if (realDescriptor.value) {\n\t// \td.value = this.get(target, prop);\n\t// }\n\n\t// return d;\n}\n","// entrypoint for scramjet.client.js\n\nimport { loadCodecs } from \"../scramjet\";\nimport { SCRAMJETCLIENT } from \"../symbols\";\nimport { ScramjetClient } from \"./client\";\nimport { ScramjetContextInit } from \"./events\";\nimport { ScramjetServiceWorkerRuntime } from \"./swruntime\";\n\nexport const iswindow = \"window\" in self;\nexport const isworker = \"WorkerGlobalScope\" in self;\nexport const issw = \"ServiceWorkerGlobalScope\" in self;\nexport const isdedicated = \"DedicatedWorkerGlobalScope\" in self;\nexport const isshared = \"SharedWorkerGlobalScope\" in self;\nexport const isemulatedsw =\n\tnew URL(self.location.href).searchParams.get(\"dest\") === \"serviceworker\";\n\ndbg.log(\"scrammin\");\n// if it already exists, that means the handlers have probably already been setup by the parent document\nif (!(SCRAMJETCLIENT in >self)) {\n\tloadCodecs();\n\n\tconst client = new ScramjetClient(self);\n\n\tif (self.COOKIE) client.loadcookies(self.COOKIE);\n\n\tclient.hook();\n\n\tif (isemulatedsw) {\n\t\tconst runtime = new ScramjetServiceWorkerRuntime(client);\n\t\truntime.hook();\n\t}\n\n\tconst ev = new ScramjetContextInit(client.global.window);\n\tclient.frame?.dispatchEvent(ev);\n}\n\nif (\"document\" in self && document?.currentScript) {\n\tdocument.currentScript.remove();\n}\n","// @ts-nocheck\nimport { ScramjetClient } from \"./client\";\nimport { nativeGetOwnPropertyDescriptor } from \"./natives\";\nimport { unrewriteUrl, rewriteUrl } from \"../shared\";\nimport { iswindow } from \".\";\n\nexport function createLocationProxy(\n\tclient: ScramjetClient,\n\tself: typeof globalThis\n) {\n\tconst Location = iswindow ? self.Location : self.WorkerLocation;\n\t// location cannot be Proxy()d\n\tconst fakeLocation = {};\n\tObject.setPrototypeOf(fakeLocation, Location.prototype);\n\tfakeLocation.constructor = Location;\n\n\t// for some reason it's on the object for Location and on the prototype for WorkerLocation??\n\tconst descriptorSource = iswindow ? self.location : Location.prototype;\n\tconst urlprops = [\n\t\t\"protocol\",\n\t\t\"hash\",\n\t\t\"host\",\n\t\t\"hostname\",\n\t\t\"href\",\n\t\t\"origin\",\n\t\t\"pathname\",\n\t\t\"port\",\n\t\t\"search\",\n\t];\n\tfor (const prop of urlprops) {\n\t\tconst native = nativeGetOwnPropertyDescriptor(descriptorSource, prop);\n\t\tif (!native) continue;\n\n\t\tconst desc = {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: true,\n\t\t};\n\t\tif (native.get) {\n\t\t\tdesc.get = new Proxy(native.get, {\n\t\t\t\tapply() {\n\t\t\t\t\treturn client.url[prop];\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t\tif (native.set) {\n\t\t\tdesc.set = new Proxy(native.set, {\n\t\t\t\tapply(target, thisArg, args) {\n\t\t\t\t\tif (prop === \"href\") {\n\t\t\t\t\t\t// special case\n\t\t\t\t\t\tclient.url = args[0];\n\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst url = new URL(client.url.href);\n\t\t\t\t\turl[prop] = args[0];\n\t\t\t\t\tclient.url = url;\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t\tObject.defineProperty(fakeLocation, prop, desc);\n\t}\n\n\t// functions\n\tfakeLocation.toString = new Proxy(self.location.toString, {\n\t\tapply() {\n\t\t\treturn client.url.href;\n\t\t},\n\t});\n\n\tif (self.location.valueOf)\n\t\tfakeLocation.valueOf = new Proxy(self.location.valueOf, {\n\t\t\tapply() {\n\t\t\t\treturn client.url.href;\n\t\t\t},\n\t\t});\n\tif (self.location.assign)\n\t\tfakeLocation.assign = new Proxy(self.location.assign, {\n\t\t\tapply(target, thisArg, args) {\n\t\t\t\targs[0] = rewriteUrl(args[0], client.meta);\n\t\t\t\tReflect.apply(target, self.location, args);\n\t\t\t},\n\t\t});\n\tif (self.location.reload)\n\t\tfakeLocation.reload = new Proxy(self.location.reload, {\n\t\t\tapply(target, thisArg, args) {\n\t\t\t\tReflect.apply(target, self.location, args);\n\t\t\t},\n\t\t});\n\tif (self.location.replace)\n\t\tfakeLocation.replace = new Proxy(self.location.replace, {\n\t\t\tapply(target, thisArg, args) {\n\t\t\t\targs[0] = rewriteUrl(args[0], client.meta);\n\t\t\t\tReflect.apply(target, self.location, args);\n\t\t\t},\n\t\t});\n\n\treturn fakeLocation;\n}\n","export const nativeFunction = self.Function;\nexport const nativeGetOwnPropertyDescriptor =\n\tself.Object.getOwnPropertyDescriptor;\n","import { ScramjetClient } from \"../client\";\n\nexport default function (client: ScramjetClient) {\n\tclient.Proxy(\"console.clear\", {\n\t\tapply(ctx) {\n\t\t\t// fuck you\n\t\t\tctx.return(undefined);\n\t\t},\n\t});\n\n\tconst log = console.log;\n\tclient.Trap(\"console.log\", {\n\t\tset(ctx, v) {\n\t\t\t// is there a legitimate reason to let sites do this?\n\t\t},\n\t\tget(ctx) {\n\t\t\treturn log;\n\t\t},\n\t});\n}\n","import { rewriteBlob, unrewriteBlob } from \"../../shared\";\nimport { ScramjetClient } from \"../client\";\nexport default function (client: ScramjetClient) {\n\t// hide the origin from object urls from the page\n\tclient.Proxy(\"URL.createObjectURL\", {\n\t\tapply(ctx) {\n\t\t\tconst url: string = ctx.call();\n\t\t\tif (url.startsWith(\"blob:\")) {\n\t\t\t\tctx.return(rewriteBlob(url, client.meta));\n\t\t\t} else {\n\t\t\t\tctx.return(url);\n\t\t\t}\n\t\t},\n\t});\n\n\tclient.Proxy(\"URL.revokeObjectURL\", {\n\t\tapply(ctx) {\n\t\t\tctx.args[0] = unrewriteBlob(ctx.args[0]);\n\t\t},\n\t});\n}\n","import { rewriteUrl } from \"../../shared\";\nimport { ScramjetClient } from \"../client\";\n\nexport default function (client: ScramjetClient, self: typeof globalThis) {\n\tclient.Proxy(\"CacheStorage.prototype.open\", {\n\t\tapply(ctx) {\n\t\t\tctx.args[0] = `${client.url.origin}@${ctx.args[0]}`;\n\t\t},\n\t});\n\n\tclient.Proxy(\"CacheStorage.prototype.has\", {\n\t\tapply(ctx) {\n\t\t\tctx.args[0] = `${client.url.origin}@${ctx.args[0]}`;\n\t\t},\n\t});\n\n\tclient.Proxy(\"CacheStorage.prototype.match\", {\n\t\tapply(ctx) {\n\t\t\tif (typeof ctx.args[0] === \"string\" || ctx.args[0] instanceof URL) {\n\t\t\t\tctx.args[0] = rewriteUrl(ctx.args[0].toString(), client.meta);\n\t\t\t}\n\t\t},\n\t});\n\n\tclient.Proxy(\"CacheStorage.prototype.delete\", {\n\t\tapply(ctx) {\n\t\t\tctx.args[0] = `${client.url.origin}@${ctx.args[0]}`;\n\t\t},\n\t});\n\n\tclient.Proxy(\"Cache.prototype.add\", {\n\t\tapply(ctx) {\n\t\t\tif (typeof ctx.args[0] === \"string\" || ctx.args[0] instanceof URL) {\n\t\t\t\tctx.args[0] = rewriteUrl(ctx.args[0].toString(), client.meta);\n\t\t\t}\n\t\t},\n\t});\n\n\tclient.Proxy(\"Cache.prototype.addAll\", {\n\t\tapply(ctx) {\n\t\t\tfor (let i = 0; i < ctx.args[0].length; i++) {\n\t\t\t\tif (\n\t\t\t\t\ttypeof ctx.args[0][i] === \"string\" ||\n\t\t\t\t\tctx.args[0][i] instanceof URL\n\t\t\t\t) {\n\t\t\t\t\tctx.args[0][i] = rewriteUrl(ctx.args[0][i].toString(), client.meta);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t});\n\n\tclient.Proxy(\"Cache.prototype.put\", {\n\t\tapply(ctx) {\n\t\t\tif (typeof ctx.args[0] === \"string\" || ctx.args[0] instanceof URL) {\n\t\t\t\tctx.args[0] = rewriteUrl(ctx.args[0].toString(), client.meta);\n\t\t\t}\n\t\t},\n\t});\n\n\tclient.Proxy(\"Cache.prototype.match\", {\n\t\tapply(ctx) {\n\t\t\tif (typeof ctx.args[0] === \"string\" || ctx.args[0] instanceof URL) {\n\t\t\t\tctx.args[0] = rewriteUrl(ctx.args[0].toString(), client.meta);\n\t\t\t}\n\t\t},\n\t});\n\n\tclient.Proxy(\"Cache.prototype.matchAll\", {\n\t\tapply(ctx) {\n\t\t\tif (\n\t\t\t\t(ctx.args[0] && typeof ctx.args[0] === \"string\") ||\n\t\t\t\t(ctx.args[0] && ctx.args[0] instanceof URL)\n\t\t\t) {\n\t\t\t\tctx.args[0] = rewriteUrl(ctx.args[0].toString(), client.meta);\n\t\t\t}\n\t\t},\n\t});\n\n\tclient.Proxy(\"Cache.prototype.keys\", {\n\t\tapply(ctx) {\n\t\t\tif (\n\t\t\t\t(ctx.args[0] && typeof ctx.args[0] === \"string\") ||\n\t\t\t\t(ctx.args[0] && ctx.args[0] instanceof URL)\n\t\t\t) {\n\t\t\t\tctx.args[0] = rewriteUrl(ctx.args[0].toString(), client.meta);\n\t\t\t}\n\t\t},\n\t});\n\n\tclient.Proxy(\"Cache.prototype.delete\", {\n\t\tapply(ctx) {\n\t\t\tif (typeof ctx.args[0] === \"string\" || ctx.args[0] instanceof URL) {\n\t\t\t\tctx.args[0] = rewriteUrl(ctx.args[0].toString(), client.meta);\n\t\t\t}\n\t\t},\n\t});\n}\n","import { flagEnabled } from \"../../scramjet\";\nimport { config } from \"../../shared\";\nimport { ScramjetClient } from \"../client\";\n\nexport const enabled = (client: ScramjetClient) =>\n\tflagEnabled(\"captureErrors\", client.url);\nexport function argdbg(arg, recurse = []) {\n\tswitch (typeof arg) {\n\t\tcase \"string\":\n\t\t\tif (arg.includes(\"localhost:1337/scramjet/\") && arg.includes(\"m3u8\"))\n\t\t\t\tdebugger;\n\t\t\tbreak;\n\t\tcase \"object\":\n\t\t\t// if (arg instanceof Location) debugger;\n\t\t\tif (\n\t\t\t\targ &&\n\t\t\t\targ[Symbol.iterator] &&\n\t\t\t\ttypeof arg[Symbol.iterator] === \"function\"\n\t\t\t)\n\t\t\t\tfor (const prop in arg) {\n\t\t\t\t\t// make sure it's not a getter\n\t\t\t\t\tconst desc = Object.getOwnPropertyDescriptor(arg, prop);\n\t\t\t\t\tif (desc && desc.get) continue;\n\n\t\t\t\t\tconst ar = arg[prop];\n\t\t\t\t\tif (recurse.includes(ar)) continue;\n\t\t\t\t\trecurse.push(ar);\n\t\t\t\t\targdbg(ar, recurse);\n\t\t\t\t}\n\t\t\tbreak;\n\t}\n}\n\nexport default function (client: ScramjetClient, self: typeof globalThis) {\n\tself.$scramerr = function scramerr(e) {\n\t\tconsole.warn(\"CAUGHT ERROR\", e);\n\t};\n\n\tself.$scramdbg = function scramdbg(args, t) {\n\t\tif (args && typeof args === \"object\" && args.length > 0) argdbg(args);\n\t\targdbg(t);\n\n\t\treturn t;\n\t};\n\n\tclient.Proxy(\"Promise.prototype.catch\", {\n\t\tapply(ctx) {\n\t\t\tif (ctx.args[0])\n\t\t\t\tctx.args[0] = new Proxy(ctx.args[0], {\n\t\t\t\t\tapply(target, thisArg, argArray) {\n\t\t\t\t\t\t// console.warn(\"CAUGHT PROMISE REJECTION\", argArray);\n\t\t\t\t\t\tReflect.apply(target, thisArg, argArray);\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t},\n\t});\n}\n","import { flagEnabled } from \"../../scramjet\";\nimport { config, unrewriteUrl } from \"../../shared\";\nimport { ScramjetClient } from \"../client\";\n\nexport const enabled = (client: ScramjetClient) =>\n\tflagEnabled(\"cleanerrors\", client.url);\nexport default function (client: ScramjetClient, _self: Self) {\n\t// v8 only. all we need to do is clean the scramjet urls from stack traces\n\tconst closure = (error, stack) => {\n\t\tlet newstack = error.stack;\n\n\t\tfor (let i = 0; i < stack.length; i++) {\n\t\t\tconst url = stack[i].getFileName();\n\n\t\t\tif (url.endsWith(config.files.client)) {\n\t\t\t\t// strip stack frames including scramjet handlers from the trace\n\t\t\t\tconst lines = newstack.split(\"\\n\");\n\t\t\t\tconst line = lines.find((l) => l.includes(url));\n\t\t\t\tlines.splice(line, 1);\n\t\t\t\tnewstack = lines.join(\"\\n\");\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tnewstack = newstack.replaceAll(url, unrewriteUrl(url));\n\t\t\t} catch {}\n\t\t}\n\n\t\treturn newstack;\n\t};\n\tclient.Trap(\"Error.prepareStackTrace\", {\n\t\tget(_ctx) {\n\t\t\t// this is a funny js quirk. the getter is ran every time you type something in console\n\t\t\treturn closure;\n\t\t},\n\t\tset(_value) {\n\t\t\t// just ignore it if a site tries setting their own. not much we can really do\n\t\t},\n\t});\n}\n","import { ScramjetClient } from \"../client\";\nimport { config, rewriteJs } from \"../../shared\";\n\nexport default function (client: ScramjetClient, self: Self) {\n\t// used for proxying *direct eval*\n\t// eval(\"...\") -> eval($scramjet$rewrite(\"...\"))\n\tObject.defineProperty(self, config.globals.rewritefn, {\n\t\tvalue: function (js: any) {\n\t\t\tif (typeof js !== \"string\") return js;\n\n\t\t\tconst rewritten = rewriteJs(js, null, client.meta);\n\n\t\t\treturn rewritten;\n\t\t},\n\t\twritable: false,\n\t\tconfigurable: false,\n\t});\n}\n\nexport function indirectEval(this: ScramjetClient, js: any) {\n\t// > If the argument of eval() is not a string, eval() returns the argument unchanged\n\tif (typeof js !== \"string\") return js;\n\n\tconst indirection = this.global.eval;\n\n\treturn indirection(rewriteJs(js, null, this.meta) as string);\n}\n","import { iswindow } from \"..\";\nimport { SCRAMJETCLIENT } from \"../../symbols\";\nimport { ScramjetClient } from \"../client\";\nimport { getOwnPropertyDescriptorHandler } from \"../helpers\";\nimport { nativeGetOwnPropertyDescriptor } from \"../natives\";\nimport { unproxy } from \"./unproxy\";\n\nconst realOnEvent = Symbol.for(\"scramjet original onevent function\");\n\nexport default function (client: ScramjetClient, self: Self) {\n\tconst handlers = {\n\t\tmessage: {\n\t\t\t_init() {\n\t\t\t\tif (typeof this.data === \"object\" && \"$scramjet$type\" in this.data) {\n\t\t\t\t\t// this is a ctl message\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\treturn true;\n\t\t\t},\n\t\t\tports() {\n\t\t\t\t// don't know why i have to do this?\n\t\t\t\treturn this.ports;\n\t\t\t},\n\t\t\tsource() {\n\t\t\t\tif (this.source === null) return null;\n\n\t\t\t\tconst scram: ScramjetClient = this.source[SCRAMJETCLIENT];\n\n\t\t\t\tif (scram) return scram.globalProxy;\n\n\t\t\t\treturn this.source;\n\t\t\t},\n\t\t\torigin() {\n\t\t\t\tif (typeof this.data === \"object\" && \"$scramjet$origin\" in this.data)\n\t\t\t\t\treturn this.data.$scramjet$origin;\n\n\t\t\t\treturn client.url.origin;\n\t\t\t},\n\t\t\tdata() {\n\t\t\t\tif (typeof this.data === \"object\" && \"$scramjet$data\" in this.data)\n\t\t\t\t\treturn this.data.$scramjet$data;\n\n\t\t\t\treturn this.data;\n\t\t\t},\n\t\t},\n\t};\n\n\t// TODO! window.event not proxied\n\n\tfunction wraplistener(listener: (...args: any) => any) {\n\t\treturn new Proxy(listener, {\n\t\t\tapply(target, thisArg, argArray) {\n\t\t\t\tconst realEvent: Event = argArray[0];\n\n\t\t\t\t// we only need to handle events dispatched from the browser\n\t\t\t\tif (realEvent.isTrusted) {\n\t\t\t\t\tconst type = realEvent.type;\n\n\t\t\t\t\tif (type in handlers) {\n\t\t\t\t\t\tconst handler = handlers[type];\n\n\t\t\t\t\t\tif (handler._init) {\n\t\t\t\t\t\t\tif (handler._init.call(realEvent) === false) return;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\targArray[0] = new Proxy(realEvent, {\n\t\t\t\t\t\t\tget(_target, prop, reciever) {\n\t\t\t\t\t\t\t\tif (prop in handler) {\n\t\t\t\t\t\t\t\t\treturn handler[prop].call(_target);\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\treturn Reflect.get(target, prop, reciever);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tgetOwnPropertyDescriptor: getOwnPropertyDescriptorHandler,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (!self.event) {\n\t\t\t\t\tObject.defineProperty(self, \"event\", {\n\t\t\t\t\t\tget() {\n\t\t\t\t\t\t\treturn argArray[0];\n\t\t\t\t\t\t},\n\t\t\t\t\t\tconfigurable: true,\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tconst rv = Reflect.apply(target, thisArg, argArray);\n\n\t\t\t\treturn rv;\n\t\t\t},\n\t\t\tgetOwnPropertyDescriptor: getOwnPropertyDescriptorHandler,\n\t\t});\n\t}\n\n\tclient.Proxy(\"EventTarget.prototype.addEventListener\", {\n\t\tapply(ctx) {\n\t\t\tunproxy(ctx, client);\n\t\t\tif (typeof ctx.args[1] !== \"function\") return;\n\n\t\t\tconst origlistener = ctx.args[1];\n\t\t\tconst proxylistener = wraplistener(origlistener);\n\n\t\t\tctx.args[1] = proxylistener;\n\n\t\t\tlet arr = client.eventcallbacks.get(ctx.this);\n\t\t\tarr ||= [] as any;\n\t\t\tarr.push({\n\t\t\t\tevent: ctx.args[0] as string,\n\t\t\t\toriginalCallback: origlistener,\n\t\t\t\tproxiedCallback: proxylistener,\n\t\t\t});\n\t\t\tclient.eventcallbacks.set(ctx.this, arr);\n\t\t},\n\t});\n\n\tclient.Proxy(\"EventTarget.prototype.removeEventListener\", {\n\t\tapply(ctx) {\n\t\t\tunproxy(ctx, client);\n\t\t\tif (typeof ctx.args[1] !== \"function\") return;\n\n\t\t\tconst arr = client.eventcallbacks.get(ctx.this);\n\t\t\tif (!arr) return;\n\n\t\t\tconst i = arr.findIndex(\n\t\t\t\t(e) => e.event === ctx.args[0] && e.originalCallback === ctx.args[1]\n\t\t\t);\n\t\t\tif (i === -1) return;\n\n\t\t\tconst r = arr.splice(i, 1);\n\t\t\tclient.eventcallbacks.set(ctx.this, arr);\n\n\t\t\tctx.args[1] = r[0].proxiedCallback;\n\t\t},\n\t});\n\n\tclient.Proxy(\"EventTarget.prototype.dispatchEvent\", {\n\t\tapply(ctx) {\n\t\t\tunproxy(ctx, client);\n\t\t},\n\t});\n\n\tconst targets = [self.self, self.MessagePort.prototype] as Array;\n\tif (iswindow) targets.push(self.HTMLElement.prototype);\n\tif (self.Worker) targets.push(self.Worker.prototype);\n\n\tfor (const target of targets) {\n\t\tconst keys = Reflect.ownKeys(target);\n\n\t\tfor (const key of keys) {\n\t\t\tif (\n\t\t\t\ttypeof key === \"string\" &&\n\t\t\t\tkey.startsWith(\"on\") &&\n\t\t\t\thandlers[key.slice(2)]\n\t\t\t) {\n\t\t\t\tconst descriptor = nativeGetOwnPropertyDescriptor(target, key);\n\t\t\t\tif (!descriptor.get || !descriptor.set || !descriptor.configurable)\n\t\t\t\t\tcontinue;\n\n\t\t\t\t// these are the `onmessage`, `onclick`, etc. properties\n\t\t\t\tclient.RawTrap(target, key, {\n\t\t\t\t\tget(ctx) {\n\t\t\t\t\t\tif (this[realOnEvent]) return this[realOnEvent];\n\n\t\t\t\t\t\treturn ctx.get();\n\t\t\t\t\t},\n\t\t\t\t\tset(ctx, value: any) {\n\t\t\t\t\t\tthis[realOnEvent] = value;\n\n\t\t\t\t\t\tif (typeof value !== \"function\") return ctx.set(value);\n\n\t\t\t\t\t\tctx.set(wraplistener(value));\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n}\n","import { ScramjetClient, ProxyCtx, Proxy } from \"../client\";\nimport { rewriteJs } from \"../../shared\";\n\nfunction rewriteFunction(ctx: ProxyCtx, client: ScramjetClient) {\n\tconst stringifiedFunction = ctx.call().toString();\n\n\tconst content = rewriteJs(`return ${stringifiedFunction}`, null, client.meta);\n\tctx.return(ctx.fn(content)());\n}\n\nexport default function (client: ScramjetClient, self: Self) {\n\tconst handler: Proxy = {\n\t\tapply(ctx) {\n\t\t\trewriteFunction(ctx, client);\n\t\t},\n\t\tconstruct(ctx) {\n\t\t\trewriteFunction(ctx, client);\n\t\t},\n\t};\n\n\tclient.Proxy(\"Function\", handler);\n\n\t// god i love javascript\n\tclient.RawProxy(function () {}.constructor.prototype, \"constructor\", handler);\n\tclient.RawProxy(\n\t\tasync function () {}.constructor.prototype,\n\t\t\"constructor\",\n\t\thandler\n\t);\n\tclient.RawProxy(\n\t\tfunction* () {}.constructor.prototype,\n\t\t\"constructor\",\n\t\thandler\n\t);\n\tclient.RawProxy(\n\t\tasync function* () {}.constructor.prototype,\n\t\t\"constructor\",\n\t\thandler\n\t);\n}\n","let wasm;\n\nlet WASM_VECTOR_LEN = 0;\n\nlet cachedUint8ArrayMemory0 = null;\n\nfunction getUint8ArrayMemory0() {\n if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.buffer !== wasm.memory.buffer) {\n cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);\n }\n return cachedUint8ArrayMemory0;\n}\n\nconst cachedTextEncoder = (typeof TextEncoder !== 'undefined' ? new TextEncoder('utf-8') : { encode: () => { throw Error('TextEncoder not available') } } );\n\nconst encodeString = function (arg, view) {\n const buf = cachedTextEncoder.encode(arg);\n view.set(buf);\n return {\n read: arg.length,\n written: buf.length\n };\n};\n\nfunction passStringToWasm0(arg, malloc, realloc) {\n\n if (realloc === undefined) {\n const buf = cachedTextEncoder.encode(arg);\n const ptr = malloc(buf.length, 1) >>> 0;\n getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf);\n WASM_VECTOR_LEN = buf.length;\n return ptr;\n }\n\n let len = arg.length;\n let ptr = malloc(len, 1) >>> 0;\n\n const mem = getUint8ArrayMemory0();\n\n let offset = 0;\n\n for (; offset < len; offset++) {\n const code = arg.charCodeAt(offset);\n if (code > 0x7F) break;\n mem[ptr + offset] = code;\n }\n\n if (offset !== len) {\n if (offset !== 0) {\n arg = arg.slice(offset);\n }\n ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0;\n const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len);\n const ret = encodeString(arg, view);\n\n offset += ret.written;\n ptr = realloc(ptr, len, offset, 1) >>> 0;\n }\n\n WASM_VECTOR_LEN = offset;\n return ptr;\n}\n\nfunction isLikeNone(x) {\n return x === undefined || x === null;\n}\n\nlet cachedDataViewMemory0 = null;\n\nfunction getDataViewMemory0() {\n if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer !== wasm.memory.buffer) {\n cachedDataViewMemory0 = new DataView(wasm.memory.buffer);\n }\n return cachedDataViewMemory0;\n}\n\nconst cachedTextDecoder = (typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }) : { decode: () => { throw Error('TextDecoder not available') } } );\n\nif (typeof TextDecoder !== 'undefined') { cachedTextDecoder.decode(); };\n\nfunction getStringFromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return cachedTextDecoder.decode(getUint8ArrayMemory0().slice(ptr, ptr + len));\n}\n\nfunction getArrayU8FromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);\n}\n\nfunction debugString(val) {\n // primitive types\n const type = typeof val;\n if (type == 'number' || type == 'boolean' || val == null) {\n return `${val}`;\n }\n if (type == 'string') {\n return `\"${val}\"`;\n }\n if (type == 'symbol') {\n const description = val.description;\n if (description == null) {\n return 'Symbol';\n } else {\n return `Symbol(${description})`;\n }\n }\n if (type == 'function') {\n const name = val.name;\n if (typeof name == 'string' && name.length > 0) {\n return `Function(${name})`;\n } else {\n return 'Function';\n }\n }\n // objects\n if (Array.isArray(val)) {\n const length = val.length;\n let debug = '[';\n if (length > 0) {\n debug += debugString(val[0]);\n }\n for(let i = 1; i < length; i++) {\n debug += ', ' + debugString(val[i]);\n }\n debug += ']';\n return debug;\n }\n // Test for built-in\n const builtInMatches = /\\[object ([^\\]]+)\\]/.exec(toString.call(val));\n let className;\n if (builtInMatches.length > 1) {\n className = builtInMatches[1];\n } else {\n // Failed to match the standard '[object ClassName]'\n return toString.call(val);\n }\n if (className == 'Object') {\n // we're a user defined class or Object\n // JSON.stringify avoids problems with cycles, and is generally much\n // easier than looping through ownProperties of `val`.\n try {\n return 'Object(' + JSON.stringify(val) + ')';\n } catch (_) {\n return 'Object';\n }\n }\n // errors\n if (val instanceof Error) {\n return `${val.name}: ${val.message}\\n${val.stack}`;\n }\n // TODO we could test for more things here, like `Set`s and `Map`s.\n return className;\n}\n\nexport function init() {\n wasm.init();\n}\n\nfunction takeFromExternrefTable0(idx) {\n const value = wasm.__wbindgen_export_4.get(idx);\n wasm.__externref_table_dealloc(idx);\n return value;\n}\n/**\n * @param {string} js\n * @param {string} url\n * @param {string} script_url\n * @param {object} scramjet\n * @returns {RewriterOutput}\n */\nexport function rewrite_js(js, url, script_url, scramjet) {\n const ptr0 = passStringToWasm0(js, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(url, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passStringToWasm0(script_url, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len2 = WASM_VECTOR_LEN;\n const ret = wasm.rewrite_js(ptr0, len0, ptr1, len1, ptr2, len2, scramjet);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return takeFromExternrefTable0(ret[0]);\n}\n\nfunction passArray8ToWasm0(arg, malloc) {\n const ptr = malloc(arg.length * 1, 1) >>> 0;\n getUint8ArrayMemory0().set(arg, ptr / 1);\n WASM_VECTOR_LEN = arg.length;\n return ptr;\n}\n/**\n * @param {Uint8Array} js\n * @param {string} url\n * @param {string} script_url\n * @param {object} scramjet\n * @returns {RewriterOutput}\n */\nexport function rewrite_js_from_arraybuffer(js, url, script_url, scramjet) {\n const ptr0 = passArray8ToWasm0(js, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(url, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passStringToWasm0(script_url, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len2 = WASM_VECTOR_LEN;\n const ret = wasm.rewrite_js_from_arraybuffer(ptr0, len0, ptr1, len1, ptr2, len2, scramjet);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return takeFromExternrefTable0(ret[0]);\n}\n\nfunction addToExternrefTable0(obj) {\n const idx = wasm.__externref_table_alloc();\n wasm.__wbindgen_export_4.set(idx, obj);\n return idx;\n}\n\nfunction handleError(f, args) {\n try {\n return f.apply(this, args);\n } catch (e) {\n const idx = addToExternrefTable0(e);\n wasm.__wbindgen_exn_store(idx);\n }\n}\n\nasync function __wbg_load(module, imports) {\n if (typeof Response === 'function' && module instanceof Response) {\n if (typeof WebAssembly.instantiateStreaming === 'function') {\n try {\n return await WebAssembly.instantiateStreaming(module, imports);\n\n } catch (e) {\n if (module.headers.get('Content-Type') != 'application/wasm') {\n console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\", e);\n\n } else {\n throw e;\n }\n }\n }\n\n const bytes = await module.arrayBuffer();\n return await WebAssembly.instantiate(bytes, imports);\n\n } else {\n const instance = await WebAssembly.instantiate(module, imports);\n\n if (instance instanceof WebAssembly.Instance) {\n return { instance, module };\n\n } else {\n return instance;\n }\n }\n}\n\nfunction __wbg_get_imports() {\n const imports = {};\n imports.wbg = {};\n imports.wbg.__wbindgen_string_get = function(arg0, arg1) {\n const obj = arg1;\n const ret = typeof(obj) === 'string' ? obj : undefined;\n var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n };\n imports.wbg.__wbindgen_error_new = function(arg0, arg1) {\n const ret = new Error(getStringFromWasm0(arg0, arg1));\n return ret;\n };\n imports.wbg.__wbindgen_string_new = function(arg0, arg1) {\n const ret = getStringFromWasm0(arg0, arg1);\n return ret;\n };\n imports.wbg.__wbg_now_d3cbc9581625f686 = function(arg0) {\n const ret = arg0.now();\n return ret;\n };\n imports.wbg.__wbg_set_e864d25d9b399c9f = function() { return handleError(function (arg0, arg1, arg2) {\n const ret = Reflect.set(arg0, arg1, arg2);\n return ret;\n }, arguments) };\n imports.wbg.__wbg_new_1cabf49927794f50 = function() { return handleError(function (arg0, arg1) {\n const ret = new URL(getStringFromWasm0(arg0, arg1));\n return ret;\n }, arguments) };\n imports.wbg.__wbg_call_5fb7c8066a4a4825 = function() { return handleError(function (arg0, arg1, arg2, arg3) {\n const ret = arg0.call(arg1, arg2, arg3);\n return ret;\n }, arguments) };\n imports.wbg.__wbindgen_boolean_get = function(arg0) {\n const v = arg0;\n const ret = typeof(v) === 'boolean' ? (v ? 1 : 0) : 2;\n return ret;\n };\n imports.wbg.__wbg_new_e69b5f66fda8f13c = function() {\n const ret = new Object();\n return ret;\n };\n imports.wbg.__wbindgen_uint8_array_new = function(arg0, arg1) {\n var v0 = getArrayU8FromWasm0(arg0, arg1).slice();\n wasm.__wbindgen_free(arg0, arg1 * 1, 1);\n const ret = v0;\n return ret;\n };\n imports.wbg.__wbindgen_array_new = function() {\n const ret = [];\n return ret;\n };\n imports.wbg.__wbindgen_array_push = function(arg0, arg1) {\n arg0.push(arg1);\n };\n imports.wbg.__wbindgen_number_new = function(arg0) {\n const ret = arg0;\n return ret;\n };\n imports.wbg.__wbg_new_abda76e883ba8a5f = function() {\n const ret = new Error();\n return ret;\n };\n imports.wbg.__wbg_stack_658279fe44541cf6 = function(arg0, arg1) {\n const ret = arg1.stack;\n const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n };\n imports.wbg.__wbg_error_f851667af71bcfc6 = function(arg0, arg1) {\n let deferred0_0;\n let deferred0_1;\n try {\n deferred0_0 = arg0;\n deferred0_1 = arg1;\n console.error(getStringFromWasm0(arg0, arg1));\n } finally {\n wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);\n }\n };\n imports.wbg.__wbindgen_is_object = function(arg0) {\n const val = arg0;\n const ret = typeof(val) === 'object' && val !== null;\n return ret;\n };\n imports.wbg.__wbg_crypto_1d1f22824a6a080c = function(arg0) {\n const ret = arg0.crypto;\n return ret;\n };\n imports.wbg.__wbg_process_4a72847cc503995b = function(arg0) {\n const ret = arg0.process;\n return ret;\n };\n imports.wbg.__wbg_versions_f686565e586dd935 = function(arg0) {\n const ret = arg0.versions;\n return ret;\n };\n imports.wbg.__wbg_node_104a2ff8d6ea03a2 = function(arg0) {\n const ret = arg0.node;\n return ret;\n };\n imports.wbg.__wbindgen_is_string = function(arg0) {\n const ret = typeof(arg0) === 'string';\n return ret;\n };\n imports.wbg.__wbg_require_cca90b1a94a0255b = function() { return handleError(function () {\n const ret = module.require;\n return ret;\n }, arguments) };\n imports.wbg.__wbg_msCrypto_eb05e62b530a1508 = function(arg0) {\n const ret = arg0.msCrypto;\n return ret;\n };\n imports.wbg.__wbg_newwithlength_76462a666eca145f = function(arg0) {\n const ret = new Uint8Array(arg0 >>> 0);\n return ret;\n };\n imports.wbg.__wbindgen_is_function = function(arg0) {\n const ret = typeof(arg0) === 'function';\n return ret;\n };\n imports.wbg.__wbg_get_ef828680c64da212 = function() { return handleError(function (arg0, arg1) {\n const ret = Reflect.get(arg0, arg1);\n return ret;\n }, arguments) };\n imports.wbg.__wbg_self_bf91bf94d9e04084 = function() { return handleError(function () {\n const ret = self.self;\n return ret;\n }, arguments) };\n imports.wbg.__wbg_window_52dd9f07d03fd5f8 = function() { return handleError(function () {\n const ret = window.window;\n return ret;\n }, arguments) };\n imports.wbg.__wbg_globalThis_05c129bf37fcf1be = function() { return handleError(function () {\n const ret = globalThis.globalThis;\n return ret;\n }, arguments) };\n imports.wbg.__wbg_global_3eca19bb09e9c484 = function() { return handleError(function () {\n const ret = global.global;\n return ret;\n }, arguments) };\n imports.wbg.__wbindgen_is_undefined = function(arg0) {\n const ret = arg0 === undefined;\n return ret;\n };\n imports.wbg.__wbg_newnoargs_1ede4bf2ebbaaf43 = function(arg0, arg1) {\n const ret = new Function(getStringFromWasm0(arg0, arg1));\n return ret;\n };\n imports.wbg.__wbg_call_a9ef466721e824f2 = function() { return handleError(function (arg0, arg1) {\n const ret = arg0.call(arg1);\n return ret;\n }, arguments) };\n imports.wbg.__wbg_call_3bfa248576352471 = function() { return handleError(function (arg0, arg1, arg2) {\n const ret = arg0.call(arg1, arg2);\n return ret;\n }, arguments) };\n imports.wbg.__wbindgen_memory = function() {\n const ret = wasm.memory;\n return ret;\n };\n imports.wbg.__wbg_buffer_ccaed51a635d8a2d = function(arg0) {\n const ret = arg0.buffer;\n return ret;\n };\n imports.wbg.__wbg_newwithbyteoffsetandlength_7e3eb787208af730 = function(arg0, arg1, arg2) {\n const ret = new Uint8Array(arg0, arg1 >>> 0, arg2 >>> 0);\n return ret;\n };\n imports.wbg.__wbg_randomFillSync_5c9c955aa56b6049 = function() { return handleError(function (arg0, arg1) {\n arg0.randomFillSync(arg1);\n }, arguments) };\n imports.wbg.__wbg_subarray_975a06f9dbd16995 = function(arg0, arg1, arg2) {\n const ret = arg0.subarray(arg1 >>> 0, arg2 >>> 0);\n return ret;\n };\n imports.wbg.__wbg_getRandomValues_3aa56aa6edec874c = function() { return handleError(function (arg0, arg1) {\n arg0.getRandomValues(arg1);\n }, arguments) };\n imports.wbg.__wbg_new_fec2611eb9180f95 = function(arg0) {\n const ret = new Uint8Array(arg0);\n return ret;\n };\n imports.wbg.__wbg_set_ec2fcf81bc573fd9 = function(arg0, arg1, arg2) {\n arg0.set(arg1, arg2 >>> 0);\n };\n imports.wbg.__wbindgen_throw = function(arg0, arg1) {\n throw new Error(getStringFromWasm0(arg0, arg1));\n };\n imports.wbg.__wbindgen_debug_string = function(arg0, arg1) {\n const ret = debugString(arg1);\n const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n };\n imports.wbg.__wbindgen_init_externref_table = function() {\n const table = wasm.__wbindgen_export_4;\n const offset = table.grow(4);\n table.set(0, undefined);\n table.set(offset + 0, undefined);\n table.set(offset + 1, null);\n table.set(offset + 2, true);\n table.set(offset + 3, false);\n ;\n };\n\n return imports;\n}\n\nfunction __wbg_init_memory(imports, memory) {\n imports.wbg.memory = memory || new WebAssembly.Memory({initial:22,maximum:16384,shared:true});\n}\n\nfunction __wbg_finalize_init(instance, module, thread_stack_size) {\n wasm = instance.exports;\n __wbg_init.__wbindgen_wasm_module = module;\n cachedDataViewMemory0 = null;\n cachedUint8ArrayMemory0 = null;\n\nif (typeof thread_stack_size !== 'undefined' && (typeof thread_stack_size !== 'number' || thread_stack_size === 0 || thread_stack_size % 65536 !== 0)) { throw 'invalid stack size' }\nwasm.__wbindgen_start(thread_stack_size);\nreturn wasm;\n}\n\nfunction initSync(module, memory) {\n if (wasm !== undefined) return wasm;\n\n let thread_stack_size\n if (typeof module !== 'undefined') {\n if (Object.getPrototypeOf(module) === Object.prototype) {\n ({module, memory, thread_stack_size} = module)\n } else {\n console.warn('using deprecated parameters for `initSync()`; pass a single object instead')\n }\n }\n\n const imports = __wbg_get_imports();\n\n __wbg_init_memory(imports, memory);\n\n if (!(module instanceof WebAssembly.Module)) {\n module = new WebAssembly.Module(module);\n }\n\n const instance = new WebAssembly.Instance(module, imports);\n\n return __wbg_finalize_init(instance, module, thread_stack_size);\n}\n\nasync function __wbg_init(module_or_path, memory) {\n if (wasm !== undefined) return wasm;\n\n let thread_stack_size\n if (typeof module_or_path !== 'undefined') {\n if (Object.getPrototypeOf(module_or_path) === Object.prototype) {\n ({module_or_path, memory, thread_stack_size} = module_or_path)\n } else {\n console.warn('using deprecated parameters for the initialization function; pass a single object instead')\n }\n }\n\n if (typeof module_or_path === 'undefined') {\n module_or_path = new URL('rewriter_bg.wasm', \"\");\n }\n const imports = __wbg_get_imports();\n\n if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) {\n module_or_path = fetch(module_or_path);\n }\n\n __wbg_init_memory(imports, memory);\n\n const { instance, module } = await __wbg_load(await module_or_path, imports);\n\n return __wbg_finalize_init(instance, module, thread_stack_size);\n}\n\nexport { initSync };\nexport default __wbg_init;\n","import { URLMeta } from \"./url\";\n\n// i am a cat. i like to be petted. i like to be fed. i like to be\nimport {\n\tinit,\n\tinitSync,\n\trewrite_js,\n\trewrite_js_from_arraybuffer,\n\tRewriterOutput,\n} from \"../../../rewriter/out/rewriter.js\";\nimport { $scramjet, flagEnabled } from \"../../scramjet\";\n\ninitSync({\n\tmodule: new WebAssembly.Module(\n\t\tUint8Array.from(atob(self.WASM), (c) => c.charCodeAt(0))\n\t),\n});\n\ninit();\n\nError.stackTraceLimit = 50;\n\nconst decoder = new TextDecoder();\n\nfunction rewriteJsWrapper(\n\tinput: string | ArrayBuffer,\n\turl: string | null,\n\tmeta: URLMeta\n): string | ArrayBuffer {\n\tlet out: RewriterOutput;\n\tif (typeof input === \"string\") {\n\t\tout = rewrite_js(input, meta.base.href, url || \"(unknown)\", $scramjet);\n\t} else {\n\t\tout = rewrite_js_from_arraybuffer(\n\t\t\tnew Uint8Array(input),\n\t\t\tmeta.base.href,\n\t\t\turl || \"(unknown)\",\n\t\t\t$scramjet\n\t\t);\n\t}\n\tconst { js, errors, duration } = out;\n\n\t// TODO: maybe make this a scram flag?\n\tif (true) {\n\t\tfor (const error of errors) {\n\t\t\tconsole.error(\"oxc parse error\", error);\n\t\t}\n\t}\n\n\t// TODO: maybe make this a scram flag?\n\tif (true) {\n\t\tlet timespan: string;\n\t\tif (duration < 1n) {\n\t\t\ttimespan = \"BLAZINGLY FAST\";\n\t\t} else if (duration < 500n) {\n\t\t\ttimespan = \"decent speed\";\n\t\t} else {\n\t\t\ttimespan = \"really slow\";\n\t\t}\n\t\tconsole.log(`oxc rewrite was ${timespan} (${duration}ms)`);\n\t}\n\n\treturn typeof input === \"string\" ? decoder.decode(js) : js;\n}\n\nexport function rewriteJs(\n\tjs: string | ArrayBuffer,\n\turl: string | null,\n\tmeta: URLMeta\n) {\n\tif (flagEnabled(\"naiiveRewriter\", meta.origin)) {\n\t\tconst text = typeof js === \"string\" ? js : new TextDecoder().decode(js);\n\n\t\tconsole.log(\"naiive\");\n\n\t\treturn rewriteJsNaiive(text);\n\t}\n\n\tjs = rewriteJsWrapper(js, url, meta);\n\n\treturn js;\n}\n\n// 1. does not work with modules\n// 2. cannot proxy import()\n// 3. disables \"use strict\" optimizations\n// 4. i think the global state can get clobbered somehow\n//\n// if you can ensure all the preconditions are met this is faster than full rewrites\nexport function rewriteJsNaiive(js: string | ArrayBuffer) {\n\tif (typeof js !== \"string\") {\n\t\tjs = new TextDecoder().decode(js);\n\t}\n\n\treturn `\n\t\twith (${$scramjet.config.globals.wrapfn}(globalThis)) {\n\n\t\t\t${js}\n\n\t\t}\n\t`;\n}\n","import { ScramjetClient } from \"../client\";\nimport { config } from \"../../shared\";\nimport { rewriteUrl } from \"../../shared/rewriters/url\";\n\nexport default function (client: ScramjetClient, self: Self) {\n\tconst Function = client.natives.Function;\n\n\tself[config.globals.importfn] = function (base: string) {\n\t\treturn function (url: string) {\n\t\t\tconst resolved = new URL(url, base).href;\n\n\t\t\treturn Function(\n\t\t\t\t`return import(\"${rewriteUrl(resolved, client.meta)}\")`\n\t\t\t)();\n\t\t};\n\t};\n\n\tself[config.globals.metafn] = function (base: string) {\n\t\treturn {\n\t\t\turl: base,\n\t\t\tresolve: function (url: string) {\n\t\t\t\treturn new URL(url, base).href;\n\t\t\t},\n\t\t};\n\t};\n}\n","import { $scramjet } from \"../../scramjet\";\nimport { rewriteJs } from \"./js\";\n\nexport type URLMeta = {\n\torigin: URL;\n\tbase: URL;\n};\n\nfunction tryCanParseURL(url: string, origin?: string | URL): URL | null {\n\ttry {\n\t\treturn new URL(url, origin);\n\t} catch {\n\t\treturn null;\n\t}\n}\n\nexport function rewriteBlob(url: string, meta: URLMeta) {\n\tconst blob = new URL(url.substring(\"blob:\".length));\n\n\treturn \"blob:\" + meta.origin.origin + blob.pathname;\n}\n\nexport function unrewriteBlob(url: string) {\n\tconst blob = new URL(url.substring(\"blob:\".length));\n\n\treturn \"blob:\" + location.origin + blob.pathname;\n}\n\nexport function rewriteUrl(url: string | URL, meta: URLMeta) {\n\tif (url instanceof URL) {\n\t\turl = url.href;\n\t}\n\n\tif (url.startsWith(\"javascript:\")) {\n\t\treturn (\n\t\t\t\"javascript:\" + rewriteJs(url.slice(\"javascript:\".length), null, meta)\n\t\t);\n\t} else if (url.startsWith(\"blob:\")) {\n\t\treturn location.origin + $scramjet.config.prefix + url;\n\t} else if (url.startsWith(\"data:\")) {\n\t\treturn location.origin + $scramjet.config.prefix + url;\n\t} else if (url.startsWith(\"mailto:\") || url.startsWith(\"about:\")) {\n\t\treturn url;\n\t} else {\n\t\tlet base = meta.base.href;\n\n\t\tif (base.startsWith(\"about:\")) base = unrewriteUrl(self.location.href); // jank!!!!! weird jank!!!\n\n\t\treturn (\n\t\t\tlocation.origin +\n\t\t\t$scramjet.config.prefix +\n\t\t\t$scramjet.codec.encode(new URL(url, base).href)\n\t\t);\n\t}\n}\n\nexport function unrewriteUrl(url: string | URL) {\n\tif (url instanceof URL) {\n\t\turl = url.href;\n\t}\n\n\tconst prefixed = location.origin + $scramjet.config.prefix;\n\n\tif (url.startsWith(\"javascript:\")) {\n\t\t//TODO\n\t\treturn url;\n\t} else if (url.startsWith(\"blob:\")) {\n\t\t// realistically this shouldn't happen\n\t\treturn url;\n\t} else if (url.startsWith(prefixed + \"blob:\")) {\n\t\treturn url.substring(prefixed.length);\n\t} else if (url.startsWith(prefixed + \"data:\")) {\n\t\treturn url.substring(prefixed.length);\n\t} else if (url.startsWith(\"mailto:\") || url.startsWith(\"about:\")) {\n\t\treturn url;\n\t} else if (tryCanParseURL(url)) {\n\t\treturn $scramjet.codec.decode(\n\t\t\turl.slice((location.origin + $scramjet.config.prefix).length)\n\t\t);\n\t} else {\n\t\treturn url;\n\t}\n}\n","import { ScramjetClient } from \"../client\";\n\nexport default function (client: ScramjetClient, self: Self) {\n\tclient.Proxy(\"IDBFactory.prototype.open\", {\n\t\tapply(ctx) {\n\t\t\tctx.args[0] = `${client.url.origin}@${ctx.args[0]}`;\n\t\t},\n\t});\n\n\tclient.Trap(\"IDBDatabase.prototype.name\", {\n\t\tget(ctx) {\n\t\t\tconst name = ctx.get() as string;\n\n\t\t\treturn name.substring(name.indexOf(\"@\") + 1);\n\t\t},\n\t});\n}\n","import { iswindow } from \"..\";\nimport { SCRAMJETCLIENT } from \"../../symbols\";\nimport { ScramjetClient } from \"../client\";\nimport { POLLUTANT } from \"../shared/realm\";\n\nexport default function (client: ScramjetClient) {\n\tif (iswindow)\n\t\tclient.Proxy(\"window.postMessage\", {\n\t\t\tapply(ctx) {\n\t\t\t\t// so we need to send the real origin here, since the recieving window can't possibly know.\n\t\t\t\t// except, remember that this code is being ran in a different realm than the invoker, so if we ask our `client` it may give us the wrong origin\n\t\t\t\t// if we were given any object that came from the real realm we can use that to get the real origin\n\t\t\t\t// and this works in every case EXCEPT for the fact that all three arguments can be strings which are copied instead of cloned\n\t\t\t\t// so we have to use `$setrealm` which will pollute this with an object from the real realm\n\n\t\t\t\tlet pollutant;\n\n\t\t\t\tif (typeof ctx.args[0] === \"object\" && ctx.args[0] !== null) {\n\t\t\t\t\tpollutant = ctx.args[0]; // try to use the first object we can find because it's more reliable\n\t\t\t\t} else if (typeof ctx.args[2] === \"object\" && ctx.args[2] !== null) {\n\t\t\t\t\tpollutant = ctx.args[2]; // next try to use transfer\n\t\t\t\t} else if (\n\t\t\t\t\tPOLLUTANT in ctx.this &&\n\t\t\t\t\ttypeof ctx.this[POLLUTANT] === \"object\" &&\n\t\t\t\t\tctx.this[POLLUTANT] !== null\n\t\t\t\t) {\n\t\t\t\t\tpollutant = ctx.this[POLLUTANT]; // lastly try to use the object from $setrealm\n\t\t\t\t} else {\n\t\t\t\t\tpollutant = {}; // give up\n\t\t\t\t}\n\n\t\t\t\t// and now we can steal Function from the caller's realm\n\t\t\t\tconst {\n\t\t\t\t\tconstructor: { constructor: Function },\n\t\t\t\t} = pollutant;\n\n\t\t\t\t// invoking stolen function will give us the caller's globalThis, remember scramjet has already proxied it!!!\n\t\t\t\tconst callerGlobalThisProxied: Self = Function(\"return globalThis\")();\n\t\t\t\tconst callerClient = callerGlobalThisProxied[SCRAMJETCLIENT];\n\n\t\t\t\t// this WOULD be enough but the source argument of MessageEvent has to return the caller's window\n\t\t\t\t// and if we just call it normally it would be coming from here, which WILL NOT BE THE CALLER'S because the accessor is from the parent\n\t\t\t\t// so with the stolen function we wrap postmessage so the source will truly be the caller's window (remember that function is scramjet's!!!)\n\t\t\t\tconst wrappedPostMessage = Function(\"...args\", \"this(...args)\");\n\n\t\t\t\tctx.args[0] = {\n\t\t\t\t\t$scramjet$messagetype: \"window\",\n\t\t\t\t\t$scramjet$origin: callerClient.url.origin,\n\t\t\t\t\t$scramjet$data: ctx.args[0],\n\t\t\t\t};\n\n\t\t\t\t// * origin because obviously\n\t\t\t\tif (typeof ctx.args[1] === \"string\") ctx.args[1] = \"*\";\n\t\t\t\tif (typeof ctx.args[1] === \"object\") ctx.args[1].targetOrigin = \"*\";\n\n\t\t\t\tctx.return(wrappedPostMessage.call(ctx.fn, ...ctx.args));\n\t\t\t},\n\t\t});\n\n\tconst toproxy = [\"MessagePort.prototype.postMessage\"];\n\n\tif (self.Worker) toproxy.push(\"Worker.prototype.postMessage\");\n\tif (!iswindow) toproxy.push(\"self.postMessage\"); // only do the generic version if we're in a worker\n\n\tclient.Proxy(toproxy, {\n\t\tapply(ctx) {\n\t\t\t// origin/source doesn't need to be preserved - it's null in the message event\n\n\t\t\tctx.args[0] = {\n\t\t\t\t$scramjet$messagetype: \"worker\",\n\t\t\t\t$scramjet$data: ctx.args[0],\n\t\t\t};\n\t\t},\n\t});\n}\n","import { ScramjetClient } from \"../client\";\nimport { config } from \"../../shared\";\n\nexport const POLLUTANT = Symbol.for(\"scramjet realm pollutant\");\n\nexport default function (client: ScramjetClient, self: typeof globalThis) {\n\t// object.$setrealm({}).postMessage(...)\n\t// the empty object is the \"pollutant\" which can reconstruct the real realm\n\t// i explain more in postmessage.ts\n\tObject.defineProperty(self.Object.prototype, config.globals.setrealmfn, {\n\t\tvalue(pollution: object) {\n\t\t\t// this is bad!! sites could detect this\n\t\t\tObject.defineProperty(this, POLLUTANT, {\n\t\t\t\tvalue: pollution,\n\t\t\t\twritable: false,\n\t\t\t\tconfigurable: true,\n\t\t\t\tenumerable: false,\n\t\t\t});\n\n\t\t\treturn this;\n\t\t},\n\t\twritable: true,\n\t\tconfigurable: true,\n\t\tenumerable: false,\n\t});\n}\n","import { unrewriteUrl, rewriteUrl } from \"../../../shared\";\nimport { ScramjetClient } from \"../../client\";\n\nexport default function (client: ScramjetClient) {\n\tclient.Proxy(\"EventSource\", {\n\t\tconstruct(ctx) {\n\t\t\tctx.args[0] = rewriteUrl(ctx.args[0], client.meta);\n\t\t},\n\t});\n\n\tclient.Trap(\"EventSource.prototype.url\", {\n\t\tget(ctx) {\n\t\t\tunrewriteUrl(ctx.get() as string);\n\t\t},\n\t});\n}\n","// ts throws an error if you dont do window.fetch\n\nimport { isemulatedsw } from \"../..\";\nimport { unrewriteUrl } from \"../../../shared\";\nimport { ScramjetClient } from \"../../client\";\nimport { rewriteUrl } from \"../../../shared\";\n\nexport default function (client: ScramjetClient, _self: typeof globalThis) {\n\tclient.Proxy(\"fetch\", {\n\t\tapply(ctx) {\n\t\t\tif (typeof ctx.args[0] === \"string\" || ctx.args[0] instanceof URL) {\n\t\t\t\tctx.args[0] = rewriteUrl(ctx.args[0].toString(), client.meta);\n\n\t\t\t\tif (isemulatedsw) ctx.args[0] += \"?from=swruntime\";\n\t\t\t}\n\t\t},\n\t});\n\n\tclient.Proxy(\"Request\", {\n\t\tconstruct(ctx) {\n\t\t\tif (typeof ctx.args[0] === \"string\" || ctx.args[0] instanceof URL) {\n\t\t\t\tctx.args[0] = rewriteUrl(ctx.args[0].toString(), client.meta);\n\n\t\t\t\tif (isemulatedsw) ctx.args[0] += \"?from=swruntime\";\n\t\t\t}\n\t\t},\n\t});\n\n\tclient.Trap(\"Response.prototype.url\", {\n\t\tget(ctx) {\n\t\t\treturn unrewriteUrl(ctx.get() as string);\n\t\t},\n\t});\n\n\tclient.Trap(\"Request.prototype.url\", {\n\t\tget(ctx) {\n\t\t\treturn unrewriteUrl(ctx.get() as string);\n\t\t},\n\t});\n}\n","import { type BareWebSocket } from \"@mercuryworkshop/bare-mux\";\nimport { ScramjetClient } from \"../../client\";\n\ntype FakeWebSocketState = {\n\textensions: string;\n\tprotocol: string;\n\turl: string;\n\tbinaryType: string;\n\tbarews: BareWebSocket;\n\n\tcaptureListeners: Record;\n\tlisteners: Record;\n\n\tonclose?: (ev: CloseEvent) => any;\n\tonerror?: (ev: Event) => any;\n\tonmessage?: (ev: MessageEvent) => any;\n\tonopen?: (ev: Event) => any;\n};\nexport default function (client: ScramjetClient, self: typeof globalThis) {\n\tconst socketmap: WeakMap = new WeakMap();\n\tclient.Proxy(\"WebSocket\", {\n\t\tconstruct(ctx) {\n\t\t\tconst fakeWebSocket = new EventTarget() as WebSocket;\n\t\t\tObject.setPrototypeOf(fakeWebSocket, self.WebSocket.prototype);\n\t\t\tfakeWebSocket.constructor = ctx.fn;\n\n\t\t\tconst trustEvent = (ev: Event) =>\n\t\t\t\tnew Proxy(ev, {\n\t\t\t\t\tget(target, prop) {\n\t\t\t\t\t\tif (prop === \"isTrusted\") return true;\n\n\t\t\t\t\t\treturn Reflect.get(target, prop);\n\t\t\t\t\t},\n\t\t\t\t});\n\n\t\t\tconst barews = client.bare.createWebSocket(\n\t\t\t\tctx.args[0],\n\t\t\t\tctx.args[1],\n\t\t\t\tnull,\n\t\t\t\t{\n\t\t\t\t\t\"User-Agent\": self.navigator.userAgent,\n\t\t\t\t\tOrigin: client.url.origin,\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tconst state: FakeWebSocketState = {\n\t\t\t\textensions: \"\",\n\t\t\t\tprotocol: \"\",\n\t\t\t\turl: ctx.args[0],\n\t\t\t\tbinaryType: \"blob\",\n\t\t\t\tbarews,\n\n\t\t\t\tcaptureListeners: {},\n\t\t\t\tlisteners: {},\n\t\t\t};\n\n\t\t\tfunction fakeEventSend(fakeev: Event) {\n\t\t\t\tstate[\"on\" + fakeev.type]?.(trustEvent(fakeev));\n\t\t\t\tfakeWebSocket.dispatchEvent(fakeev);\n\t\t\t}\n\n\t\t\tbarews.addEventListener(\"open\", () => {\n\t\t\t\tfakeEventSend(new Event(\"open\"));\n\t\t\t});\n\t\t\tbarews.addEventListener(\"close\", (ev) => {\n\t\t\t\tfakeEventSend(new CloseEvent(\"close\", ev));\n\t\t\t});\n\t\t\tbarews.addEventListener(\"message\", async (ev) => {\n\t\t\t\tlet payload = ev.data;\n\t\t\t\tif (typeof payload === \"string\") {\n\t\t\t\t\t// DO NOTHING\n\t\t\t\t} else if (\"byteLength\" in payload) {\n\t\t\t\t\t// arraybuffer, convert to blob if needed or set the proper prototype\n\t\t\t\t\tif (state.binaryType === \"blob\") {\n\t\t\t\t\t\tpayload = new Blob([payload]);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tObject.setPrototypeOf(payload, ArrayBuffer.prototype);\n\t\t\t\t\t}\n\t\t\t\t} else if (\"arrayBuffer\" in payload) {\n\t\t\t\t\t// blob, convert to arraybuffer if neccesary.\n\t\t\t\t\tif (state.binaryType === \"arraybuffer\") {\n\t\t\t\t\t\tpayload = await payload.arrayBuffer();\n\t\t\t\t\t\tObject.setPrototypeOf(payload, ArrayBuffer.prototype);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst fakeev = new MessageEvent(\"message\", {\n\t\t\t\t\tdata: payload,\n\t\t\t\t\torigin: ev.origin,\n\t\t\t\t\tlastEventId: ev.lastEventId,\n\t\t\t\t\tsource: ev.source,\n\t\t\t\t\tports: ev.ports,\n\t\t\t\t});\n\n\t\t\t\tfakeEventSend(fakeev);\n\t\t\t});\n\t\t\tbarews.addEventListener(\"error\", () => {\n\t\t\t\tfakeEventSend(new Event(\"error\"));\n\t\t\t});\n\n\t\t\tsocketmap.set(fakeWebSocket, state);\n\t\t\tctx.return(fakeWebSocket);\n\t\t},\n\t});\n\n\tclient.Proxy(\"EventTarget.prototype.addEventListener\", {\n\t\tapply(ctx) {\n\t\t\tconst ws = socketmap.get(ctx.this);\n\t\t\tif (!ws) return; // it's not a websocket ignore it\n\n\t\t\tconst [type, listener, opts] = ctx.args;\n\n\t\t\tif (\n\t\t\t\t(typeof opts === \"object\" && opts.capture) ||\n\t\t\t\t(typeof opts === \"boolean\" && opts)\n\t\t\t) {\n\t\t\t\tconst listeners = (ws.captureListeners[type] ??= []);\n\t\t\t\tlisteners.push(listener);\n\t\t\t\tws.captureListeners[type] = listeners;\n\t\t\t} else {\n\t\t\t\tconst listeners = (ws.listeners[type] ??= []);\n\t\t\t\tlisteners.push(listener);\n\t\t\t\tws.listeners[type] = listeners;\n\t\t\t}\n\n\t\t\tctx.return(undefined);\n\t\t},\n\t});\n\n\tclient.Proxy(\"EventTarget.prototype.removeEventListener\", {\n\t\tapply(ctx) {\n\t\t\tconst ws = socketmap.get(ctx.this);\n\t\t\tif (!ws) return;\n\n\t\t\tconst [type, listener, opts] = ctx.args;\n\n\t\t\tif (\n\t\t\t\t(typeof opts === \"object\" && opts.capture) ||\n\t\t\t\t(typeof opts === \"boolean\" && opts)\n\t\t\t) {\n\t\t\t\tconst listeners = (ws.captureListeners[type] ??= []);\n\t\t\t\tconst idx = listeners.indexOf(listener);\n\t\t\t\tif (idx !== -1) listeners.splice(idx, 1);\n\t\t\t\tws.captureListeners[type] = listeners;\n\t\t\t} else {\n\t\t\t\tconst listeners = (ws.listeners[type] ??= []);\n\t\t\t\tconst idx = listeners.indexOf(listener);\n\t\t\t\tif (idx !== -1) listeners.splice(idx, 1);\n\t\t\t\tws.listeners[type] = listeners;\n\t\t\t}\n\n\t\t\tctx.return(undefined);\n\t\t},\n\t});\n\n\tclient.Trap(\"WebSocket.prototype.binaryType\", {\n\t\tget(ctx) {\n\t\t\tconst ws = socketmap.get(ctx.this);\n\n\t\t\treturn ws.binaryType;\n\t\t},\n\t\tset(ctx, v: string) {\n\t\t\tconst ws = socketmap.get(ctx.this);\n\t\t\tif (v === \"blob\" || v === \"arraybuffer\") ws.binaryType = v;\n\t\t},\n\t});\n\n\tclient.Trap(\"WebSocket.prototype.bufferedAmount\", {\n\t\tget() {\n\t\t\treturn 0;\n\t\t},\n\t});\n\n\tclient.Trap(\"WebSocket.prototype.extensions\", {\n\t\tget(ctx) {\n\t\t\tconst ws = socketmap.get(ctx.this);\n\n\t\t\treturn ws.extensions;\n\t\t},\n\t});\n\n\tclient.Trap(\"WebSocket.prototype.onclose\", {\n\t\tget(ctx) {\n\t\t\tconst ws = socketmap.get(ctx.this);\n\n\t\t\treturn ws.onclose;\n\t\t},\n\t\tset(ctx, v: (ev: CloseEvent) => any) {\n\t\t\tconst ws = socketmap.get(ctx.this);\n\t\t\tws.onclose = v;\n\t\t},\n\t});\n\n\tclient.Trap(\"WebSocket.prototype.onerror\", {\n\t\tget(ctx) {\n\t\t\tconst ws = socketmap.get(ctx.this);\n\n\t\t\treturn ws.onerror;\n\t\t},\n\t\tset(ctx, v: (ev: Event) => any) {\n\t\t\tconst ws = socketmap.get(ctx.this);\n\t\t\tws.onerror = v;\n\t\t},\n\t});\n\n\tclient.Trap(\"WebSocket.prototype.onmessage\", {\n\t\tget(ctx) {\n\t\t\tconst ws = socketmap.get(ctx.this);\n\n\t\t\treturn ws.onmessage;\n\t\t},\n\t\tset(ctx, v: (ev: MessageEvent) => any) {\n\t\t\tconst ws = socketmap.get(ctx.this);\n\t\t\tws.onmessage = v;\n\t\t},\n\t});\n\n\tclient.Trap(\"WebSocket.prototype.onopen\", {\n\t\tget(ctx) {\n\t\t\tconst ws = socketmap.get(ctx.this);\n\n\t\t\treturn ws.onopen;\n\t\t},\n\t\tset(ctx, v: (ev: Event) => any) {\n\t\t\tconst ws = socketmap.get(ctx.this);\n\t\t\tws.onopen = v;\n\t\t},\n\t});\n\n\tclient.Trap(\"WebSocket.prototype.url\", {\n\t\tget(ctx) {\n\t\t\tconst ws = socketmap.get(ctx.this);\n\n\t\t\treturn ws.url;\n\t\t},\n\t});\n\n\tclient.Trap(\"WebSocket.prototype.protocol\", {\n\t\tget(ctx) {\n\t\t\tconst ws = socketmap.get(ctx.this);\n\n\t\t\treturn ws.protocol;\n\t\t},\n\t});\n\n\tclient.Trap(\"WebSocket.prototype.readyState\", {\n\t\tget(ctx) {\n\t\t\tconst ws = socketmap.get(ctx.this);\n\n\t\t\treturn ws.barews.readyState;\n\t\t},\n\t});\n\n\tclient.Proxy(\"WebSocket.prototype.send\", {\n\t\tapply(ctx) {\n\t\t\tconst ws = socketmap.get(ctx.this);\n\n\t\t\tctx.return(ws.barews.send(ctx.args[0]));\n\t\t},\n\t});\n\n\tclient.Proxy(\"WebSocket.prototype.close\", {\n\t\tapply(ctx) {\n\t\t\tconst ws = socketmap.get(ctx.this);\n\t\t\tif (ctx.args[0] === undefined) ctx.args[0] = 1000;\n\t\t\tif (ctx.args[1] === undefined) ctx.args[1] = \"\";\n\t\t\tctx.return(ws.barews.close(ctx.args[0], ctx.args[1]));\n\t\t},\n\t});\n}\n","import { flagEnabled } from \"../../../scramjet\";\nimport { config, unrewriteUrl, rewriteUrl } from \"../../../shared\";\nimport { ScramjetClient } from \"../../client\";\nlet nativeworker;\nlet postmessage;\n\nif (self.Worker) {\n\tnativeworker = Worker;\n\tpostmessage = Worker.prototype.postMessage;\n}\n\nexport default function (client: ScramjetClient, self: Self) {\n\tlet worker;\n\tif (self.Worker && flagEnabled(\"syncxhr\", client.url)) {\n\t\tworker = new nativeworker(config.files.sync);\n\t}\n\tconst ARGS = Symbol(\"xhr original args\");\n\tconst HEADERS = Symbol(\"xhr headers\");\n\n\tclient.Proxy(\"XMLHttpRequest.prototype.open\", {\n\t\tapply(ctx) {\n\t\t\tif (ctx.args[1]) ctx.args[1] = rewriteUrl(ctx.args[1], client.meta);\n\t\t\tctx.this[ARGS] = ctx.args;\n\t\t},\n\t});\n\n\tclient.Proxy(\"XMLHttpRequest.prototype.setRequestHeader\", {\n\t\tapply(ctx) {\n\t\t\tconst headers = ctx.this[HEADERS] || (ctx.this[HEADERS] = {});\n\t\t\theaders[ctx.args[0]] = ctx.args[1];\n\t\t},\n\t});\n\n\tclient.Proxy(\"XMLHttpRequest.prototype.send\", {\n\t\tapply(ctx) {\n\t\t\tconst args = ctx.this[ARGS];\n\t\t\tif (!args || args[2]) return;\n\n\t\t\tif (!flagEnabled(\"syncxhr\", client.url)) {\n\t\t\t\tconsole.warn(\"ignoring request - sync xhr disabled in flags\");\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// it's a sync request\n\t\t\t// sync xhr to service worker is not supported\n\t\t\t// there's a nice way of polyfilling this though, we can spin on an atomic using sharedarraybuffer. this will maintain the sync behavior\n\n\t\t\t// @ts-expect-error maxbytelength not in types yet i guess\n\t\t\tconst sab = new SharedArrayBuffer(1024, { maxByteLength: 2147483647 });\n\t\t\tconst view = new DataView(sab);\n\n\t\t\tpostmessage.call(worker, {\n\t\t\t\tsab,\n\t\t\t\targs,\n\t\t\t\theaders: ctx.this[HEADERS],\n\t\t\t\tbody: ctx.args[0],\n\t\t\t});\n\n\t\t\tconst now = performance.now();\n\t\t\twhile (view.getUint8(0) === 0) {\n\t\t\t\tif (performance.now() - now > 1000) {\n\t\t\t\t\tthrow new Error(\"xhr timeout\");\n\t\t\t\t}\n\t\t\t\t/* spin */\n\t\t\t}\n\n\t\t\tconst status = view.getUint16(1);\n\t\t\tconst headersLength = view.getUint32(3);\n\n\t\t\tconst headersab = new Uint8Array(headersLength);\n\t\t\theadersab.set(new Uint8Array(sab.slice(7, 7 + headersLength)));\n\t\t\tconst headers = new TextDecoder().decode(headersab);\n\n\t\t\tconst bodyLength = view.getUint32(7 + headersLength);\n\t\t\tconst bodyab = new Uint8Array(bodyLength);\n\t\t\tbodyab.set(\n\t\t\t\tnew Uint8Array(\n\t\t\t\t\tsab.slice(11 + headersLength, 11 + headersLength + bodyLength)\n\t\t\t\t)\n\t\t\t);\n\t\t\tconst body = new TextDecoder().decode(bodyab);\n\n\t\t\t// these should be using proxies to not leak scram strings but who cares\n\t\t\tclient.RawTrap(ctx.this, \"status\", {\n\t\t\t\tget() {\n\t\t\t\t\treturn status;\n\t\t\t\t},\n\t\t\t});\n\t\t\tclient.RawTrap(ctx.this, \"responseText\", {\n\t\t\t\tget() {\n\t\t\t\t\treturn body;\n\t\t\t\t},\n\t\t\t});\n\t\t\tclient.RawTrap(ctx.this, \"response\", {\n\t\t\t\tget() {\n\t\t\t\t\tif (ctx.this.responseType === \"arraybuffer\") return bodyab.buffer;\n\n\t\t\t\t\treturn body;\n\t\t\t\t},\n\t\t\t});\n\t\t\tclient.RawTrap(ctx.this, \"responseXML\", {\n\t\t\t\tget() {\n\t\t\t\t\tconst parser = new DOMParser();\n\n\t\t\t\t\treturn parser.parseFromString(body, \"text/xml\");\n\t\t\t\t},\n\t\t\t});\n\t\t\tclient.RawTrap(ctx.this, \"getAllResponseHeaders\", {\n\t\t\t\tget() {\n\t\t\t\t\treturn () => headers;\n\t\t\t\t},\n\t\t\t});\n\t\t\tclient.RawTrap(ctx.this, \"getResponseHeader\", {\n\t\t\t\tget() {\n\t\t\t\t\treturn (header: string) => {\n\t\t\t\t\t\tconst re = new RegExp(`^${header}: (.*)$`, \"m\");\n\t\t\t\t\t\tconst match = re.exec(headers);\n\n\t\t\t\t\t\treturn match ? match[1] : null;\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t});\n\n\t\t\t// send has no return value right\n\t\t\tctx.return(undefined);\n\t\t},\n\t});\n\n\tclient.Trap(\"XMLHttpRequest.prototype.responseURL\", {\n\t\tget(ctx) {\n\t\t\treturn unrewriteUrl(ctx.get() as string);\n\t\t},\n\t});\n}\n","import { flagEnabled } from \"../../scramjet\";\nimport { ScramjetClient } from \"../client\";\n\ntype Mapping = [string, number, number];\n\nconst sourcemaps: Record = {};\n\nexport const enabled = (client: ScramjetClient) =>\n\tflagEnabled(\"sourcemaps\", client.url);\n\nexport default function (client: ScramjetClient, self: Self) {\n\t// every script will push a sourcemap\n\tObject.defineProperty(self, \"$scramjet$pushsourcemap\", {\n\t\tvalue: (maps: Mapping[], tag: string) => {\n\t\t\tsourcemaps[tag] = maps;\n\t\t},\n\t\tenumerable: false,\n\t\twritable: false,\n\t\tconfigurable: false,\n\t});\n\n\tconst scramtag_ident = \"/*scramtag \";\n\n\t// when we rewrite javascript it will make function.toString leak internals\n\t// this can lead to double rewrites which is bad\n\tclient.Proxy(\"Function.prototype.toString\", {\n\t\tapply(ctx) {\n\t\t\tlet stringified: string = ctx.fn.call(ctx.this);\n\t\t\tlet newString = \"\";\n\n\t\t\t// every function rewritten will have a scramtag comment\n\t\t\t// it will look like this:\n\t\t\t// function name() /*scramtag [index] [tag] */ { ... }\n\t\t\tconst scramtagstart = stringified.indexOf(\"/*s\");\n\n\t\t\tif (scramtagstart === -1) return ctx.return(stringified); // it's either a native function or something stolen from scramjet itself\n\n\t\t\tconst firstspace = stringified.indexOf(\n\t\t\t\t\" \",\n\t\t\t\tscramtagstart + scramtag_ident.length\n\t\t\t);\n\t\t\t// [index] holds the index of the first character in the scramtag (/)\n\t\t\tconst abstagindex = parseInt(\n\t\t\t\tstringified.substring(scramtagstart + scramtag_ident.length, firstspace)\n\t\t\t);\n\n\t\t\t// subtracting that from the index of the scramtag gives us the starting index of the function relative to the entire file\n\t\t\tconst absindex = abstagindex - scramtagstart;\n\n\t\t\tconst scramtagend = stringified.indexOf(\"*/\", scramtagstart);\n\t\t\tconst tag = stringified.substring(firstspace + 1, scramtagend);\n\n\t\t\t// delete all scramtags inside the function (and nested ones!!)\n\t\t\tstringified = stringified.replace(/\\/\\*scramtag.*?\\*\\//g, \"\");\n\n\t\t\tconst maps = sourcemaps[tag];\n\n\t\t\tlet i = 0;\n\t\t\tlet offset = 0;\n\n\t\t\tlet j = 0;\n\t\t\twhile (j < maps.length) {\n\t\t\t\tconst [str, start, end] = maps[j];\n\t\t\t\tif (start < absindex) {\n\t\t\t\t\tj++;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (start - absindex + offset > stringified.length) break;\n\n\t\t\t\t// ooh i should really document this before i forget how it works\n\t\t\t\tnewString += stringified.slice(i, start - absindex + offset);\n\t\t\t\tnewString += str;\n\t\t\t\toffset += end - start - str.length;\n\t\t\t\ti = start - absindex + offset + str.length;\n\n\t\t\t\tj++;\n\t\t\t}\n\n\t\t\tnewString += stringified.slice(i);\n\n\t\t\treturn ctx.return(newString);\n\t\t},\n\t});\n}\n","export default function (client, self) {\n\tdelete self.TrustedHTML;\n\tdelete self.TrustedScript;\n\tdelete self.TrustedScriptURL;\n\tdelete self.TrustedTypePolicy;\n\tdelete self.TrustedTypePolicyFactory;\n\tself.__defineGetter__(\"trustedTypes\", () => undefined);\n}\n","import { iswindow } from \"..\";\nimport { ProxyCtx, ScramjetClient } from \"../client\";\n\n// we don't want to end up overriding a property on window that's derived from a prototype until we've proxied the prototype\nexport const order = 3;\n\nexport default function (client: ScramjetClient, self: typeof window) {\n\t// an automated approach to cleaning the documentProxy from dom functions\n\t// it will trigger an illegal invocation if you pass the proxy to c++ code, we gotta hotswap it out with the real one\n\t// admittedly this is pretty slow. worth investigating if there's ways to get back some of the lost performance\n\n\tfor (const target of [self]) {\n\t\tfor (const prop in target) {\n\t\t\ttry {\n\t\t\t\tif (typeof target[prop] === \"function\") {\n\t\t\t\t\tclient.RawProxy(target, prop, {\n\t\t\t\t\t\tapply(ctx) {\n\t\t\t\t\t\t\tunproxy(ctx, client);\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} catch {}\n\t\t}\n\t}\n\n\tif (!iswindow) return;\n\n\tfor (const target of [\n\t\tself.Node.prototype,\n\t\tself.MutationObserver.prototype,\n\t\tself.document,\n\t\tself.MouseEvent.prototype,\n\t]) {\n\t\tfor (const prop in target) {\n\t\t\ttry {\n\t\t\t\tif (typeof target[prop] === \"function\") {\n\t\t\t\t\tclient.RawProxy(target, prop, {\n\t\t\t\t\t\tapply(ctx) {\n\t\t\t\t\t\t\tunproxy(ctx, client);\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} catch {}\n\t\t}\n\t}\n\t// this is probably not how stuff should be done but you cant run defineProperty on the window proxy so...\n\tclient.Proxy(\"Object.defineProperty\", {\n\t\tapply(ctx) {\n\t\t\tunproxy(ctx, client);\n\t\t},\n\t});\n\n\tclient.Proxy(\"Object.getOwnPropertyDescriptor\", {\n\t\tapply(ctx) {\n\t\t\tconst desc = ctx.call();\n\n\t\t\tif (!desc) return;\n\n\t\t\tif (desc.get) {\n\t\t\t\tclient.RawProxy(desc, \"get\", {\n\t\t\t\t\tapply(getCtx) {\n\t\t\t\t\t\t// value of this in the getter needs to be corrected\n\t\t\t\t\t\tunproxy(getCtx, client);\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (desc.set) {\n\t\t\t\tclient.RawProxy(desc, \"set\", {\n\t\t\t\t\tapply(setCtx) {\n\t\t\t\t\t\tunproxy(setCtx, client);\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// i don't think we have to care about value but it's worth looking into\n\n\t\t\tctx.return(desc);\n\t\t},\n\t});\n}\n\nexport function unproxy(ctx: ProxyCtx, client: ScramjetClient) {\n\tconst self = client.global;\n\tif (ctx.this === client.globalProxy) ctx.this = self;\n\tif (ctx.this === client.documentProxy) ctx.this = self.document;\n\n\tfor (const i in ctx.args) {\n\t\tif (ctx.args[i] === client.documentProxy) ctx.args[i] = self.document;\n\t\tif (ctx.args[i] === client.globalProxy) ctx.args[i] = self;\n\t}\n}\n","import { iswindow } from \"..\";\nimport { BareMuxConnection } from \"../../shared\";\nimport { rewriteUrl } from \"../../shared\";\nimport type { MessageC2W } from \"../../worker\";\nimport { ScramjetClient } from \"../client\";\n\nconst sharedworkerpostmessage = MessagePort.prototype.postMessage;\nlet workerpostmessage;\nif (self.Worker) {\n\tworkerpostmessage = Worker.prototype.postMessage;\n}\nexport default function (client: ScramjetClient, self: typeof globalThis) {\n\tif (self.Worker) {\n\t\tclient.Proxy(\"Worker\", {\n\t\t\tconstruct({ args, call }) {\n\t\t\t\tif (args[0] instanceof URL) args[0] = args[0].href;\n\n\t\t\t\targs[0] = rewriteUrl(args[0], client.meta) + \"?dest=worker\";\n\n\t\t\t\tif (args[1] && args[1].type === \"module\") {\n\t\t\t\t\targs[0] += \"&type=module\";\n\t\t\t\t}\n\n\t\t\t\tconst worker = call();\n\t\t\t\tconst conn = new BareMuxConnection();\n\n\t\t\t\t(async () => {\n\t\t\t\t\tconst port = await conn.getInnerPort();\n\t\t\t\t\tworkerpostmessage.call(\n\t\t\t\t\t\tworker,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$scramjet$type: \"baremuxinit\",\n\t\t\t\t\t\t\tport,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t[port]\n\t\t\t\t\t);\n\t\t\t\t})();\n\t\t\t},\n\t\t});\n\t}\n\n\tif (iswindow) {\n\t\tclient.Proxy(\"Worklet.prototype.addModule\", {\n\t\t\tapply(ctx) {\n\t\t\t\tif (ctx.args[0]) ctx.args[0] = rewriteUrl(ctx.args[0], client.meta);\n\t\t\t},\n\t\t});\n\n\t\t// sharedworkers can only be constructed from window\n\t\tclient.Proxy(\"SharedWorker\", {\n\t\t\tconstruct({ args, call }) {\n\t\t\t\tif (args[0] instanceof URL) args[0] = args[0].href;\n\n\t\t\t\targs[0] = rewriteUrl(args[0], client.meta) + \"?dest=worker\";\n\n\t\t\t\tif (args[1] && typeof args[1] === \"string\")\n\t\t\t\t\targs[1] = `${client.url.origin}@${args[1]}`;\n\n\t\t\t\tif (args[1] && typeof args[1] === \"object\") {\n\t\t\t\t\tif (args[1].type === \"module\") {\n\t\t\t\t\t\targs[0] += \"&type=module\";\n\t\t\t\t\t}\n\n\t\t\t\t\tif (args[1].name) {\n\t\t\t\t\t\targs[1].name = `${client.url.origin}@${args[1].name}`;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst worker = call();\n\t\t\t\tconst conn = new BareMuxConnection();\n\n\t\t\t\t(async () => {\n\t\t\t\t\tconst port = await conn.getInnerPort();\n\t\t\t\t\tsharedworkerpostmessage.call(\n\t\t\t\t\t\tworker.port,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$scramjet$type: \"baremuxinit\",\n\t\t\t\t\t\t\tport,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t[port]\n\t\t\t\t\t);\n\t\t\t\t})();\n\t\t\t},\n\t\t});\n\t}\n}\n","import { iswindow, isworker } from \"..\";\nimport { SCRAMJETCLIENT } from \"../../symbols\";\nimport { ScramjetClient } from \"../client\";\nimport { config } from \"../../shared\";\n// import { argdbg } from \"./err\";\nimport { indirectEval } from \"./eval\";\n\nexport function createWrapFn(client: ScramjetClient, self: typeof globalThis) {\n\treturn function (identifier: any) {\n\t\tif (identifier === self) return client.globalProxy;\n\t\tif (identifier === self.location) return client.locationProxy;\n\t\tif (identifier === eval) return indirectEval.bind(client);\n\n\t\tif (iswindow) {\n\t\t\tif (identifier === self.parent) {\n\t\t\t\tif (SCRAMJETCLIENT in self.parent.self) {\n\t\t\t\t\t// ... then we're in a subframe, and the parent frame is also in a proxy context, so we should return its proxy\n\t\t\t\t\treturn self.parent.self[SCRAMJETCLIENT].globalProxy;\n\t\t\t\t} else {\n\t\t\t\t\t// ... then we should pretend we aren't nested and return the current window\n\t\t\t\t\treturn client.globalProxy;\n\t\t\t\t}\n\t\t\t} else if (identifier === self.document) {\n\t\t\t\treturn client.documentProxy;\n\t\t\t} else if (identifier === self.top) {\n\t\t\t\t// instead of returning top, we need to return the uppermost parent that's inside a scramjet context\n\t\t\t\tlet current = self.self;\n\n\t\t\t\tfor (;;) {\n\t\t\t\t\tconst test = current.parent.self;\n\t\t\t\t\tif (test === current) break; // there is no parent, actual or emulated.\n\n\t\t\t\t\t// ... then `test` represents a window outside of the proxy context, and therefore `current` is the topmost window in the proxy context\n\t\t\t\t\tif (!(SCRAMJETCLIENT in test)) break;\n\n\t\t\t\t\t// test is also insde a proxy, so we should continue up the chain\n\t\t\t\t\tcurrent = test;\n\t\t\t\t}\n\n\t\t\t\treturn current[SCRAMJETCLIENT].globalProxy.window;\n\t\t\t}\n\t\t}\n\n\t\treturn identifier;\n\t};\n}\n\nexport const order = 4;\nexport default function (client: ScramjetClient, self: typeof globalThis) {\n\t// the main magic of the proxy. all attempts to access any \"banned objects\" will be redirected here, and instead served a proxy object\n\t// this contrasts from how other proxies will leave the root object alone and instead attempt to catch every member access\n\t// this presents some issues (see element.ts), but makes us a good bit faster at runtime!\n\tObject.defineProperty(self, config.globals.wrapfn, {\n\t\tvalue: client.wrapfn,\n\t\twritable: false,\n\t\tconfigurable: false,\n\t});\n\tObject.defineProperty(self, config.globals.wrapthisfn, {\n\t\tvalue: function (i) {\n\t\t\tif (i === self) return client.globalProxy;\n\n\t\t\treturn i;\n\t\t},\n\t\twritable: false,\n\t\tconfigurable: false,\n\t});\n\n\tself.$scramitize = function (v) {\n\t\tif (typeof v === \"string\" && v.includes(\"scramjet\")) {\n\t\t\tdebugger;\n\t\t}\n\n\t\tif (typeof v === \"string\" && v.includes(location.origin)) {\n\t\t\tdebugger;\n\t\t}\n\n\t\tif (iswindow && v instanceof Document && v.defaultView.$scramjet) {\n\t\t\tdebugger;\n\t\t}\n\n\t\treturn v;\n\t};\n\n\t// location = \"...\" can't be rewritten as wrapfn(location) = ..., so instead it will actually be rewritten as\n\t// ((t)=>$scramjet$tryset(location,\"+=\",t)||location+=t)(...);\n\t// it has to be a discrete function because there's always the possibility that \"location\" is a local variable\n\t// we have to use an IIFE to avoid duplicating side-effects in the getter\n\tObject.defineProperty(self, config.globals.trysetfn, {\n\t\tvalue: function (lhs: any, op: string, rhs: any) {\n\t\t\tif (lhs instanceof Location) {\n\t\t\t\t// @ts-ignore\n\t\t\t\tlocationProxy.href = rhs;\n\n\t\t\t\treturn true;\n\t\t\t}\n\t\t},\n\t\twritable: false,\n\t\tconfigurable: false,\n\t});\n}\n","import { ScramjetClient } from \"./client\";\nimport { unrewriteUrl } from \"../shared\";\n\nexport class ScramjetServiceWorkerRuntime {\n\trecvport: MessagePort;\n\tconstructor(public client: ScramjetClient) {\n\t\t// @ts-ignore\n\t\tself.onconnect = (cevent: MessageEvent) => {\n\t\t\tconst port = cevent.ports[0];\n\t\t\tdbg.log(\"sw\", \"connected\");\n\n\t\t\tport.addEventListener(\"message\", (event) => {\n\t\t\t\tconsole.log(\"sw\", event.data);\n\t\t\t\tif (\"scramjet$type\" in event.data) {\n\t\t\t\t\tif (event.data.scramjet$type === \"init\") {\n\t\t\t\t\t\tthis.recvport = event.data.scramjet$port;\n\t\t\t\t\t\tthis.recvport.postMessage({ scramjet$type: \"init\" });\n\t\t\t\t\t} else {\n\t\t\t\t\t\thandleMessage.call(this, client, event.data);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tport.start();\n\t\t};\n\t}\n\n\thook() {\n\t\tthis.client.global.registration = {\n\t\t\t// TODO IMPLEMENT SCOPES\n\t\t\tscope: this.client.url.href,\n\t\t\tactive: {\n\t\t\t\tscriptURL: this.client.url.href,\n\t\t\t\tstate: \"activated\",\n\t\t\t\tonstatechange: null,\n\t\t\t\tonerror: null,\n\n\t\t\t\tpostMessage: () => {},\n\t\t\t\taddEventListener: () => {},\n\t\t\t\tremoveEventListener: () => {},\n\t\t\t\tdispatchEvent: (_e: Event) => {},\n\t\t\t},\n\t\t\tshowNotification: async () => {},\n\t\t\tunregister: async () => true,\n\t\t\tupdate: async () => {},\n\t\t\tinstalling: null,\n\t\t\twaiting: null,\n\t\t};\n\n\t\t// @ts-ignore\n\t\tthis.client.global.ServiceWorkerGlobalScope = this.client.global;\n\t}\n}\n\nfunction handleMessage(\n\tthis: ScramjetServiceWorkerRuntime,\n\tclient: ScramjetClient,\n\tdata: MessageW2R\n) {\n\tconst port = this.recvport;\n\tconst type = data.scramjet$type;\n\tconst token = data.scramjet$token;\n\n\tif (type === \"fetch\") {\n\t\tdbg.log(\"ee\", data);\n\t\tconst fetchhandlers = client.eventcallbacks.get(self);\n\t\tif (!fetchhandlers) return;\n\n\t\tfor (const handler of fetchhandlers) {\n\t\t\tif (handler.event !== \"fetch\") continue;\n\n\t\t\tconst request = data.scramjet$request;\n\n\t\t\tconst Request = client.natives[\"Request\"];\n\t\t\tconst fakeRequest = new Request(unrewriteUrl(request.url), {\n\t\t\t\tbody: request.body,\n\t\t\t\theaders: new Headers(request.headers),\n\t\t\t\tmethod: request.method,\n\t\t\t\tmode: \"same-origin\",\n\t\t\t});\n\n\t\t\tObject.defineProperty(fakeRequest, \"destination\", {\n\t\t\t\tvalue: request.destinitation,\n\t\t\t});\n\n\t\t\t// TODO: clean up, maybe put into a class\n\t\t\tconst fakeFetchEvent: any = new Event(\"fetch\");\n\t\t\tfakeFetchEvent.request = fakeRequest;\n\t\t\tlet responded = false;\n\t\t\tfakeFetchEvent.respondWith = (response: Response | Promise) => {\n\t\t\t\tresponded = true;\n\t\t\t\t(async () => {\n\t\t\t\t\tresponse = await response;\n\t\t\t\t\tconst message: MessageR2W = {\n\t\t\t\t\t\tscramjet$type: \"fetch\",\n\t\t\t\t\t\tscramjet$token: token,\n\t\t\t\t\t\tscramjet$response: {\n\t\t\t\t\t\t\tbody: response.body,\n\t\t\t\t\t\t\theaders: Array.from(response.headers.entries()),\n\t\t\t\t\t\t\tstatus: response.status,\n\t\t\t\t\t\t\tstatusText: response.statusText,\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\n\t\t\t\t\tdbg.log(\"sw\", \"responding\", message);\n\t\t\t\t\tport.postMessage(message, [response.body]);\n\t\t\t\t})();\n\t\t\t};\n\n\t\t\tdbg.log(\"to fn\", fakeFetchEvent);\n\t\t\thandler.proxiedCallback(trustEvent(fakeFetchEvent));\n\t\t\tif (!responded) {\n\t\t\t\tconsole.log(\"sw\", \"no response\");\n\t\t\t\tport.postMessage({\n\t\t\t\t\tscramjet$type: \"fetch\",\n\t\t\t\t\tscramjet$token: token,\n\t\t\t\t\tscramjet$response: false,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction trustEvent(event: Event): Event {\n\treturn new Proxy(event, {\n\t\tget(target, prop, reciever) {\n\t\t\tif (prop === \"isTrusted\") return true;\n\n\t\t\treturn Reflect.get(target, prop);\n\t\t},\n\t});\n}\n\nexport type TransferrableResponse = {\n\tbody: ReadableStream;\n\theaders: [string, string][];\n\tstatus: number;\n\tstatusText: string;\n};\n\nexport type TransferrableRequest = {\n\tbody: ReadableStream;\n\theaders: [string, string][];\n\tdestinitation: RequestDestination;\n\tmethod: Request[\"method\"];\n\tmode: Request[\"mode\"];\n\turl: string;\n};\n\ntype FetchResponseMessage = {\n\tscramjet$type: \"fetch\";\n\tscramjet$response: TransferrableResponse;\n};\n\ntype FetchRequestMessage = {\n\tscramjet$type: \"fetch\";\n\tscramjet$request: TransferrableRequest;\n};\n\n// r2w = runtime to (service) worker\n\ntype MessageTypeR2W = FetchResponseMessage;\ntype MessageTypeW2R = FetchRequestMessage;\n\ntype MessageCommon = {\n\tscramjet$type: string;\n\tscramjet$token: number;\n};\n\nexport type MessageR2W = MessageCommon & MessageTypeR2W;\nexport type MessageW2R = MessageCommon &\n\tMessageTypeW2R & { scramjet$port?: MessagePort };\n","import { rewriteUrl } from \"../../shared\";\nimport { ScramjetClient } from \"../client\";\n\nexport default function (client: ScramjetClient, _self: Self) {\n\tclient.Proxy(\"importScripts\", {\n\t\tapply(ctx) {\n\t\t\tfor (const i in ctx.args) {\n\t\t\t\tctx.args[i] = rewriteUrl(ctx.args[i], client.meta);\n\t\t\t}\n\t\t},\n\t});\n}\n","export default {\n\tfmt: function (severity: string, message: string, ...args: any[]) {\n\t\tconst old = Error.prepareStackTrace;\n\n\t\tError.prepareStackTrace = (_, stack) => {\n\t\t\tstack.shift(); // stack();\n\t\t\tstack.shift(); // fmt();\n\t\t\tstack.shift();\n\n\t\t\tlet fmt = \"\";\n\t\t\tfor (let i = 1; i < Math.min(2, stack.length); i++) {\n\t\t\t\tif (stack[i].getFunctionName()) {\n\t\t\t\t\t// const f = stack[i].getThis()?.constructor?.name;\n\t\t\t\t\t// if (f) fmt += `${f}.`\n\t\t\t\t\tfmt += `${stack[i].getFunctionName()} -> ` + fmt;\n\t\t\t\t}\n\t\t\t}\n\t\t\tfmt += stack[0].getFunctionName() || \"Anonymous\";\n\n\t\t\treturn fmt;\n\t\t};\n\n\t\tconst fmt = (function stack() {\n\t\t\ttry {\n\t\t\t\tthrow new Error();\n\t\t\t} catch (e) {\n\t\t\t\treturn e.stack;\n\t\t\t}\n\t\t})();\n\n\t\tError.prepareStackTrace = old;\n\n\t\tconst fn = console[severity] || console.log;\n\t\tconst bg = {\n\t\t\tlog: \"#000\",\n\t\t\twarn: \"#f80\",\n\t\t\terror: \"#f00\",\n\t\t\tdebug: \"transparent\",\n\t\t}[severity];\n\t\tconst fg = {\n\t\t\tlog: \"#fff\",\n\t\t\twarn: \"#fff\",\n\t\t\terror: \"#fff\",\n\t\t\tdebug: \"gray\",\n\t\t}[severity];\n\t\tconst padding = {\n\t\t\tlog: 2,\n\t\t\twarn: 4,\n\t\t\terror: 4,\n\t\t\tdebug: 0,\n\t\t}[severity];\n\n\t\tfn(\n\t\t\t`%c${fmt}%c ${message}`,\n\t\t\t`\n\t\tbackground-color: ${bg};\n\t\tcolor: ${fg};\n\t\tpadding: ${padding}px;\n\t\tfont-weight: bold;\n\t\tfont-family: monospace;\n\t\tfont-size: 0.9em;\n\t`,\n\t\t\t`${severity === \"debug\" ? \"color: gray\" : \"\"}`,\n\t\t\t...args\n\t\t);\n\t},\n\tlog: function (message: string, ...args: any[]) {\n\t\tthis.fmt(\"log\", message, ...args);\n\t},\n\twarn: function (message: string, ...args: any[]) {\n\t\tthis.fmt(\"warn\", message, ...args);\n\t},\n\terror: function (message: string, ...args: any[]) {\n\t\tthis.fmt(\"error\", message, ...args);\n\t},\n\tdebug: function (message: string, ...args: any[]) {\n\t\tthis.fmt(\"debug\", message, ...args);\n\t},\n};\n","import { ScramjetFlags } from \"./types\";\n\nif (!(\"$scramjet\" in self)) {\n\t// @ts-expect-error ts stuff\n\tself.$scramjet = {\n\t\tversion: {\n\t\t\tbuild: COMMITHASH,\n\t\t\tversion: VERSION,\n\t\t},\n\t\tcodec: {},\n\t\tflagEnabled,\n\t};\n}\n\nexport const $scramjet = self.$scramjet;\n\nconst nativeFunction = Function;\nexport function loadCodecs() {\n\t$scramjet.codec.encode = nativeFunction(\n\t\t\"url\",\n\t\t$scramjet.config.codec.encode\n\t) as any;\n\t$scramjet.codec.decode = nativeFunction(\n\t\t\"url\",\n\t\t$scramjet.config.codec.decode\n\t) as any;\n}\n\nexport function flagEnabled(flag: keyof ScramjetFlags, url: URL): boolean {\n\tconst value = $scramjet.config.defaultFlags[flag];\n\tfor (const regex in $scramjet.config.siteFlags) {\n\t\tconst partialflags = $scramjet.config.siteFlags[regex];\n\t\tif (new RegExp(regex).test(url.href) && flag in partialflags) {\n\t\t\treturn partialflags[flag];\n\t\t}\n\t}\n\n\treturn value;\n}\n","import { $scramjet } from \"./scramjet\";\n\nexport const {\n\tutil: { BareClient, ScramjetHeaders, BareMuxConnection },\n\turl: { rewriteUrl, unrewriteUrl, rewriteBlob, unrewriteBlob },\n\trewrite: {\n\t\trewriteCss,\n\t\tunrewriteCss,\n\t\trewriteHtml,\n\t\tunrewriteHtml,\n\t\trewriteSrcset,\n\t\trewriteJs,\n\t\trewriteHeaders,\n\t\trewriteWorkers,\n\t\thtmlRules,\n\t},\n\tCookieStore,\n} = $scramjet.shared;\n\nexport const config = $scramjet.config;\n","// see types.d.ts for what these mean\nexport const SCRAMJETCLIENT = Symbol.for(\"scramjet client global\");\nexport const SCRAMJETFRAME = Symbol.for(\"scramjet frame handle\");\n"],"names":["ScramjetClient","createDocumentProxy","client","self","Proxy","target","prop","Reflect","newValue","location","rewriteUrl","getOwnPropertyDescriptorHandler","ctx","map","proxy","receiver","value","Object","name","namespace","NamedNodeMap","thisArg","argArray","keys","key","data","URL","rewriteCss","v","unrewriteCss","style","t","p","CSSStyleDeclaration","rewriteHtml","nativeSetAttribute","attrObject","urlinterfaces","originalhrefs","nativeGetOwnPropertyDescriptor","attr","element","descriptor","unrewriteUrl","i","desc","href","url","base","ruleList","htmlRules","rule","r","newval","rewriteJs","scriptSource","atob","unrewriteHtml","realwin","SCRAMJETCLIENT","newclient","contentwindow","doc","scram","n","Document","_self","ev","UrlChangeEvent","document","f","win","realPostMessage","order","enabled","flagEnabled","disabled","_client","Navigator","registration","undefined","Promise","resolve","_ctx","console","handle","worker","fakeRegistration","ServiceWorkerRegistration","ServiceWorker","handler","index","realLocalStorage","property","attributes","localStorageProxy","sessionStorageProxy","NavigateEvent","Event","UNSAFE_GLOBALS","createGlobalProxy","iswindow","isNaN","Number","isworker","issw","isdedicated","isshared","isemulatedsw","dbg","loadCodecs","runtime","ScramjetServiceWorkerRuntime","ScramjetContextInit","createLocationProxy","Location","fakeLocation","descriptorSource","native","args","nativeFunction","log","rewriteBlob","unrewriteBlob","argdbg","arg","recurse","Symbol","ar","e","closure","error","stack","newstack","config","lines","line","l","_value","js","indirectEval","indirection","realOnEvent","handlers","wraplistener","listener","realEvent","type","_target","reciever","unproxy","origlistener","proxylistener","arr","targets","rewriteFunction","stringifiedFunction","content","wasm","WASM_VECTOR_LEN","cachedUint8ArrayMemory0","getUint8ArrayMemory0","Uint8Array","cachedTextEncoder","TextEncoder","Error","encodeString","view","buf","passStringToWasm0","malloc","realloc","ptr","len","mem","offset","code","ret","cachedDataViewMemory0","getDataViewMemory0","DataView","cachedTextDecoder","TextDecoder","getStringFromWasm0","takeFromExternrefTable0","idx","handleError","addToExternrefTable0","obj","__wbg_load","module","imports","Response","WebAssembly","bytes","instance","__wbg_get_imports","arg0","arg1","x","ptr1","isLikeNone","len1","arg2","arguments","arg3","v0","getArrayU8FromWasm0","deferred0_0","deferred0_1","val","window","globalThis","global","Function","debugString","className","description","Array","length","debug","builtInMatches","toString","JSON","_","table","__wbg_init_memory","memory","__wbg_finalize_init","thread_stack_size","__wbg_init","module_or_path","Request","fetch","initSync","c","decoder","resolved","meta","text","rewriteJsNaiive","$scramjet","rewriteJsWrapper","input","out","errors","duration","rewrite_js","script_url","scramjet","ptr0","len0","ptr2","len2","rewrite_js_from_arraybuffer","passArray8ToWasm0","timespan","prefixed","tryCanParseURL","origin","pollutant","POLLUTANT","callerClient","callerGlobalThisProxied","wrappedPostMessage","toproxy","pollution","socketmap","WeakMap","fakeWebSocket","EventTarget","trustEvent","barews","state","fakeEventSend","fakeev","CloseEvent","payload","Blob","ArrayBuffer","MessageEvent","ws","opts","nativeworker","postmessage","self1","ARGS","HEADERS","headers","sab","SharedArrayBuffer","now","performance","status","headersLength","headersab","bodyLength","bodyab","body","parser","DOMParser","header","match","re","RegExp","Worker","sourcemaps","maps","tag","scramtag_ident","stringified","newString","scramtagstart","firstspace","absindex","abstagindex","parseInt","scramtagend","j","str","start","end","getCtx","setCtx","workerpostmessage","sharedworkerpostmessage","MessagePort","call","conn","BareMuxConnection","port","createWrapFn","identifier","eval","current","test","lhs","op","rhs","locationProxy","severity","message","old","fmt","Math","COMMITHASH","VERSION","flag","regex","partialflags","BareClient","ScramjetHeaders","rewriteSrcset","rewriteHeaders","rewriteWorkers","CookieStore","SCRAMJETFRAME"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"scramjet.client.js","sources":["webpack://@mercuryworkshop/scramjet/./src/client/client.ts","webpack://@mercuryworkshop/scramjet/./src/client/document.ts","webpack://@mercuryworkshop/scramjet/./src/client/dom/attr.ts","webpack://@mercuryworkshop/scramjet/./src/client/dom/beacon.ts","webpack://@mercuryworkshop/scramjet/./src/client/dom/cookie.ts","webpack://@mercuryworkshop/scramjet/./src/client/dom/css.ts","webpack://@mercuryworkshop/scramjet/./src/client/dom/document.ts","webpack://@mercuryworkshop/scramjet/./src/client/dom/element.ts","webpack://@mercuryworkshop/scramjet/./src/client/dom/fontface.ts","webpack://@mercuryworkshop/scramjet/./src/client/dom/history.ts","webpack://@mercuryworkshop/scramjet/./src/client/dom/intersectionobserver.ts","webpack://@mercuryworkshop/scramjet/./src/client/dom/navigation.ts","webpack://@mercuryworkshop/scramjet/./src/client/dom/open.ts","webpack://@mercuryworkshop/scramjet/./src/client/dom/origin.ts","webpack://@mercuryworkshop/scramjet/./src/client/dom/performance.ts","webpack://@mercuryworkshop/scramjet/./src/client/dom/serviceworker.ts","webpack://@mercuryworkshop/scramjet/./src/client/dom/storage.ts","webpack://@mercuryworkshop/scramjet/./src/client/events.ts","webpack://@mercuryworkshop/scramjet/./src/client/global.ts","webpack://@mercuryworkshop/scramjet/./src/client/helpers.ts","webpack://@mercuryworkshop/scramjet/./src/client/index.ts","webpack://@mercuryworkshop/scramjet/./src/client/location.ts","webpack://@mercuryworkshop/scramjet/./src/client/natives.ts","webpack://@mercuryworkshop/scramjet/./src/client/shared/antiantidebugger.ts","webpack://@mercuryworkshop/scramjet/./src/client/shared/blob.ts","webpack://@mercuryworkshop/scramjet/./src/client/shared/caches.ts","webpack://@mercuryworkshop/scramjet/./src/client/shared/err.ts","webpack://@mercuryworkshop/scramjet/./src/client/shared/error.ts","webpack://@mercuryworkshop/scramjet/./src/client/shared/eval.ts","webpack://@mercuryworkshop/scramjet/./src/client/shared/event.ts","webpack://@mercuryworkshop/scramjet/./src/client/shared/function.ts","webpack://@mercuryworkshop/scramjet/./rewriter/wasm/out/wasm.js","webpack://@mercuryworkshop/scramjet/./rewriter/wasm/out/snippets/wasm-4b0f351a8e6eeb46/inline0.js","webpack://@mercuryworkshop/scramjet/./src/shared/rewriters/js.ts","webpack://@mercuryworkshop/scramjet/./src/shared/rewriters/url.ts","webpack://@mercuryworkshop/scramjet/./src/client/shared/import.ts","webpack://@mercuryworkshop/scramjet/./src/client/shared/indexeddb.ts","webpack://@mercuryworkshop/scramjet/./src/client/shared/postmessage.ts","webpack://@mercuryworkshop/scramjet/./src/client/shared/realm.ts","webpack://@mercuryworkshop/scramjet/./src/client/shared/requests/eventsource.ts","webpack://@mercuryworkshop/scramjet/./src/client/shared/requests/fetch.ts","webpack://@mercuryworkshop/scramjet/./src/client/shared/requests/websocket.ts","webpack://@mercuryworkshop/scramjet/./src/client/shared/requests/xmlhttprequest.ts","webpack://@mercuryworkshop/scramjet/./src/client/shared/sourcemaps.ts","webpack://@mercuryworkshop/scramjet/./src/client/shared/trustedTypes.ts","webpack://@mercuryworkshop/scramjet/./src/client/shared/unproxy.ts","webpack://@mercuryworkshop/scramjet/./src/client/shared/worker.ts","webpack://@mercuryworkshop/scramjet/./src/client/shared/wrap.ts","webpack://@mercuryworkshop/scramjet/./src/client/swruntime.ts","webpack://@mercuryworkshop/scramjet/./src/client/worker/importScripts.ts","webpack://@mercuryworkshop/scramjet/./src/log.ts","webpack://@mercuryworkshop/scramjet/./src/scramjet.ts","webpack://@mercuryworkshop/scramjet/./src/shared.ts","webpack://@mercuryworkshop/scramjet/./src/symbols.ts"],"sourcesContent":["import { iswindow } from \".\";\nimport { ScramjetFrame } from \"../controller/frame\";\nimport { SCRAMJETCLIENT, SCRAMJETFRAME } from \"../symbols\";\nimport { createDocumentProxy } from \"./document\";\nimport { createGlobalProxy } from \"./global\";\nimport { getOwnPropertyDescriptorHandler } from \"./helpers\";\nimport { createLocationProxy } from \"./location\";\nimport { nativeGetOwnPropertyDescriptor } from \"./natives\";\nimport {\n\tBareClient,\n\tCookieStore,\n\tconfig,\n\tunrewriteUrl,\n\trewriteUrl,\n} from \"../shared\";\nimport type { BareClient as BareClientType } from \"@mercuryworkshop/bare-mux\";\nimport { createWrapFn } from \"./shared/wrap\";\nimport { NavigateEvent } from \"./events\";\nimport type { URLMeta } from \"../shared/rewriters/url\";\n\ntype NativeStore = {\n\tstore: Record;\n\tcall: (target: string, that: any, ...args) => any;\n\tconstruct: (target: string, ...args) => any;\n};\ntype DescriptorStore = {\n\tstore: Record;\n\tget: (target: string, that: any) => any;\n\tset: (target: string, that: any, value: any) => void;\n};\n//eslint-disable-next-line\nexport type AnyFunction = Function;\n\nexport type ScramjetModule = {\n\tenabled: (client: ScramjetClient) => boolean | undefined;\n\tdisabled: (\n\t\tclient: ScramjetClient,\n\t\tself: typeof globalThis\n\t) => void | undefined;\n\torder: number | undefined;\n\tdefault: (client: ScramjetClient, self: typeof globalThis) => void;\n};\n\nexport type ProxyCtx = {\n\tfn: AnyFunction;\n\tthis: any;\n\targs: any[];\n\tnewTarget: AnyFunction;\n\treturn: (r: any) => void;\n\tcall: () => any;\n};\nexport type Proxy = {\n\tconstruct?(ctx: ProxyCtx): any;\n\tapply?(ctx: ProxyCtx): any;\n};\n\nexport type TrapCtx = {\n\tthis: any;\n\tget: () => T;\n\tset: (v: T) => void;\n};\nexport type Trap = {\n\twritable?: boolean;\n\tvalue?: any;\n\tenumerable?: boolean;\n\tconfigurable?: boolean;\n\tget?: (ctx: TrapCtx) => T;\n\tset?: (ctx: TrapCtx, v: T) => void;\n};\n\nexport class ScramjetClient {\n\tdocumentProxy: any;\n\tglobalProxy: any;\n\tlocationProxy: any;\n\tserviceWorker: ServiceWorkerContainer;\n\tbare: BareClientType;\n\n\tnatives: NativeStore;\n\tdescriptors: DescriptorStore;\n\twrapfn: (i: any, ...args: any) => any;\n\n\tcookieStore = new CookieStore();\n\n\teventcallbacks: Map<\n\t\tany,\n\t\t[\n\t\t\t{\n\t\t\t\tevent: string;\n\t\t\t\toriginalCallback: AnyFunction;\n\t\t\t\tproxiedCallback: AnyFunction;\n\t\t\t},\n\t\t]\n\t> = new Map();\n\n\tmeta: URLMeta;\n\n\tconstructor(public global: typeof globalThis) {\n\t\tif (SCRAMJETCLIENT in global) {\n\t\t\tconsole.error(\n\t\t\t\t\"attempted to initialize a scramjet cl ient, but one is already loaded - this is very bad\"\n\t\t\t);\n\t\t\tthrow new Error();\n\t\t}\n\n\t\tthis.serviceWorker = this.global.navigator.serviceWorker;\n\n\t\tif (iswindow) {\n\t\t\tthis.documentProxy = createDocumentProxy(this, global);\n\n\t\t\tglobal.document[SCRAMJETCLIENT] = this;\n\t\t}\n\n\t\tthis.locationProxy = createLocationProxy(this, global);\n\t\tthis.globalProxy = createGlobalProxy(this, global);\n\t\tthis.wrapfn = createWrapFn(this, global);\n\t\tif (iswindow) {\n\t\t\tthis.bare = new BareClient();\n\t\t} else {\n\t\t\tthis.bare = new BareClient(\n\t\t\t\tnew Promise((resolve) => {\n\t\t\t\t\taddEventListener(\"message\", ({ data }) => {\n\t\t\t\t\t\tif (typeof data !== \"object\") return;\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\"$scramjet$type\" in data &&\n\t\t\t\t\t\t\tdata.$scramjet$type === \"baremuxinit\"\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tresolve(data.port);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\t\tthis.natives = {\n\t\t\tstore: new Proxy(\n\t\t\t\t{},\n\t\t\t\t{\n\t\t\t\t\tget: (target, prop: string) => {\n\t\t\t\t\t\tif (prop in target) {\n\t\t\t\t\t\t\treturn target[prop];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst split = prop.split(\".\");\n\t\t\t\t\t\tconst realProp = split.pop();\n\t\t\t\t\t\tconst realTarget = split.reduce((a, b) => a?.[b], this.global);\n\n\t\t\t\t\t\tif (!realTarget) return;\n\n\t\t\t\t\t\tconst original = Reflect.get(realTarget, realProp);\n\t\t\t\t\t\ttarget[prop] = original;\n\n\t\t\t\t\t\treturn target[prop];\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t),\n\t\t\tconstruct(target: string, ...args) {\n\t\t\t\tconst original = this.store[target];\n\t\t\t\tif (!original) return;\n\n\t\t\t\treturn new original(...args);\n\t\t\t},\n\t\t\tcall(target: string, that: any, ...args) {\n\t\t\t\tconst original = this.store[target];\n\t\t\t\tif (!original) return;\n\n\t\t\t\treturn original.call(that, ...args);\n\t\t\t},\n\t\t};\n\t\tthis.descriptors = {\n\t\t\tstore: new Proxy(\n\t\t\t\t{},\n\t\t\t\t{\n\t\t\t\t\tget: (target, prop: string) => {\n\t\t\t\t\t\tif (prop in target) {\n\t\t\t\t\t\t\treturn target[prop];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst split = prop.split(\".\");\n\t\t\t\t\t\tconst realProp = split.pop();\n\t\t\t\t\t\tconst realTarget = split.reduce((a, b) => a?.[b], this.global);\n\n\t\t\t\t\t\tif (!realTarget) return;\n\n\t\t\t\t\t\tconst original = nativeGetOwnPropertyDescriptor(\n\t\t\t\t\t\t\trealTarget,\n\t\t\t\t\t\t\trealProp\n\t\t\t\t\t\t);\n\t\t\t\t\t\ttarget[prop] = original;\n\n\t\t\t\t\t\treturn target[prop];\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t),\n\t\t\tget(target: string, that: any) {\n\t\t\t\tconst original = this.store[target];\n\t\t\t\tif (!original) return;\n\n\t\t\t\treturn original.get.call(that);\n\t\t\t},\n\t\t\tset(target: string, that: any, value: any) {\n\t\t\t\tconst original = this.store[target];\n\t\t\t\tif (!original) return;\n\n\t\t\t\toriginal.set.call(that, value);\n\t\t\t},\n\t\t};\n\t\t// eslint-disable-next-line @typescript-eslint/no-this-alias\n\t\tconst client = this;\n\t\tthis.meta = {\n\t\t\tget origin() {\n\t\t\t\treturn client.url;\n\t\t\t},\n\t\t\tget base() {\n\t\t\t\tif (iswindow) {\n\t\t\t\t\tconst base = client.global.document.querySelector(\"base\");\n\t\t\t\t\tif (base) {\n\t\t\t\t\t\tlet url = base.getAttribute(\"href\");\n\t\t\t\t\t\tconst frag = url.indexOf(\"#\");\n\t\t\t\t\t\turl = url.substring(0, frag === -1 ? undefined : frag);\n\t\t\t\t\t\tif (!url) return client.url;\n\n\t\t\t\t\t\treturn new URL(url, client.url.origin);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn client.url;\n\t\t\t},\n\t\t};\n\n\t\tglobal[SCRAMJETCLIENT] = this;\n\t}\n\n\tget frame(): ScramjetFrame | null {\n\t\tif (!iswindow) return null;\n\t\tconst frame = this.descriptors[\"window.frameElement\"]\n\t\t\t? this.descriptors[\"window.frameElement\"].get.call(this.global)\n\t\t\t: this.global.window.frameElement;\n\n\t\tif (!frame) return null; // we're top level\n\t\tconst sframe = frame[SCRAMJETFRAME];\n\n\t\tif (!sframe) {\n\t\t\t// we're in a subframe, recurse upward until we find one\n\t\t\tlet currentwin = this.global.window;\n\t\t\twhile (currentwin.parent != currentwin) {\n\t\t\t\tif (!currentwin.frameElement) return null; // ??\n\t\t\t\tif (currentwin.frameElement && currentwin.frameElement[SCRAMJETFRAME]) {\n\t\t\t\t\treturn currentwin.frameElement[SCRAMJETFRAME];\n\t\t\t\t}\n\t\t\t\tcurrentwin = currentwin.parent.window;\n\t\t\t}\n\t\t}\n\n\t\treturn sframe;\n\t}\n\n\tloadcookies(cookiestr: string) {\n\t\tthis.cookieStore.load(cookiestr);\n\t}\n\n\thook() {\n\t\t// @ts-ignore\n\t\tconst context = import.meta.webpackContext(\".\", {\n\t\t\trecursive: true,\n\t\t});\n\n\t\tconst modules: ScramjetModule[] = [];\n\n\t\tfor (const key of context.keys()) {\n\t\t\tconst module: ScramjetModule = context(key);\n\t\t\tif (!key.endsWith(\".ts\")) continue;\n\t\t\tif (\n\t\t\t\t(key.startsWith(\"./dom/\") && \"window\" in this.global) ||\n\t\t\t\t(key.startsWith(\"./worker/\") && \"WorkerGlobalScope\" in this.global) ||\n\t\t\t\tkey.startsWith(\"./shared/\")\n\t\t\t) {\n\t\t\t\tmodules.push(module);\n\t\t\t}\n\t\t}\n\n\t\tmodules.sort((a, b) => {\n\t\t\tconst aorder = a.order || 0;\n\t\t\tconst border = b.order || 0;\n\n\t\t\treturn aorder - border;\n\t\t});\n\n\t\tfor (const module of modules) {\n\t\t\tif (!module.enabled || module.enabled(this))\n\t\t\t\tmodule.default(this, this.global);\n\t\t\telse if (module.disabled) module.disabled(this, this.global);\n\t\t}\n\t}\n\n\tget url(): URL {\n\t\treturn new URL(unrewriteUrl(this.global.location.href));\n\t}\n\n\tset url(url: URL | string) {\n\t\tif (url instanceof URL) url = url.toString();\n\n\t\tconst ev = new NavigateEvent(url);\n\t\tif (this.frame) {\n\t\t\tthis.frame.dispatchEvent(ev);\n\t\t}\n\t\tif (ev.defaultPrevented) return;\n\n\t\tthis.global.location.href = rewriteUrl(ev.url, this.meta);\n\t}\n\n\t// below are the utilities for proxying and trapping dom APIs\n\t// you don't have to understand this it just makes the rest easier\n\t// i'll document it eventually\n\n\tProxy(name: string | string[], handler: Proxy) {\n\t\tif (Array.isArray(name)) {\n\t\t\tfor (const n of name) {\n\t\t\t\tthis.Proxy(n, handler);\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tconst split = name.split(\".\");\n\t\tconst prop = split.pop();\n\t\tconst target = split.reduce((a, b) => a?.[b], this.global);\n\t\tif (!target) return;\n\n\t\tconst original = Reflect.get(target, prop);\n\t\tthis.natives.store[name] = original;\n\n\t\tthis.RawProxy(target, prop, handler);\n\t}\n\tRawProxy(target: any, prop: string, handler: Proxy) {\n\t\tif (!target) return;\n\t\tif (!prop) return;\n\t\tif (!Reflect.has(target, prop)) return;\n\n\t\tconst value = Reflect.get(target, prop);\n\t\tdelete target[prop];\n\n\t\tconst h: ProxyHandler = {};\n\n\t\tif (handler.construct) {\n\t\t\th.construct = function (\n\t\t\t\tconstructor: any,\n\t\t\t\targArray: any[],\n\t\t\t\tnewTarget: AnyFunction\n\t\t\t) {\n\t\t\t\tlet returnValue: any = undefined;\n\t\t\t\tlet earlyreturn = false;\n\n\t\t\t\tconst ctx: ProxyCtx = {\n\t\t\t\t\tfn: constructor,\n\t\t\t\t\tthis: null,\n\t\t\t\t\targs: argArray,\n\t\t\t\t\tnewTarget: newTarget,\n\t\t\t\t\treturn: (r: any) => {\n\t\t\t\t\t\tearlyreturn = true;\n\t\t\t\t\t\treturnValue = r;\n\t\t\t\t\t},\n\t\t\t\t\tcall: () => {\n\t\t\t\t\t\tearlyreturn = true;\n\t\t\t\t\t\treturnValue = Reflect.construct(ctx.fn, ctx.args, ctx.newTarget);\n\n\t\t\t\t\t\treturn returnValue;\n\t\t\t\t\t},\n\t\t\t\t};\n\n\t\t\t\thandler.construct(ctx);\n\n\t\t\t\tif (earlyreturn) {\n\t\t\t\t\treturn returnValue;\n\t\t\t\t}\n\n\t\t\t\treturn Reflect.construct(ctx.fn, ctx.args, ctx.newTarget);\n\t\t\t};\n\t\t}\n\n\t\tif (handler.apply) {\n\t\t\th.apply = function (fn: any, thisArg: any, argArray: any[]) {\n\t\t\t\tlet returnValue: any = undefined;\n\t\t\t\tlet earlyreturn = false;\n\n\t\t\t\tconst ctx: ProxyCtx = {\n\t\t\t\t\tfn,\n\t\t\t\t\tthis: thisArg,\n\t\t\t\t\targs: argArray,\n\t\t\t\t\tnewTarget: null,\n\t\t\t\t\treturn: (r: any) => {\n\t\t\t\t\t\tearlyreturn = true;\n\t\t\t\t\t\treturnValue = r;\n\t\t\t\t\t},\n\t\t\t\t\tcall: () => {\n\t\t\t\t\t\tearlyreturn = true;\n\t\t\t\t\t\treturnValue = Reflect.apply(ctx.fn, ctx.this, ctx.args);\n\n\t\t\t\t\t\treturn returnValue;\n\t\t\t\t\t},\n\t\t\t\t};\n\n\t\t\t\tconst pst = Error.prepareStackTrace;\n\n\t\t\t\tError.prepareStackTrace = function (err, s) {\n\t\t\t\t\tif (\n\t\t\t\t\t\ts[0].getFileName() &&\n\t\t\t\t\t\t!s[0].getFileName().startsWith(location.origin + config.prefix)\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn { stack: err.stack };\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\ttry {\n\t\t\t\t\thandler.apply(ctx);\n\t\t\t\t} catch (err) {\n\t\t\t\t\tif (err instanceof Error) {\n\t\t\t\t\t\tif ((err.stack as any) instanceof Object) {\n\t\t\t\t\t\t\t//@ts-expect-error i'm not going to explain this\n\t\t\t\t\t\t\terr.stack = err.stack.stack;\n\t\t\t\t\t\t\tconsole.error(\"ERROR FROM SCRAMJET INTERNALS\", err);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthrow err;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthrow err;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tError.prepareStackTrace = pst;\n\n\t\t\t\tif (earlyreturn) {\n\t\t\t\t\treturn returnValue;\n\t\t\t\t}\n\n\t\t\t\treturn Reflect.apply(ctx.fn, ctx.this, ctx.args);\n\t\t\t};\n\t\t}\n\n\t\th.getOwnPropertyDescriptor = getOwnPropertyDescriptorHandler;\n\t\ttarget[prop] = new Proxy(value, h);\n\t}\n\tTrap(name: string | string[], descriptor: Trap): PropertyDescriptor {\n\t\tif (Array.isArray(name)) {\n\t\t\tfor (const n of name) {\n\t\t\t\tthis.Trap(n, descriptor);\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tconst split = name.split(\".\");\n\t\tconst prop = split.pop();\n\t\tconst target = split.reduce((a, b) => a?.[b], this.global);\n\t\tif (!target) return;\n\n\t\tconst original = nativeGetOwnPropertyDescriptor(target, prop);\n\t\tthis.descriptors.store[name] = original;\n\n\t\treturn this.RawTrap(target, prop, descriptor);\n\t}\n\tRawTrap(\n\t\ttarget: any,\n\t\tprop: string,\n\t\tdescriptor: Trap\n\t): PropertyDescriptor {\n\t\tif (!target) return;\n\t\tif (!prop) return;\n\t\tif (!Reflect.has(target, prop)) return;\n\n\t\tconst oldDescriptor = nativeGetOwnPropertyDescriptor(target, prop);\n\n\t\tconst ctx: TrapCtx = {\n\t\t\tthis: null,\n\t\t\tget: function () {\n\t\t\t\treturn oldDescriptor && oldDescriptor.get.call(this.this);\n\t\t\t},\n\t\t\tset: function (v: T) {\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-unused-expressions\n\t\t\t\toldDescriptor && oldDescriptor.set.call(this.this, v);\n\t\t\t},\n\t\t};\n\n\t\tdelete target[prop];\n\n\t\tconst desc: PropertyDescriptor = {};\n\n\t\tif (descriptor.get) {\n\t\t\tdesc.get = function () {\n\t\t\t\tctx.this = this;\n\n\t\t\t\treturn descriptor.get(ctx);\n\t\t\t};\n\t\t} else if (oldDescriptor?.get) {\n\t\t\tdesc.get = oldDescriptor.get;\n\t\t}\n\n\t\tif (descriptor.set) {\n\t\t\tdesc.set = function (v: T) {\n\t\t\t\tctx.this = this;\n\n\t\t\t\tdescriptor.set(ctx, v);\n\t\t\t};\n\t\t} else if (oldDescriptor?.set) {\n\t\t\tdesc.set = oldDescriptor.set;\n\t\t}\n\n\t\tif (descriptor.enumerable) desc.enumerable = descriptor.enumerable;\n\t\telse if (oldDescriptor?.enumerable)\n\t\t\tdesc.enumerable = oldDescriptor.enumerable;\n\t\tif (descriptor.configurable) desc.configurable = descriptor.configurable;\n\t\telse if (oldDescriptor?.configurable)\n\t\t\tdesc.configurable = oldDescriptor.configurable;\n\n\t\tObject.defineProperty(target, prop, desc);\n\n\t\treturn oldDescriptor;\n\t}\n}\n","import { rewriteUrl } from \"../shared\";\nimport { ScramjetClient } from \"./client\";\nimport { getOwnPropertyDescriptorHandler } from \"./helpers\";\n\nexport function createDocumentProxy(\n\tclient: ScramjetClient,\n\tself: typeof globalThis\n) {\n\treturn new Proxy(self.document, {\n\t\tget(target, prop) {\n\t\t\tif (prop === \"location\") {\n\t\t\t\treturn client.locationProxy;\n\t\t\t}\n\n\t\t\tif (prop === \"defaultView\") {\n\t\t\t\treturn client.globalProxy;\n\t\t\t}\n\n\t\t\tconst value = Reflect.get(target, prop);\n\n\t\t\treturn value;\n\t\t},\n\t\tset(target, prop, newValue) {\n\t\t\tif (prop === \"location\") {\n\t\t\t\tlocation.href = rewriteUrl(newValue, client.meta);\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\treturn Reflect.set(target, prop, newValue);\n\t\t},\n\t\tgetOwnPropertyDescriptor: getOwnPropertyDescriptorHandler,\n\t});\n}\n","import { ScramjetClient } from \"../client\";\n\nexport default function (client: ScramjetClient, _self: typeof window) {\n\tclient.Trap(\"Element.prototype.attributes\", {\n\t\tget(ctx) {\n\t\t\tconst map = ctx.get() as NamedNodeMap;\n\t\t\tconst proxy = new Proxy(map, {\n\t\t\t\tget(target, prop, _receiver) {\n\t\t\t\t\tconst value = Reflect.get(target, prop);\n\n\t\t\t\t\tif (prop === \"length\") {\n\t\t\t\t\t\treturn Object.keys(proxy).length;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (prop === \"getNamedItem\") {\n\t\t\t\t\t\treturn (name: string) => proxy[name];\n\t\t\t\t\t}\n\t\t\t\t\tif (prop === \"getNamedItemNS\") {\n\t\t\t\t\t\treturn (namespace: string, name: string) =>\n\t\t\t\t\t\t\tproxy[`${namespace}:${name}`];\n\t\t\t\t\t}\n\n\t\t\t\t\tif (prop in NamedNodeMap.prototype && typeof value === \"function\") {\n\t\t\t\t\t\treturn new Proxy(value, {\n\t\t\t\t\t\t\tapply(target, thisArg, argArray) {\n\t\t\t\t\t\t\t\tif (thisArg === proxy) {\n\t\t\t\t\t\t\t\t\treturn Reflect.apply(target, map, argArray);\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\treturn Reflect.apply(target, thisArg, argArray);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\tif (\n\t\t\t\t\t\t(typeof prop === \"string\" || typeof prop === \"number\") &&\n\t\t\t\t\t\t!isNaN(Number(prop))\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst position = Object.keys(proxy)[prop];\n\n\t\t\t\t\t\treturn map[position];\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!this.has(target, prop)) return undefined;\n\n\t\t\t\t\treturn value;\n\t\t\t\t},\n\t\t\t\townKeys(target) {\n\t\t\t\t\tconst keys = Reflect.ownKeys(target);\n\n\t\t\t\t\treturn keys.filter((key) => this.has(target, key));\n\t\t\t\t},\n\t\t\t\thas(target, prop) {\n\t\t\t\t\tif (typeof prop === \"symbol\") return Reflect.has(target, prop);\n\t\t\t\t\tif (prop.startsWith(\"scramjet-attr-\")) return false;\n\t\t\t\t\tif (map[prop]?.name?.startsWith(\"scramjet-attr-\")) return false;\n\n\t\t\t\t\treturn Reflect.has(target, prop);\n\t\t\t\t},\n\t\t\t});\n\n\t\t\treturn proxy;\n\t\t},\n\t});\n\n\tclient.Trap(\"Attr.prototype.value\", {\n\t\tget(ctx) {\n\t\t\tif (ctx.this?.ownerElement) {\n\t\t\t\treturn ctx.this.ownerElement.getAttribute(ctx.this.name);\n\t\t\t}\n\n\t\t\treturn ctx.get();\n\t\t},\n\t\tset(ctx, value) {\n\t\t\tif (ctx.this?.ownerElement) {\n\t\t\t\treturn ctx.this.ownerElement.setAttribute(ctx.this.name, value);\n\t\t\t}\n\n\t\t\treturn ctx.set(value);\n\t\t},\n\t});\n}\n","import { rewriteUrl } from \"../../shared\";\nimport { ScramjetClient } from \"../client\";\n\nexport default function (client: ScramjetClient, _self: Self) {\n\tclient.Proxy(\"Navigator.prototype.sendBeacon\", {\n\t\tapply(ctx) {\n\t\t\tctx.args[0] = rewriteUrl(ctx.args[0], client.meta);\n\t\t},\n\t});\n}\n","import { ScramjetClient } from \"../client\";\n\nexport default function (client: ScramjetClient, self: typeof window) {\n\tclient.serviceWorker.addEventListener(\"message\", ({ data }) => {\n\t\tif (!(\"scramjet$type\" in data)) return;\n\n\t\tif (data.scramjet$type === \"cookie\") {\n\t\t\tclient.cookieStore.setCookies([data.cookie], new URL(data.url));\n\t\t}\n\t});\n\n\tclient.Trap(\"Document.prototype.cookie\", {\n\t\tget() {\n\t\t\treturn client.cookieStore.getCookies(client.url, true);\n\t\t},\n\t\tset(ctx, value: string) {\n\t\t\tclient.cookieStore.setCookies([value], client.url);\n\t\t\tconst controller = client.descriptors.get(\n\t\t\t\t\"ServiceWorkerContainer.prototype.controller\",\n\t\t\t\tclient.serviceWorker\n\t\t\t);\n\t\t\tif (controller) {\n\t\t\t\tclient.natives.call(\"ServiceWorker.prototype.postMessage\", controller, {\n\t\t\t\t\tscramjet$type: \"cookie\",\n\t\t\t\t\tcookie: value,\n\t\t\t\t\turl: client.url.href,\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t});\n\n\t// @ts-ignore\n\tdelete self.cookieStore;\n}\n","import { ScramjetClient } from \"../client\";\nimport { rewriteCss, unrewriteCss } from \"../../shared\";\n\nexport default function (client: ScramjetClient) {\n\tclient.Proxy(\"CSSStyleDeclaration.prototype.setProperty\", {\n\t\tapply(ctx) {\n\t\t\tif (!ctx.args[1]) return;\n\t\t\tctx.args[1] = rewriteCss(ctx.args[1], client.meta);\n\t\t},\n\t});\n\n\tclient.Proxy(\"CSSStyleDeclaration.prototype.getPropertyValue\", {\n\t\tapply(ctx) {\n\t\t\tconst v = ctx.call();\n\t\t\tif (!v) return v;\n\t\t\tctx.return(unrewriteCss(v));\n\t\t},\n\t});\n\n\tclient.Trap(\"CSSStyleDeclaration.prototype.cssText\", {\n\t\tset(ctx, value: string) {\n\t\t\tctx.set(rewriteCss(value, client.meta));\n\t\t},\n\t\tget(ctx) {\n\t\t\treturn unrewriteCss(ctx.get());\n\t\t},\n\t});\n\n\tclient.Trap(\"HTMLElement.prototype.style\", {\n\t\tget(ctx) {\n\t\t\t// unfortunate and dumb hack. we have to trap every property of this\n\t\t\t// since the prototype chain is fucked\n\n\t\t\tconst style = ctx.get() as CSSStyleDeclaration;\n\n\t\t\treturn new Proxy(style, {\n\t\t\t\tget(t, p) {\n\t\t\t\t\tconst v = Reflect.get(t, p);\n\n\t\t\t\t\tif (typeof v === \"function\") {\n\t\t\t\t\t\treturn new Proxy(v, {\n\t\t\t\t\t\t\tapply(target, thisArg, argArray) {\n\t\t\t\t\t\t\t\treturn Reflect.apply(target, style, argArray);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\tif (p in CSSStyleDeclaration.prototype) return v;\n\t\t\t\t\tif (!v) return v;\n\n\t\t\t\t\treturn unrewriteCss(v);\n\t\t\t\t},\n\t\t\t\tset(t, p, v) {\n\t\t\t\t\tif (p == \"cssText\" || v == \"\" || typeof v !== \"string\") {\n\t\t\t\t\t\treturn Reflect.set(t, p, v);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn Reflect.set(t, p, rewriteCss(v, client.meta));\n\t\t\t\t},\n\t\t\t});\n\t\t},\n\t\tset(ctx, v: string) {\n\t\t\t// this will actually run the trap for cssText. don't rewrite it here\n\t\t\tctx.set(v);\n\t\t},\n\t});\n}\n","import { rewriteHtml } from \"../../shared\";\nimport { ScramjetClient } from \"../client\";\n\nexport default function (client: ScramjetClient, _self: Self) {\n\tclient.Proxy(\"Document.prototype.write\", {\n\t\tapply(ctx) {\n\t\t\tif (ctx.args[0])\n\t\t\t\ttry {\n\t\t\t\t\tctx.args[0] = rewriteHtml(\n\t\t\t\t\t\tctx.args[0],\n\t\t\t\t\t\tclient.cookieStore,\n\t\t\t\t\t\tclient.meta,\n\t\t\t\t\t\tfalse\n\t\t\t\t\t);\n\t\t\t\t} catch {}\n\t\t},\n\t});\n\n\tclient.Proxy(\"Document.prototype.writeln\", {\n\t\tapply(ctx) {\n\t\t\tif (ctx.args[0])\n\t\t\t\ttry {\n\t\t\t\t\tctx.args[0] = rewriteHtml(\n\t\t\t\t\t\tctx.args[0],\n\t\t\t\t\t\tclient.cookieStore,\n\t\t\t\t\t\tclient.meta,\n\t\t\t\t\t\tfalse\n\t\t\t\t\t);\n\t\t\t\t} catch {}\n\t\t},\n\t});\n}\n","import { SCRAMJETCLIENT } from \"../../symbols\";\nimport { ScramjetClient } from \"../client\";\nimport { nativeGetOwnPropertyDescriptor } from \"../natives\";\nimport { unrewriteUrl, htmlRules, unrewriteHtml } from \"../../shared\";\nimport { rewriteCss, rewriteHtml, rewriteJs } from \"../../shared\";\n\nconst encoder = new TextEncoder();\nfunction bytesToBase64(bytes: Uint8Array) {\n\tconst binString = Array.from(bytes, (byte) =>\n\t\tString.fromCodePoint(byte)\n\t).join(\"\");\n\n\treturn btoa(binString);\n}\nexport default function (client: ScramjetClient, self: typeof window) {\n\tconst attrObject = {\n\t\tnonce: [self.HTMLElement],\n\t\tintegrity: [self.HTMLScriptElement, self.HTMLLinkElement],\n\t\tcsp: [self.HTMLIFrameElement],\n\t\tcredentialless: [self.HTMLIFrameElement],\n\t\tsrc: [\n\t\t\tself.HTMLImageElement,\n\t\t\tself.HTMLMediaElement,\n\t\t\tself.HTMLIFrameElement,\n\t\t\tself.HTMLFrameElement,\n\t\t\tself.HTMLEmbedElement,\n\t\t\tself.HTMLScriptElement,\n\t\t\tself.HTMLSourceElement,\n\t\t],\n\t\thref: [\n\t\t\tself.HTMLAnchorElement,\n\t\t\tself.HTMLLinkElement,\n\t\t\tself.SVGUseElement,\n\t\t\tself.SVGImageElement,\n\t\t],\n\t\tdata: [self.HTMLObjectElement],\n\t\taction: [self.HTMLFormElement],\n\t\tformaction: [self.HTMLButtonElement, self.HTMLInputElement],\n\t\tsrcdoc: [self.HTMLIFrameElement],\n\t\tsrcset: [self.HTMLImageElement, self.HTMLSourceElement],\n\t\tposter: [self.HTMLVideoElement],\n\t\timagesrcset: [self.HTMLLinkElement],\n\t};\n\n\tconst urlinterfaces = [\n\t\tself.HTMLAnchorElement.prototype,\n\t\tself.HTMLAreaElement.prototype,\n\t];\n\tconst originalhrefs = [\n\t\tnativeGetOwnPropertyDescriptor(self.HTMLAnchorElement.prototype, \"href\"),\n\t\tnativeGetOwnPropertyDescriptor(self.HTMLAreaElement.prototype, \"href\"),\n\t];\n\n\tconst attrs = Object.keys(attrObject);\n\n\tfor (const attr of attrs) {\n\t\tfor (const element of attrObject[attr]) {\n\t\t\tconst descriptor = nativeGetOwnPropertyDescriptor(\n\t\t\t\telement.prototype,\n\t\t\t\tattr\n\t\t\t);\n\t\t\tObject.defineProperty(element.prototype, attr, {\n\t\t\t\tget() {\n\t\t\t\t\tif ([\"src\", \"data\", \"href\", \"action\", \"formaction\"].includes(attr)) {\n\t\t\t\t\t\treturn unrewriteUrl(descriptor.get.call(this));\n\t\t\t\t\t}\n\n\t\t\t\t\treturn descriptor.get.call(this);\n\t\t\t\t},\n\n\t\t\t\tset(value) {\n\t\t\t\t\treturn this.setAttribute(attr, value);\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t}\n\n\t// note that href is not here\n\tconst urlprops = [\n\t\t\"protocol\",\n\t\t\"hash\",\n\t\t\"host\",\n\t\t\"hostname\",\n\t\t\"origin\",\n\t\t\"pathname\",\n\t\t\"port\",\n\t\t\"search\",\n\t];\n\tfor (const prop of urlprops) {\n\t\tfor (const i in urlinterfaces) {\n\t\t\tconst target = urlinterfaces[i];\n\t\t\tconst desc = originalhrefs[i];\n\t\t\tclient.RawTrap(target, prop, {\n\t\t\t\tget(ctx) {\n\t\t\t\t\tconst href = desc.get.call(ctx.this);\n\t\t\t\t\tif (!href) return href;\n\n\t\t\t\t\tconst url = new URL(unrewriteUrl(href));\n\n\t\t\t\t\treturn url[prop];\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t}\n\n\tclient.Trap(\"Node.prototype.baseURI\", {\n\t\tget() {\n\t\t\t// TODO this should be using ownerdocument but who gaf\n\t\t\tconst base = self.document.querySelector(\"base\");\n\t\t\tif (base) {\n\t\t\t\treturn new URL(base.href, client.url.origin).href;\n\t\t\t}\n\n\t\t\treturn client.url.origin;\n\t\t},\n\t\tset() {\n\t\t\treturn false;\n\t\t},\n\t});\n\n\tclient.Proxy(\"Element.prototype.getAttribute\", {\n\t\tapply(ctx) {\n\t\t\tconst [name] = ctx.args;\n\n\t\t\tif (name.startsWith(\"scramjet-attr\")) {\n\t\t\t\treturn ctx.return(null);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tclient.natives.call(\n\t\t\t\t\t\"Element.prototype.hasAttribute\",\n\t\t\t\t\tctx.this,\n\t\t\t\t\t`scramjet-attr-${name}`\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tconst attrib = ctx.fn.call(ctx.this, `scramjet-attr-${name}`);\n\t\t\t\tif (attrib === null) return ctx.return(\"\");\n\n\t\t\t\treturn ctx.return(attrib);\n\t\t\t}\n\t\t},\n\t});\n\n\tclient.Proxy(\"Element.prototype.getAttributeNames\", {\n\t\tapply(ctx) {\n\t\t\tconst attrNames = ctx.call() as string[];\n\t\t\tconst cleaned = attrNames.filter(\n\t\t\t\t(attr) => !attr.startsWith(\"scramjet-attr\")\n\t\t\t);\n\n\t\t\tctx.return(cleaned);\n\t\t},\n\t});\n\n\tclient.Proxy(\"Element.prototype.getAttributeNode\", {\n\t\tapply(ctx) {\n\t\t\tif (ctx.args[0].startsWith(\"scramjet-attr\")) return ctx.return(null);\n\t\t},\n\t});\n\n\tclient.Proxy(\"Element.prototype.hasAttribute\", {\n\t\tapply(ctx) {\n\t\t\tif (ctx.args[0].startsWith(\"scramjet-attr\")) return ctx.return(false);\n\t\t},\n\t});\n\n\tclient.Proxy(\"Element.prototype.setAttribute\", {\n\t\tapply(ctx) {\n\t\t\tconst [name, value] = ctx.args;\n\n\t\t\tconst ruleList = htmlRules.find((rule) => {\n\t\t\t\tconst r = rule[name.toLowerCase()];\n\t\t\t\tif (!r) return false;\n\t\t\t\tif (r === \"*\") return true;\n\t\t\t\tif (typeof r === \"function\") return false; // this can't happen but ts\n\n\t\t\t\treturn r.includes(ctx.this.tagName.toLowerCase());\n\t\t\t});\n\n\t\t\tif (ruleList) {\n\t\t\t\tctx.args[1] = ruleList.fn(value, client.meta, client.cookieStore);\n\t\t\t\tctx.fn.call(ctx.this, `scramjet-attr-${ctx.args[0]}`, value);\n\t\t\t}\n\t\t},\n\t});\n\n\t// i actually need to do something with this\n\tclient.Proxy(\"Element.prototype.setAttributeNode\", {\n\t\tapply(_ctx) {},\n\t});\n\n\tclient.Proxy(\"Element.prototype.setAttributeNS\", {\n\t\tapply(ctx) {\n\t\t\tconst [_namespace, name, value] = ctx.args;\n\n\t\t\tconst ruleList = htmlRules.find((rule) => {\n\t\t\t\tconst r = rule[name.toLowerCase()];\n\t\t\t\tif (!r) return false;\n\t\t\t\tif (r === \"*\") return true;\n\t\t\t\tif (typeof r === \"function\") return false; // this can't happen but ts\n\n\t\t\t\treturn r.includes(ctx.this.tagName.toLowerCase());\n\t\t\t});\n\n\t\t\tif (ruleList) {\n\t\t\t\tctx.args[2] = ruleList.fn(value, client.meta, client.cookieStore);\n\t\t\t\tclient.natives.call(\n\t\t\t\t\t\"Element.prototype.setAttribute\",\n\t\t\t\t\tctx.this,\n\t\t\t\t\t`scramjet-attr-${ctx.args[1]}`,\n\t\t\t\t\tvalue\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t});\n\n\tclient.Proxy(\"Element.prototype.removeAttribute\", {\n\t\tapply(ctx) {\n\t\t\tif (ctx.args[0].startsWith(\"scramjet-attr\")) return ctx.return(undefined);\n\t\t\tif (\n\t\t\t\tclient.natives.call(\n\t\t\t\t\t\"Element.prototype.hasAttribute\",\n\t\t\t\t\tctx.this,\n\t\t\t\t\tctx.args[0]\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tctx.fn.call(ctx.this, `scramjet-attr-${ctx.args[0]}`);\n\t\t\t}\n\t\t},\n\t});\n\n\tclient.Proxy(\"Element.prototype.toggleAttribute\", {\n\t\tapply(ctx) {\n\t\t\tif (ctx.args[0].startsWith(\"scramjet-attr\")) return ctx.return(false);\n\t\t\tif (\n\t\t\t\tclient.natives.call(\n\t\t\t\t\t\"Element.prototype.hasAttribute\",\n\t\t\t\t\tctx.this,\n\t\t\t\t\tctx.args[0]\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tctx.fn.call(ctx.this, `scramjet-attr-${ctx.args[0]}`);\n\t\t\t}\n\t\t},\n\t});\n\n\tclient.Trap(\"Element.prototype.innerHTML\", {\n\t\tset(ctx, value: string) {\n\t\t\tlet newval;\n\t\t\tif (ctx.this instanceof self.HTMLScriptElement) {\n\t\t\t\tnewval = rewriteJs(value, \"(anonymous script element)\", client.meta);\n\t\t\t\tclient.natives.call(\n\t\t\t\t\t\"Element.prototype.setAttribute\",\n\t\t\t\t\tctx.this,\n\t\t\t\t\t\"scramjet-attr-script-source-src\",\n\t\t\t\t\tbytesToBase64(encoder.encode(newval))\n\t\t\t\t);\n\t\t\t} else if (ctx.this instanceof self.HTMLStyleElement) {\n\t\t\t\tnewval = rewriteCss(value, client.meta);\n\t\t\t} else {\n\t\t\t\ttry {\n\t\t\t\t\tnewval = rewriteHtml(value, client.cookieStore, client.meta);\n\t\t\t\t} catch {\n\t\t\t\t\tnewval = value;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tctx.set(newval);\n\t\t},\n\t\tget(ctx) {\n\t\t\tif (ctx.this instanceof self.HTMLScriptElement) {\n\t\t\t\tconst scriptSource = client.natives.call(\n\t\t\t\t\t\"Element.prototype.getAttribute\",\n\t\t\t\t\tctx.this,\n\t\t\t\t\t\"scramjet-attr-script-source-src\"\n\t\t\t\t);\n\n\t\t\t\tif (scriptSource) {\n\t\t\t\t\treturn atob(scriptSource);\n\t\t\t\t}\n\n\t\t\t\treturn ctx.get();\n\t\t\t}\n\t\t\tif (ctx.this instanceof self.HTMLStyleElement) {\n\t\t\t\treturn ctx.get();\n\t\t\t}\n\n\t\t\treturn unrewriteHtml(ctx.get());\n\t\t},\n\t});\n\n\tclient.Trap(\"Element.prototype.outerHTML\", {\n\t\tset(ctx, value: string) {\n\t\t\tctx.set(rewriteHtml(value, client.cookieStore, client.meta));\n\t\t},\n\t\tget(ctx) {\n\t\t\treturn unrewriteHtml(ctx.get());\n\t\t},\n\t});\n\n\tclient.Proxy(\"Element.prototype.setHTMLUnsafe\", {\n\t\tapply(ctx) {\n\t\t\ttry {\n\t\t\t\tctx.args[0] = rewriteHtml(\n\t\t\t\t\tctx.args[0],\n\t\t\t\t\tclient.cookieStore,\n\t\t\t\t\tclient.meta,\n\t\t\t\t\tfalse\n\t\t\t\t);\n\t\t\t} catch {}\n\t\t},\n\t});\n\n\tclient.Proxy(\"Element.prototype.getHTML\", {\n\t\tapply(ctx) {\n\t\t\tctx.return(unrewriteHtml(ctx.call()));\n\t\t},\n\t});\n\n\tclient.Proxy(\"Element.prototype.insertAdjacentHTML\", {\n\t\tapply(ctx) {\n\t\t\tif (ctx.args[1])\n\t\t\t\ttry {\n\t\t\t\t\tctx.args[1] = rewriteHtml(\n\t\t\t\t\t\tctx.args[1],\n\t\t\t\t\t\tclient.cookieStore,\n\t\t\t\t\t\tclient.meta,\n\t\t\t\t\t\tfalse\n\t\t\t\t\t);\n\t\t\t\t} catch {}\n\t\t},\n\t});\n\n\tclient.Trap(\n\t\t[\n\t\t\t\"HTMLIFrameElement.prototype.contentWindow\",\n\t\t\t\"HTMLFrameElement.prototype.contentWindow\",\n\t\t\t\"HTMLObjectElement.prototype.contentWindow\",\n\t\t\t\"HTMLEmbedElement.prototype.contentWindow\",\n\t\t],\n\t\t{\n\t\t\tget(ctx) {\n\t\t\t\tconst realwin = ctx.get() as Window;\n\t\t\t\tif (!realwin) return realwin;\n\n\t\t\t\tif (SCRAMJETCLIENT in realwin) {\n\t\t\t\t\treturn realwin[SCRAMJETCLIENT].globalProxy;\n\t\t\t\t} else {\n\t\t\t\t\t// hook the iframe\n\t\t\t\t\tconst newclient = new ScramjetClient(realwin);\n\t\t\t\t\tnewclient.hook();\n\n\t\t\t\t\treturn newclient.globalProxy;\n\t\t\t\t}\n\t\t\t},\n\t\t}\n\t);\n\n\tclient.Trap(\n\t\t[\n\t\t\t\"HTMLIFrameElement.prototype.contentDocument\",\n\t\t\t\"HTMLFrameElement.prototype.contentDocument\",\n\t\t\t\"HTMLObjectElement.prototype.contentDocument\",\n\t\t\t\"HTMLEmbedElement.prototype.contentDocument\",\n\t\t],\n\t\t{\n\t\t\tget(ctx) {\n\t\t\t\tconst realwin = client.descriptors.get(\n\t\t\t\t\t`${ctx.this.constructor.name}.prototype.contentWindow`,\n\t\t\t\t\tctx.this\n\t\t\t\t);\n\t\t\t\tif (!realwin) return realwin;\n\n\t\t\t\tif (SCRAMJETCLIENT in realwin) {\n\t\t\t\t\treturn realwin[SCRAMJETCLIENT].documentProxy;\n\t\t\t\t} else {\n\t\t\t\t\tconst newclient = new ScramjetClient(realwin);\n\t\t\t\t\tnewclient.hook();\n\n\t\t\t\t\treturn newclient.documentProxy;\n\t\t\t\t}\n\t\t\t},\n\t\t}\n\t);\n\n\tclient.Proxy(\n\t\t[\n\t\t\t\"HTMLIFrameElement.prototype.getSVGDocument\",\n\t\t\t\"HTMLObjectElement.prototype.getSVGDocument\",\n\t\t\t\"HTMLEmbedElement.prototype.getSVGDocument\",\n\t\t],\n\t\t{\n\t\t\tapply(ctx) {\n\t\t\t\tconst doc = ctx.call();\n\t\t\t\tif (doc) {\n\t\t\t\t\treturn ctx.return(ctx.this.contentDocument);\n\t\t\t\t}\n\t\t\t},\n\t\t}\n\t);\n\n\tclient.Trap(\"TreeWalker.prototype.currentNode\", {\n\t\tget(ctx) {\n\t\t\treturn ctx.get();\n\t\t},\n\t\tset(ctx, value) {\n\t\t\tif (value === client.documentProxy) {\n\t\t\t\treturn ctx.set(self.document);\n\t\t\t}\n\n\t\t\treturn ctx.set(value);\n\t\t},\n\t});\n\n\tclient.Proxy(\"Document.prototype.open\", {\n\t\tapply(ctx) {\n\t\t\tconst doc = ctx.call() as Document;\n\n\t\t\tconst scram: ScramjetClient = doc[SCRAMJETCLIENT];\n\t\t\tif (!scram) return ctx.return(doc); // ??\n\n\t\t\treturn ctx.return(scram.documentProxy);\n\t\t},\n\t});\n\n\tclient.Trap(\"Node.prototype.ownerDocument\", {\n\t\tget(ctx) {\n\t\t\tconst doc = ctx.get() as Document | null;\n\t\t\tif (!doc) return null;\n\n\t\t\tconst scram: ScramjetClient = doc[SCRAMJETCLIENT];\n\t\t\tif (!scram) return doc; // ??\n\n\t\t\treturn scram.documentProxy;\n\t\t},\n\t});\n\n\tclient.Trap(\n\t\t[\n\t\t\t\"Node.prototype.parentNode\",\n\t\t\t\"Node.prototype.parentElement\",\n\t\t\t\"Node.prototype.previousSibling\",\n\t\t\t\"Node.prototype.nextSibling\",\n\t\t\t\"Range.prototype.commonAncestorContainer\",\n\t\t\t\"AbstractRange.prototype.endContainer\",\n\t\t\t\"AbstractRange.prototype.startContainer\",\n\t\t],\n\t\t{\n\t\t\tget(ctx) {\n\t\t\t\tconst n = ctx.get() as Node;\n\t\t\t\tif (!(n instanceof Document)) return n;\n\n\t\t\t\tconst scram: ScramjetClient = n[SCRAMJETCLIENT];\n\t\t\t\tif (!scram) return n; // ??\n\n\t\t\t\treturn scram.documentProxy;\n\t\t\t},\n\t\t}\n\t);\n\n\tclient.Proxy(\"Node.prototype.getRootNode\", {\n\t\tapply(ctx) {\n\t\t\tconst n = ctx.call() as Node;\n\t\t\tif (!(n instanceof Document)) return ctx.return(n);\n\n\t\t\tconst scram: ScramjetClient = n[SCRAMJETCLIENT];\n\t\t\tif (!scram) return ctx.return(n); // ??\n\n\t\t\treturn ctx.return(scram.documentProxy);\n\t\t},\n\t});\n\n\tclient.Proxy(\n\t\t[\n\t\t\t\"DOMParser.prototype.parseFromString\",\n\t\t\t\"Document.prototype.parseHTMLUnsafe\",\n\t\t],\n\t\t{\n\t\t\tapply(ctx) {\n\t\t\t\tif (ctx.args[1] === \"text/html\") {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tctx.args[0] = rewriteHtml(\n\t\t\t\t\t\t\tctx.args[0],\n\t\t\t\t\t\t\tclient.cookieStore,\n\t\t\t\t\t\t\tclient.meta,\n\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t);\n\t\t\t\t\t} catch {}\n\t\t\t\t}\n\t\t\t},\n\t\t}\n\t);\n}\n","import { ScramjetClient } from \"../client\";\nimport { rewriteCss } from \"../../shared\";\n\nexport default function (client: ScramjetClient, _self: Self) {\n\tclient.Proxy(\"FontFace\", {\n\t\tconstruct(ctx) {\n\t\t\tctx.args[1] = rewriteCss(ctx.args[1], client.meta);\n\t\t},\n\t});\n}\n","import { ScramjetClient } from \"../client\";\nimport { rewriteUrl } from \"../../shared\";\nimport { UrlChangeEvent } from \"../events\";\n\nexport default function (client: ScramjetClient, _self: Self) {\n\tclient.Proxy(\"History.prototype.pushState\", {\n\t\tapply(ctx) {\n\t\t\tif (ctx.args[2] || ctx.args[2] === \"\")\n\t\t\t\tctx.args[2] = rewriteUrl(ctx.args[2], client.meta);\n\t\t\tctx.call();\n\n\t\t\tconst ev = new UrlChangeEvent(client.url.href);\n\t\t\tif (client.frame) client.frame.dispatchEvent(ev);\n\t\t},\n\t});\n\n\tclient.Proxy(\"History.prototype.replaceState\", {\n\t\tapply(ctx) {\n\t\t\tif (ctx.args[2] || ctx.args[2] === \"\")\n\t\t\t\tctx.args[2] = rewriteUrl(ctx.args[2], client.meta);\n\t\t\tctx.call();\n\n\t\t\tconst ev = new UrlChangeEvent(client.url.href);\n\t\t\tif (client.frame) client.frame.dispatchEvent(ev);\n\t\t},\n\t});\n}\n","import { ScramjetClient } from \"../client\";\n\nexport default function (client: ScramjetClient) {\n\tclient.Proxy(\"IntersectionObserver\", {\n\t\tconstruct(ctx) {\n\t\t\t// Set to the real document\n\t\t\tif (ctx.args[1] && ctx.args[1].root) ctx.args[1].root = document;\n\t\t\tctx.call();\n\t\t},\n\t});\n}\n","export default function (client, self: Self) {\n\t// @ts-ignore\n\tdelete self.navigation;\n}\n","import { rewriteUrl } from \"../../shared\";\nimport { ScramjetClient } from \"../client\";\nimport { SCRAMJETCLIENT } from \"../../symbols\";\n\nexport default function (client: ScramjetClient) {\n\tclient.Proxy(\"window.open\", {\n\t\tapply(ctx) {\n\t\t\tif (ctx.args[0]) ctx.args[0] = rewriteUrl(ctx.args[0], client.meta);\n\n\t\t\tif ([\"_parent\", \"_top\", \"_unfencedTop\"].includes(ctx.args[1]))\n\t\t\t\tctx.args[1] = \"_self\";\n\n\t\t\tconst realwin = ctx.call();\n\n\t\t\tif (!realwin) return ctx.return(realwin);\n\n\t\t\tif (SCRAMJETCLIENT in realwin) {\n\t\t\t\treturn ctx.return(realwin[SCRAMJETCLIENT].globalProxy);\n\t\t\t} else {\n\t\t\t\tconst newclient = new ScramjetClient(realwin);\n\t\t\t\t// hook the opened window\n\t\t\t\tnewclient.hook();\n\n\t\t\t\treturn ctx.return(newclient.globalProxy);\n\t\t\t}\n\t\t},\n\t});\n\n\t// opener will refer to the real window if it was opened by window.open\n\tclient.Trap(\"opener\", {\n\t\tget(ctx) {\n\t\t\tconst realwin = ctx.get() as Window;\n\n\t\t\tif (realwin && SCRAMJETCLIENT in realwin) {\n\t\t\t\treturn realwin[SCRAMJETCLIENT].globalProxy;\n\t\t\t} else {\n\t\t\t\t// the opener has to have been already hooked, so if we reach here then it's a real window\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t},\n\t});\n\n\tclient.Trap(\"window.frameElement\", {\n\t\tget(ctx) {\n\t\t\tconst f = ctx.get() as HTMLIFrameElement | null;\n\t\t\tif (!f) return f;\n\n\t\t\tconst win = f.ownerDocument.defaultView;\n\t\t\tif (win[SCRAMJETCLIENT]) {\n\t\t\t\t// then this is a subframe in a scramjet context, and it's safe to pass back the real iframe\n\t\t\t\treturn f;\n\t\t\t} else {\n\t\t\t\t// no, the top frame is outside the sandbox\n\t\t\t\treturn null;\n\t\t\t}\n\t\t},\n\t});\n}\n","import { ScramjetClient } from \"../client\";\n\nexport default function (client: ScramjetClient, _self: Self) {\n\tclient.Trap(\"origin\", {\n\t\tget() {\n\t\t\t// this isn't right!!\n\t\t\treturn client.url.origin;\n\t\t},\n\t\tset() {\n\t\t\treturn false;\n\t\t},\n\t});\n\n\tclient.Trap(\"Document.prototype.URL\", {\n\t\tget() {\n\t\t\treturn client.url.href;\n\t\t},\n\t\tset() {\n\t\t\treturn false;\n\t\t},\n\t});\n\n\tclient.Trap(\"Document.prototype.documentURI\", {\n\t\tget() {\n\t\t\treturn client.url.href;\n\t\t},\n\t\tset() {\n\t\t\treturn false;\n\t\t},\n\t});\n\n\tclient.Trap(\"Document.prototype.domain\", {\n\t\tget() {\n\t\t\treturn client.url.hostname;\n\t\t},\n\t\tset() {\n\t\t\treturn false;\n\t\t},\n\t});\n}\n","import { unrewriteUrl } from \"../../shared\";\nimport { ScramjetClient } from \"../client\";\n\nexport default function (client: ScramjetClient, _self: Self) {\n\tclient.Trap(\"PerformanceEntry.prototype.name\", {\n\t\tget(ctx) {\n\t\t\treturn unrewriteUrl(ctx.get() as string);\n\t\t},\n\t});\n}\n","import { rewriteUrl } from \"../../shared\";\nimport { ScramjetClient } from \"../client\";\nimport { type MessageC2W } from \"../../worker\";\nimport { flagEnabled } from \"../../scramjet\";\n\n// we need a late order because we're mangling with addEventListener at a higher level\nexport const order = 2;\n\nexport const enabled = (client: ScramjetClient) =>\n\tflagEnabled(\"serviceworkers\", client.url);\n\nexport function disabled(_client: ScramjetClient, _self: Self) {\n\tReflect.deleteProperty(Navigator.prototype, \"serviceWorker\");\n}\n\ntype FakeRegistrationState = {\n\tscope: string;\n\tactive: ServiceWorker;\n};\n\nexport default function (client: ScramjetClient, _self: Self) {\n\tconst registrationmap: WeakMap<\n\t\tServiceWorkerRegistration,\n\t\tFakeRegistrationState\n\t> = new WeakMap();\n\tclient.Proxy(\"EventTarget.prototype.addEventListener\", {\n\t\tapply(ctx) {\n\t\t\tif (registration === ctx.this) {\n\t\t\t\t// do nothing\n\t\t\t\tctx.return(undefined);\n\t\t\t}\n\t\t},\n\t});\n\n\tclient.Proxy(\"EventTarget.prototype.removeEventListener\", {\n\t\tapply(ctx) {\n\t\t\tif (registration === ctx.this) {\n\t\t\t\t// do nothing\n\t\t\t\tctx.return(undefined);\n\t\t\t}\n\t\t},\n\t});\n\n\tclient.Proxy(\"ServiceWorkerContainer.prototype.getRegistration\", {\n\t\tapply(ctx) {\n\t\t\tctx.return(new Promise((resolve) => resolve(registration)));\n\t\t},\n\t});\n\n\tclient.Proxy(\"ServiceWorkerContainer.prototype.getRegistrations\", {\n\t\tapply(ctx) {\n\t\t\tctx.return(new Promise((resolve) => resolve([registration])));\n\t\t},\n\t});\n\n\tclient.Trap(\"ServiceWorkerContainer.prototype.ready\", {\n\t\tget(_ctx) {\n\t\t\treturn new Promise((resolve) => resolve(registration));\n\t\t},\n\t});\n\n\tclient.Trap(\"ServiceWorkerContainer.prototype.controller\", {\n\t\tget(ctx) {\n\t\t\treturn registration?.active;\n\t\t},\n\t});\n\n\tclient.Proxy(\"ServiceWorkerContainer.prototype.register\", {\n\t\tapply(ctx) {\n\t\t\tconst fakeRegistration = new EventTarget() as ServiceWorkerRegistration;\n\t\t\tObject.setPrototypeOf(\n\t\t\t\tfakeRegistration,\n\t\t\t\tself.ServiceWorkerRegistration.prototype\n\t\t\t);\n\t\t\tfakeRegistration.constructor = ctx.fn;\n\t\t\tlet url = rewriteUrl(ctx.args[0], client.meta) + \"?dest=serviceworker\";\n\t\t\tif (ctx.args[1] && ctx.args[1].type === \"module\") {\n\t\t\t\turl += \"&type=module\";\n\t\t\t}\n\n\t\t\tconst worker = client.natives.construct(\"SharedWorker\", url);\n\t\t\tconst handle = worker.port;\n\t\t\tconst state: FakeRegistrationState = {\n\t\t\t\tscope: ctx.args[0],\n\t\t\t\tactive: handle as ServiceWorker,\n\t\t\t};\n\t\t\tconst controller = client.descriptors.get(\n\t\t\t\t\"ServiceWorkerContainer.prototype.controller\",\n\t\t\t\tclient.serviceWorker\n\t\t\t);\n\n\t\t\tclient.natives.call(\n\t\t\t\t\"ServiceWorker.prototype.postMessage\",\n\t\t\t\tcontroller,\n\t\t\t\t{\n\t\t\t\t\tscramjet$type: \"registerServiceWorker\",\n\t\t\t\t\tport: handle,\n\t\t\t\t\torigin: client.url.origin,\n\t\t\t\t} as MessageC2W,\n\t\t\t\t[handle]\n\t\t\t);\n\n\t\t\tregistrationmap.set(fakeRegistration, state);\n\t\t\tctx.return(new Promise((resolve) => resolve(fakeRegistration)));\n\t\t},\n\t});\n}\n","import { ScramjetClient } from \"../client\";\n\nexport default function (client: ScramjetClient, self: typeof window) {\n\tconst handler: ProxyHandler = {\n\t\tget(target, prop) {\n\t\t\tswitch (prop) {\n\t\t\t\tcase \"getItem\":\n\t\t\t\t\treturn (key: string) => {\n\t\t\t\t\t\treturn target.getItem(client.url.host + \"@\" + key);\n\t\t\t\t\t};\n\n\t\t\t\tcase \"setItem\":\n\t\t\t\t\treturn (key: string, value: string) => {\n\t\t\t\t\t\treturn target.setItem(client.url.host + \"@\" + key, value);\n\t\t\t\t\t};\n\n\t\t\t\tcase \"removeItem\":\n\t\t\t\t\treturn (key: string) => {\n\t\t\t\t\t\treturn target.removeItem(client.url.host + \"@\" + key);\n\t\t\t\t\t};\n\n\t\t\t\tcase \"clear\":\n\t\t\t\t\treturn () => {\n\t\t\t\t\t\tfor (const key in Object.keys(target)) {\n\t\t\t\t\t\t\tif (key.startsWith(client.url.host)) {\n\t\t\t\t\t\t\t\ttarget.removeItem(key);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\n\t\t\t\tcase \"key\":\n\t\t\t\t\treturn (index: number) => {\n\t\t\t\t\t\tconst keys = Object.keys(target).filter((key) =>\n\t\t\t\t\t\t\tkey.startsWith(client.url.host)\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturn target.getItem(keys[index]);\n\t\t\t\t\t};\n\n\t\t\t\tcase \"length\":\n\t\t\t\t\treturn Object.keys(target).filter((key) =>\n\t\t\t\t\t\tkey.startsWith(client.url.host)\n\t\t\t\t\t).length;\n\n\t\t\t\tdefault:\n\t\t\t\t\tif (prop in Object.prototype || typeof prop === \"symbol\") {\n\t\t\t\t\t\treturn Reflect.get(target, prop);\n\t\t\t\t\t}\n\t\t\t\t\tconsole.log(\"GET\", prop, target == realLocalStorage);\n\n\t\t\t\t\treturn target.getItem(client.url.host + \"@\" + (prop as string));\n\t\t\t}\n\t\t},\n\n\t\tset(target, prop, value) {\n\t\t\tif (target == realLocalStorage)\n\t\t\t\tconsole.log(\"SET\", prop, value, target === realLocalStorage);\n\t\t\ttarget.setItem(client.url.host + \"@\" + (prop as string), value);\n\n\t\t\treturn true;\n\t\t},\n\n\t\townKeys(target) {\n\t\t\treturn Reflect.ownKeys(target)\n\t\t\t\t.filter((f) => typeof f === \"string\" && f.startsWith(client.url.host))\n\t\t\t\t.map((f) =>\n\t\t\t\t\ttypeof f === \"string\" ? f.substring(client.url.host.length + 1) : f\n\t\t\t\t);\n\t\t},\n\n\t\tgetOwnPropertyDescriptor(target, property) {\n\t\t\treturn {\n\t\t\t\tvalue: target.getItem(client.url.host + \"@\" + (property as string)),\n\t\t\t\tenumerable: true,\n\t\t\t\tconfigurable: true,\n\t\t\t\twritable: true,\n\t\t\t};\n\t\t},\n\n\t\tdefineProperty(target, property, attributes) {\n\t\t\ttarget.setItem(\n\t\t\t\tclient.url.host + \"@\" + (property as string),\n\t\t\t\tattributes.value\n\t\t\t);\n\n\t\t\treturn true;\n\t\t},\n\t};\n\n\tconst realLocalStorage = self.localStorage;\n\n\tconst localStorageProxy = new Proxy(self.localStorage, handler);\n\tconst sessionStorageProxy = new Proxy(self.sessionStorage, handler);\n\n\tdelete self.localStorage;\n\tdelete self.sessionStorage;\n\n\tself.localStorage = localStorageProxy;\n\tself.sessionStorage = sessionStorageProxy;\n}\n","export class NavigateEvent extends Event {\n\tconstructor(public url: string) {\n\t\tsuper(\"navigate\");\n\t}\n}\n\nexport class UrlChangeEvent extends Event {\n\tconstructor(public url: string) {\n\t\tsuper(\"urlchange\");\n\t}\n}\n\nexport class ScramjetContextInit extends Event {\n\tconstructor(public window: Self) {\n\t\tsuper(\"contextInit\");\n\t}\n}\n","// import { encodeUrl } from \"../shared\";\nimport { iswindow } from \".\";\nimport { SCRAMJETCLIENT } from \"../symbols\";\nimport { ScramjetClient } from \"./client\";\n// import { config } from \"../shared\";\nimport { getOwnPropertyDescriptorHandler } from \"./helpers\";\n\nexport const UNSAFE_GLOBALS = [\n\t\"window\",\n\t\"self\",\n\t\"globalThis\",\n\t\"this\",\n\t\"parent\",\n\t\"top\",\n\t\"location\",\n\t\"document\",\n\t\"eval\",\n\t\"frames\",\n];\n\nexport function createGlobalProxy(\n\tclient: ScramjetClient,\n\tself: typeof globalThis\n): typeof globalThis {\n\treturn new Proxy(self, {\n\t\tget(target, prop) {\n\t\t\tconst value = Reflect.get(target, prop);\n\n\t\t\tif (\n\t\t\t\tiswindow &&\n\t\t\t\t(typeof prop === \"string\" || typeof prop === \"number\") &&\n\t\t\t\t!isNaN(Number(prop)) &&\n\t\t\t\tvalue\n\t\t\t) {\n\t\t\t\tconst win: Self = value.self;\n\t\t\t\t// indexing into window gives you the contentWindow of the subframes for some reason\n\t\t\t\t// you can't *set* it so this should always be the right value\n\t\t\t\tif (win) {\n\t\t\t\t\tif (SCRAMJETCLIENT in win) {\n\t\t\t\t\t\t// then we've already hooked this frame and we can just send over its proxy\n\t\t\t\t\t\treturn win[SCRAMJETCLIENT].globalProxy;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// this can happen if it's an about:blank iframe that we've never gotten the chance to inject into\n\t\t\t\t\t\t// just make a new client for it and inject\n\t\t\t\t\t\tconst newclient = new ScramjetClient(win);\n\t\t\t\t\t\tnewclient.hook();\n\n\t\t\t\t\t\treturn newclient.globalProxy;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (prop === \"$scramjet\") return undefined;\n\n\t\t\tif (typeof prop === \"string\" && UNSAFE_GLOBALS.includes(prop))\n\t\t\t\treturn client.wrapfn(value);\n\n\t\t\treturn value;\n\t\t},\n\n\t\tset(target, prop, value) {\n\t\t\tif (prop === \"location\") {\n\t\t\t\tclient.url = value;\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\treturn Reflect.set(target, prop, value);\n\t\t},\n\t\thas(target, prop) {\n\t\t\tif (prop === \"$scramjet\") return false;\n\n\t\t\treturn Reflect.has(target, prop);\n\t\t},\n\t\townKeys(target) {\n\t\t\treturn Reflect.ownKeys(target).filter((key) => key !== \"$scramjet\");\n\t\t},\n\t\tdefineProperty(target, property, attributes) {\n\t\t\tif (!attributes.get && !attributes.set) {\n\t\t\t\tattributes.writable = true;\n\t\t\t}\n\t\t\tattributes.configurable = true;\n\n\t\t\treturn Reflect.defineProperty(target, property, attributes);\n\t\t},\n\t\tgetOwnPropertyDescriptor: getOwnPropertyDescriptorHandler,\n\t});\n}\n","export function getOwnPropertyDescriptorHandler(target, prop) {\n\tconst realDescriptor = Reflect.getOwnPropertyDescriptor(target, prop);\n\n\treturn realDescriptor;\n}\n","// entrypoint for scramjet.client.js\n\nimport { loadCodecs } from \"../scramjet\";\nimport { SCRAMJETCLIENT } from \"../symbols\";\nimport { ScramjetClient } from \"./client\";\nimport { ScramjetContextInit } from \"./events\";\nimport { ScramjetServiceWorkerRuntime } from \"./swruntime\";\n\nexport const iswindow = \"window\" in self;\nexport const isworker = \"WorkerGlobalScope\" in self;\nexport const issw = \"ServiceWorkerGlobalScope\" in self;\nexport const isdedicated = \"DedicatedWorkerGlobalScope\" in self;\nexport const isshared = \"SharedWorkerGlobalScope\" in self;\nexport const isemulatedsw =\n\tnew URL(self.location.href).searchParams.get(\"dest\") === \"serviceworker\";\n\ndbg.log(\"scrammin\");\n// if it already exists, that means the handlers have probably already been setup by the parent document\nif (!(SCRAMJETCLIENT in >self)) {\n\tloadCodecs();\n\n\tconst client = new ScramjetClient(self);\n\n\tif (self.COOKIE) client.loadcookies(self.COOKIE);\n\n\tclient.hook();\n\n\tif (isemulatedsw) {\n\t\tconst runtime = new ScramjetServiceWorkerRuntime(client);\n\t\truntime.hook();\n\t}\n\n\tconst ev = new ScramjetContextInit(client.global.window);\n\tclient.frame?.dispatchEvent(ev);\n}\n\nif (\"document\" in self && document?.currentScript) {\n\tdocument.currentScript.remove();\n}\n","// @ts-nocheck\nimport { ScramjetClient } from \"./client\";\nimport { nativeGetOwnPropertyDescriptor } from \"./natives\";\nimport { rewriteUrl } from \"../shared\";\nimport { UrlChangeEvent } from \"./events\";\nimport { iswindow } from \".\";\n\nexport function createLocationProxy(\n\tclient: ScramjetClient,\n\tself: typeof globalThis\n) {\n\tconst Location = iswindow ? self.Location : self.WorkerLocation;\n\t// location cannot be Proxy()d\n\tconst fakeLocation = {};\n\tObject.setPrototypeOf(fakeLocation, Location.prototype);\n\tfakeLocation.constructor = Location;\n\n\t// for some reason it's on the object for Location and on the prototype for WorkerLocation??\n\tconst descriptorSource = iswindow ? self.location : Location.prototype;\n\tconst urlprops = [\n\t\t\"protocol\",\n\t\t\"hash\",\n\t\t\"host\",\n\t\t\"hostname\",\n\t\t\"href\",\n\t\t\"origin\",\n\t\t\"pathname\",\n\t\t\"port\",\n\t\t\"search\",\n\t];\n\tfor (const prop of urlprops) {\n\t\tconst native = nativeGetOwnPropertyDescriptor(descriptorSource, prop);\n\t\tif (!native) continue;\n\n\t\tconst desc = {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: true,\n\t\t};\n\t\tif (native.get) {\n\t\t\tdesc.get = new Proxy(native.get, {\n\t\t\t\tapply() {\n\t\t\t\t\treturn client.url[prop];\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t\tif (native.set) {\n\t\t\tdesc.set = new Proxy(native.set, {\n\t\t\t\tapply(target, thisArg, args) {\n\t\t\t\t\tif (prop === \"href\") {\n\t\t\t\t\t\t// special case\n\t\t\t\t\t\tclient.url = args[0];\n\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tif (prop === \"hash\") {\n\t\t\t\t\t\tself.location.hash = args[0];\n\t\t\t\t\t\tconst ev = new UrlChangeEvent(client.url.href);\n\t\t\t\t\t\tif (client.frame) client.frame.dispatchEvent(ev);\n\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tconst url = new URL(client.url.href);\n\t\t\t\t\turl[prop] = args[0];\n\t\t\t\t\tclient.url = url;\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t\tObject.defineProperty(fakeLocation, prop, desc);\n\t}\n\n\t// functions\n\tfakeLocation.toString = new Proxy(self.location.toString, {\n\t\tapply() {\n\t\t\treturn client.url.href;\n\t\t},\n\t});\n\n\tif (self.location.valueOf)\n\t\tfakeLocation.valueOf = new Proxy(self.location.valueOf, {\n\t\t\tapply() {\n\t\t\t\treturn client.url.href;\n\t\t\t},\n\t\t});\n\tif (self.location.assign)\n\t\tfakeLocation.assign = new Proxy(self.location.assign, {\n\t\t\tapply(target, thisArg, args) {\n\t\t\t\targs[0] = rewriteUrl(args[0], client.meta);\n\t\t\t\tReflect.apply(target, self.location, args);\n\t\t\t},\n\t\t});\n\tif (self.location.reload)\n\t\tfakeLocation.reload = new Proxy(self.location.reload, {\n\t\t\tapply(target, thisArg, args) {\n\t\t\t\tReflect.apply(target, self.location, args);\n\t\t\t},\n\t\t});\n\tif (self.location.replace)\n\t\tfakeLocation.replace = new Proxy(self.location.replace, {\n\t\t\tapply(target, thisArg, args) {\n\t\t\t\targs[0] = rewriteUrl(args[0], client.meta);\n\t\t\t\tReflect.apply(target, self.location, args);\n\t\t\t},\n\t\t});\n\n\treturn fakeLocation;\n}\n","export const nativeFunction = self.Function;\nexport const nativeGetOwnPropertyDescriptor =\n\tself.Object.getOwnPropertyDescriptor;\n","import { ScramjetClient } from \"../client\";\n\nexport default function (client: ScramjetClient) {\n\tclient.Proxy(\"console.clear\", {\n\t\tapply(ctx) {\n\t\t\t// fuck you\n\t\t\tctx.return(undefined);\n\t\t},\n\t});\n\n\tconst log = console.log;\n\tclient.Trap(\"console.log\", {\n\t\tset(_ctx, _v) {\n\t\t\t// is there a legitimate reason to let sites do this?\n\t\t},\n\t\tget(_ctx) {\n\t\t\treturn log;\n\t\t},\n\t});\n}\n","import { rewriteBlob, unrewriteBlob } from \"../../shared\";\nimport { ScramjetClient } from \"../client\";\nexport default function (client: ScramjetClient) {\n\t// hide the origin from object urls from the page\n\tclient.Proxy(\"URL.createObjectURL\", {\n\t\tapply(ctx) {\n\t\t\tconst url: string = ctx.call();\n\t\t\tif (url.startsWith(\"blob:\")) {\n\t\t\t\tctx.return(rewriteBlob(url, client.meta));\n\t\t\t} else {\n\t\t\t\tctx.return(url);\n\t\t\t}\n\t\t},\n\t});\n\n\tclient.Proxy(\"URL.revokeObjectURL\", {\n\t\tapply(ctx) {\n\t\t\tctx.args[0] = unrewriteBlob(ctx.args[0]);\n\t\t},\n\t});\n}\n","import { rewriteUrl } from \"../../shared\";\nimport { ScramjetClient } from \"../client\";\n\nexport default function (client: ScramjetClient, _self: Self) {\n\tclient.Proxy(\"CacheStorage.prototype.open\", {\n\t\tapply(ctx) {\n\t\t\tctx.args[0] = `${client.url.origin}@${ctx.args[0]}`;\n\t\t},\n\t});\n\n\tclient.Proxy(\"CacheStorage.prototype.has\", {\n\t\tapply(ctx) {\n\t\t\tctx.args[0] = `${client.url.origin}@${ctx.args[0]}`;\n\t\t},\n\t});\n\n\tclient.Proxy(\"CacheStorage.prototype.match\", {\n\t\tapply(ctx) {\n\t\t\tif (typeof ctx.args[0] === \"string\" || ctx.args[0] instanceof URL) {\n\t\t\t\tctx.args[0] = rewriteUrl(ctx.args[0], client.meta);\n\t\t\t}\n\t\t},\n\t});\n\n\tclient.Proxy(\"CacheStorage.prototype.delete\", {\n\t\tapply(ctx) {\n\t\t\tctx.args[0] = `${client.url.origin}@${ctx.args[0]}`;\n\t\t},\n\t});\n\n\tclient.Proxy(\"Cache.prototype.add\", {\n\t\tapply(ctx) {\n\t\t\tif (typeof ctx.args[0] === \"string\" || ctx.args[0] instanceof URL) {\n\t\t\t\tctx.args[0] = rewriteUrl(ctx.args[0], client.meta);\n\t\t\t}\n\t\t},\n\t});\n\n\tclient.Proxy(\"Cache.prototype.addAll\", {\n\t\tapply(ctx) {\n\t\t\tfor (let i = 0; i < ctx.args[0].length; i++) {\n\t\t\t\tif (\n\t\t\t\t\ttypeof ctx.args[0][i] === \"string\" ||\n\t\t\t\t\tctx.args[0][i] instanceof URL\n\t\t\t\t) {\n\t\t\t\t\tctx.args[0][i] = rewriteUrl(ctx.args[0][i], client.meta);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t});\n\n\tclient.Proxy(\"Cache.prototype.put\", {\n\t\tapply(ctx) {\n\t\t\tif (typeof ctx.args[0] === \"string\" || ctx.args[0] instanceof URL) {\n\t\t\t\tctx.args[0] = rewriteUrl(ctx.args[0], client.meta);\n\t\t\t}\n\t\t},\n\t});\n\n\tclient.Proxy(\"Cache.prototype.match\", {\n\t\tapply(ctx) {\n\t\t\tif (typeof ctx.args[0] === \"string\" || ctx.args[0] instanceof URL) {\n\t\t\t\tctx.args[0] = rewriteUrl(ctx.args[0], client.meta);\n\t\t\t}\n\t\t},\n\t});\n\n\tclient.Proxy(\"Cache.prototype.matchAll\", {\n\t\tapply(ctx) {\n\t\t\tif (\n\t\t\t\t(ctx.args[0] && typeof ctx.args[0] === \"string\") ||\n\t\t\t\t(ctx.args[0] && ctx.args[0] instanceof URL)\n\t\t\t) {\n\t\t\t\tctx.args[0] = rewriteUrl(ctx.args[0], client.meta);\n\t\t\t}\n\t\t},\n\t});\n\n\tclient.Proxy(\"Cache.prototype.keys\", {\n\t\tapply(ctx) {\n\t\t\tif (\n\t\t\t\t(ctx.args[0] && typeof ctx.args[0] === \"string\") ||\n\t\t\t\t(ctx.args[0] && ctx.args[0] instanceof URL)\n\t\t\t) {\n\t\t\t\tctx.args[0] = rewriteUrl(ctx.args[0], client.meta);\n\t\t\t}\n\t\t},\n\t});\n\n\tclient.Proxy(\"Cache.prototype.delete\", {\n\t\tapply(ctx) {\n\t\t\tif (typeof ctx.args[0] === \"string\" || ctx.args[0] instanceof URL) {\n\t\t\t\tctx.args[0] = rewriteUrl(ctx.args[0], client.meta);\n\t\t\t}\n\t\t},\n\t});\n}\n","import { flagEnabled } from \"../../scramjet\";\nimport { ScramjetClient } from \"../client\";\n\nexport const enabled = (client: ScramjetClient) =>\n\tflagEnabled(\"captureErrors\", client.url);\nexport function argdbg(arg, recurse = []) {\n\tswitch (typeof arg) {\n\t\tcase \"string\":\n\t\t\tbreak;\n\t\tcase \"object\":\n\t\t\tif (\n\t\t\t\targ &&\n\t\t\t\targ[Symbol.iterator] &&\n\t\t\t\ttypeof arg[Symbol.iterator] === \"function\"\n\t\t\t)\n\t\t\t\tfor (const prop in arg) {\n\t\t\t\t\t// make sure it's not a getter\n\t\t\t\t\tconst desc = Object.getOwnPropertyDescriptor(arg, prop);\n\t\t\t\t\tif (desc && desc.get) continue;\n\n\t\t\t\t\tconst ar = arg[prop];\n\t\t\t\t\tif (recurse.includes(ar)) continue;\n\t\t\t\t\trecurse.push(ar);\n\t\t\t\t\targdbg(ar, recurse);\n\t\t\t\t}\n\t\t\tbreak;\n\t}\n}\n\nexport default function (client: ScramjetClient, self: typeof globalThis) {\n\tself.$scramerr = function scramerr(e) {\n\t\tconsole.warn(\"CAUGHT ERROR\", e);\n\t};\n\n\tself.$scramdbg = function scramdbg(args, t) {\n\t\tif (args && typeof args === \"object\" && args.length > 0) argdbg(args);\n\t\targdbg(t);\n\n\t\treturn t;\n\t};\n\n\tclient.Proxy(\"Promise.prototype.catch\", {\n\t\tapply(ctx) {\n\t\t\tif (ctx.args[0])\n\t\t\t\tctx.args[0] = new Proxy(ctx.args[0], {\n\t\t\t\t\tapply(target, thisArg, argArray) {\n\t\t\t\t\t\t// console.warn(\"CAUGHT PROMISE REJECTION\", argArray);\n\t\t\t\t\t\tReflect.apply(target, thisArg, argArray);\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t},\n\t});\n}\n","import { flagEnabled } from \"../../scramjet\";\nimport { config, unrewriteUrl } from \"../../shared\";\nimport { ScramjetClient } from \"../client\";\n\nexport const enabled = (client: ScramjetClient) =>\n\tflagEnabled(\"cleanerrors\", client.url);\nexport default function (client: ScramjetClient, _self: Self) {\n\t// v8 only. all we need to do is clean the scramjet urls from stack traces\n\tconst closure = (error, stack) => {\n\t\tlet newstack = error.stack;\n\n\t\tfor (let i = 0; i < stack.length; i++) {\n\t\t\tconst url = stack[i].getFileName();\n\n\t\t\tif (url.endsWith(config.files.client)) {\n\t\t\t\t// strip stack frames including scramjet handlers from the trace\n\t\t\t\tconst lines = newstack.split(\"\\n\");\n\t\t\t\tconst line = lines.find((l) => l.includes(url));\n\t\t\t\tlines.splice(line, 1);\n\t\t\t\tnewstack = lines.join(\"\\n\");\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tnewstack = newstack.replaceAll(url, unrewriteUrl(url));\n\t\t\t} catch {}\n\t\t}\n\n\t\treturn newstack;\n\t};\n\tclient.Trap(\"Error.prepareStackTrace\", {\n\t\tget(_ctx) {\n\t\t\t// this is a funny js quirk. the getter is ran every time you type something in console\n\t\t\treturn closure;\n\t\t},\n\t\tset(_value) {\n\t\t\t// just ignore it if a site tries setting their own. not much we can really do\n\t\t},\n\t});\n}\n","import { ScramjetClient } from \"../client\";\nimport { config, rewriteJs } from \"../../shared\";\n\nexport default function (client: ScramjetClient, self: Self) {\n\t// used for proxying *direct eval*\n\t// eval(\"...\") -> eval($scramjet$rewrite(\"...\"))\n\tObject.defineProperty(self, config.globals.rewritefn, {\n\t\tvalue: function (js: any) {\n\t\t\tif (typeof js !== \"string\") return js;\n\n\t\t\tconst rewritten = rewriteJs(js, null, client.meta);\n\n\t\t\treturn rewritten;\n\t\t},\n\t\twritable: false,\n\t\tconfigurable: false,\n\t});\n}\n\nexport function indirectEval(this: ScramjetClient, js: any) {\n\t// > If the argument of eval() is not a string, eval() returns the argument unchanged\n\tif (typeof js !== \"string\") return js;\n\n\tconst indirection = this.global.eval;\n\n\treturn indirection(rewriteJs(js, null, this.meta) as string);\n}\n","import { iswindow } from \"..\";\nimport { SCRAMJETCLIENT } from \"../../symbols\";\nimport { ScramjetClient } from \"../client\";\nimport { getOwnPropertyDescriptorHandler } from \"../helpers\";\nimport { nativeGetOwnPropertyDescriptor } from \"../natives\";\nimport { unproxy } from \"./unproxy\";\n\nconst realOnEvent = Symbol.for(\"scramjet original onevent function\");\n\nexport default function (client: ScramjetClient, self: Self) {\n\tconst handlers = {\n\t\tmessage: {\n\t\t\t_init() {\n\t\t\t\tif (typeof this.data === \"object\" && \"$scramjet$type\" in this.data) {\n\t\t\t\t\t// this is a ctl message\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\treturn true;\n\t\t\t},\n\t\t\tports() {\n\t\t\t\t// don't know why i have to do this?\n\t\t\t\treturn this.ports;\n\t\t\t},\n\t\t\tsource() {\n\t\t\t\tif (this.source === null) return null;\n\n\t\t\t\tconst scram: ScramjetClient = this.source[SCRAMJETCLIENT];\n\n\t\t\t\tif (scram) return scram.globalProxy;\n\n\t\t\t\treturn this.source;\n\t\t\t},\n\t\t\torigin() {\n\t\t\t\tif (typeof this.data === \"object\" && \"$scramjet$origin\" in this.data)\n\t\t\t\t\treturn this.data.$scramjet$origin;\n\n\t\t\t\treturn client.url.origin;\n\t\t\t},\n\t\t\tdata() {\n\t\t\t\tif (typeof this.data === \"object\" && \"$scramjet$data\" in this.data)\n\t\t\t\t\treturn this.data.$scramjet$data;\n\n\t\t\t\treturn this.data;\n\t\t\t},\n\t\t},\n\t};\n\n\t// TODO! window.event not proxied\n\n\tfunction wraplistener(listener: (...args: any) => any) {\n\t\treturn new Proxy(listener, {\n\t\t\tapply(target, thisArg, argArray) {\n\t\t\t\tconst realEvent: Event = argArray[0];\n\n\t\t\t\t// we only need to handle events dispatched from the browser\n\t\t\t\tif (realEvent.isTrusted) {\n\t\t\t\t\tconst type = realEvent.type;\n\n\t\t\t\t\tif (type in handlers) {\n\t\t\t\t\t\tconst handler = handlers[type];\n\n\t\t\t\t\t\tif (handler._init) {\n\t\t\t\t\t\t\tif (handler._init.call(realEvent) === false) return;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\targArray[0] = new Proxy(realEvent, {\n\t\t\t\t\t\t\tget(_target, prop, reciever) {\n\t\t\t\t\t\t\t\tif (prop in handler) {\n\t\t\t\t\t\t\t\t\treturn handler[prop].call(_target);\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\treturn Reflect.get(target, prop, reciever);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tgetOwnPropertyDescriptor: getOwnPropertyDescriptorHandler,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (!self.event) {\n\t\t\t\t\tObject.defineProperty(self, \"event\", {\n\t\t\t\t\t\tget() {\n\t\t\t\t\t\t\treturn argArray[0];\n\t\t\t\t\t\t},\n\t\t\t\t\t\tconfigurable: true,\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tconst rv = Reflect.apply(target, thisArg, argArray);\n\n\t\t\t\treturn rv;\n\t\t\t},\n\t\t\tgetOwnPropertyDescriptor: getOwnPropertyDescriptorHandler,\n\t\t});\n\t}\n\n\tclient.Proxy(\"EventTarget.prototype.addEventListener\", {\n\t\tapply(ctx) {\n\t\t\tunproxy(ctx, client);\n\t\t\tif (typeof ctx.args[1] !== \"function\") return;\n\n\t\t\tconst origlistener = ctx.args[1];\n\t\t\tconst proxylistener = wraplistener(origlistener);\n\n\t\t\tctx.args[1] = proxylistener;\n\n\t\t\tlet arr = client.eventcallbacks.get(ctx.this);\n\t\t\tarr ||= [] as any;\n\t\t\tarr.push({\n\t\t\t\tevent: ctx.args[0] as string,\n\t\t\t\toriginalCallback: origlistener,\n\t\t\t\tproxiedCallback: proxylistener,\n\t\t\t});\n\t\t\tclient.eventcallbacks.set(ctx.this, arr);\n\t\t},\n\t});\n\n\tclient.Proxy(\"EventTarget.prototype.removeEventListener\", {\n\t\tapply(ctx) {\n\t\t\tunproxy(ctx, client);\n\t\t\tif (typeof ctx.args[1] !== \"function\") return;\n\n\t\t\tconst arr = client.eventcallbacks.get(ctx.this);\n\t\t\tif (!arr) return;\n\n\t\t\tconst i = arr.findIndex(\n\t\t\t\t(e) => e.event === ctx.args[0] && e.originalCallback === ctx.args[1]\n\t\t\t);\n\t\t\tif (i === -1) return;\n\n\t\t\tconst r = arr.splice(i, 1);\n\t\t\tclient.eventcallbacks.set(ctx.this, arr);\n\n\t\t\tctx.args[1] = r[0].proxiedCallback;\n\t\t},\n\t});\n\n\tclient.Proxy(\"EventTarget.prototype.dispatchEvent\", {\n\t\tapply(ctx) {\n\t\t\tunproxy(ctx, client);\n\t\t},\n\t});\n\n\tconst targets = [self.self, self.MessagePort.prototype] as Array;\n\tif (iswindow) targets.push(self.HTMLElement.prototype);\n\tif (self.Worker) targets.push(self.Worker.prototype);\n\n\tfor (const target of targets) {\n\t\tconst keys = Reflect.ownKeys(target);\n\n\t\tfor (const key of keys) {\n\t\t\tif (\n\t\t\t\ttypeof key === \"string\" &&\n\t\t\t\tkey.startsWith(\"on\") &&\n\t\t\t\thandlers[key.slice(2)]\n\t\t\t) {\n\t\t\t\tconst descriptor = nativeGetOwnPropertyDescriptor(target, key);\n\t\t\t\tif (!descriptor.get || !descriptor.set || !descriptor.configurable)\n\t\t\t\t\tcontinue;\n\n\t\t\t\t// these are the `onmessage`, `onclick`, etc. properties\n\t\t\t\tclient.RawTrap(target, key, {\n\t\t\t\t\tget(ctx) {\n\t\t\t\t\t\tif (this[realOnEvent]) return this[realOnEvent];\n\n\t\t\t\t\t\treturn ctx.get();\n\t\t\t\t\t},\n\t\t\t\t\tset(ctx, value: any) {\n\t\t\t\t\t\tthis[realOnEvent] = value;\n\n\t\t\t\t\t\tif (typeof value !== \"function\") return ctx.set(value);\n\n\t\t\t\t\t\tctx.set(wraplistener(value));\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n}\n","import { ScramjetClient, ProxyCtx, Proxy } from \"../client\";\nimport { rewriteJs } from \"../../shared\";\n\nfunction rewriteFunction(ctx: ProxyCtx, client: ScramjetClient) {\n\tconst stringifiedFunction = ctx.call().toString();\n\n\tconst content = rewriteJs(`return ${stringifiedFunction}`, null, client.meta);\n\tctx.return(ctx.fn(content)());\n}\n\nexport default function (client: ScramjetClient, _self: Self) {\n\tconst handler: Proxy = {\n\t\tapply(ctx: ProxyCtx) {\n\t\t\trewriteFunction(ctx, client);\n\t\t},\n\t\tconstruct(ctx) {\n\t\t\trewriteFunction(ctx, client);\n\t\t},\n\t};\n\n\tclient.Proxy(\"Function\", handler);\n\t/*\n\t// god i love javascript\n\tclient.RawProxy(function () {}.constructor.prototype, \"constructor\", handler);\n\tclient.RawProxy(\n\t\tasync function () {}.constructor.prototype,\n\t\t\"constructor\",\n\t\thandler\n\t);\n\tclient.RawProxy(\n\t\tfunction* () {}.constructor.prototype,\n\t\t\"constructor\",\n\t\thandler\n\t);\n\tclient.RawProxy(\n\t\tasync function* () {}.constructor.prototype,\n\t\t\"constructor\",\n\t\thandler\n\t);\n\t*/\n}\n","import { scramtag } from './snippets/wasm-4b0f351a8e6eeb46/inline0.js';\n\nlet wasm;\n\nfunction addToExternrefTable0(obj) {\n const idx = wasm.__externref_table_alloc();\n wasm.__wbindgen_export_2.set(idx, obj);\n return idx;\n}\n\nfunction handleError(f, args) {\n try {\n return f.apply(this, args);\n } catch (e) {\n const idx = addToExternrefTable0(e);\n wasm.__wbindgen_exn_store(idx);\n }\n}\n\nconst cachedTextDecoder = (typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }) : { decode: () => { throw Error('TextDecoder not available') } } );\n\nif (typeof TextDecoder !== 'undefined') { cachedTextDecoder.decode(); };\n\nlet cachedUint8ArrayMemory0 = null;\n\nfunction getUint8ArrayMemory0() {\n if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.buffer !== wasm.memory.buffer) {\n cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);\n }\n return cachedUint8ArrayMemory0;\n}\n\nfunction getStringFromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return cachedTextDecoder.decode(getUint8ArrayMemory0().slice(ptr, ptr + len));\n}\n\nlet WASM_VECTOR_LEN = 0;\n\nconst cachedTextEncoder = (typeof TextEncoder !== 'undefined' ? new TextEncoder('utf-8') : { encode: () => { throw Error('TextEncoder not available') } } );\n\nconst encodeString = function (arg, view) {\n const buf = cachedTextEncoder.encode(arg);\n view.set(buf);\n return {\n read: arg.length,\n written: buf.length\n };\n};\n\nfunction passStringToWasm0(arg, malloc, realloc) {\n\n if (realloc === undefined) {\n const buf = cachedTextEncoder.encode(arg);\n const ptr = malloc(buf.length, 1) >>> 0;\n getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf);\n WASM_VECTOR_LEN = buf.length;\n return ptr;\n }\n\n let len = arg.length;\n let ptr = malloc(len, 1) >>> 0;\n\n const mem = getUint8ArrayMemory0();\n\n let offset = 0;\n\n for (; offset < len; offset++) {\n const code = arg.charCodeAt(offset);\n if (code > 0x7F) break;\n mem[ptr + offset] = code;\n }\n\n if (offset !== len) {\n if (offset !== 0) {\n arg = arg.slice(offset);\n }\n ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0;\n const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len);\n const ret = encodeString(arg, view);\n\n offset += ret.written;\n ptr = realloc(ptr, len, offset, 1) >>> 0;\n }\n\n WASM_VECTOR_LEN = offset;\n return ptr;\n}\n\nlet cachedDataViewMemory0 = null;\n\nfunction getDataViewMemory0() {\n if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer !== wasm.memory.buffer) {\n cachedDataViewMemory0 = new DataView(wasm.memory.buffer);\n }\n return cachedDataViewMemory0;\n}\n\nfunction isLikeNone(x) {\n return x === undefined || x === null;\n}\n\nfunction getArrayU8FromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);\n}\n\nfunction takeFromExternrefTable0(idx) {\n const value = wasm.__wbindgen_export_2.get(idx);\n wasm.__externref_table_dealloc(idx);\n return value;\n}\n/**\n * @param {string} js\n * @param {string} url\n * @param {string} script_url\n * @param {object} scramjet\n * @returns {RewriterOutput}\n */\nexport function rewrite_js(js, url, script_url, scramjet) {\n const ptr0 = passStringToWasm0(js, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(url, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passStringToWasm0(script_url, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len2 = WASM_VECTOR_LEN;\n const ret = wasm.rewrite_js(ptr0, len0, ptr1, len1, ptr2, len2, scramjet);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return takeFromExternrefTable0(ret[0]);\n}\n\nfunction passArray8ToWasm0(arg, malloc) {\n const ptr = malloc(arg.length * 1, 1) >>> 0;\n getUint8ArrayMemory0().set(arg, ptr / 1);\n WASM_VECTOR_LEN = arg.length;\n return ptr;\n}\n/**\n * @param {Uint8Array} js\n * @param {string} url\n * @param {string} script_url\n * @param {object} scramjet\n * @returns {RewriterOutput}\n */\nexport function rewrite_js_from_arraybuffer(js, url, script_url, scramjet) {\n const ptr0 = passArray8ToWasm0(js, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(url, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passStringToWasm0(script_url, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len2 = WASM_VECTOR_LEN;\n const ret = wasm.rewrite_js_from_arraybuffer(ptr0, len0, ptr1, len1, ptr2, len2, scramjet);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return takeFromExternrefTable0(ret[0]);\n}\n\nasync function __wbg_load(module, imports) {\n if (typeof Response === 'function' && module instanceof Response) {\n if (typeof WebAssembly.instantiateStreaming === 'function') {\n try {\n return await WebAssembly.instantiateStreaming(module, imports);\n\n } catch (e) {\n if (module.headers.get('Content-Type') != 'application/wasm') {\n console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\", e);\n\n } else {\n throw e;\n }\n }\n }\n\n const bytes = await module.arrayBuffer();\n return await WebAssembly.instantiate(bytes, imports);\n\n } else {\n const instance = await WebAssembly.instantiate(module, imports);\n\n if (instance instanceof WebAssembly.Instance) {\n return { instance, module };\n\n } else {\n return instance;\n }\n }\n}\n\nfunction __wbg_get_imports() {\n const imports = {};\n imports.wbg = {};\n imports.wbg.__wbg_call_3b770f0d6eb4720e = function() { return handleError(function (arg0, arg1, arg2, arg3) {\n const ret = arg0.call(arg1, arg2, arg3);\n return ret;\n }, arguments) };\n imports.wbg.__wbg_call_500db948e69c7330 = function() { return handleError(function (arg0, arg1, arg2) {\n const ret = arg0.call(arg1, arg2);\n return ret;\n }, arguments) };\n imports.wbg.__wbg_call_b0d8e36992d9900d = function() { return handleError(function (arg0, arg1) {\n const ret = arg0.call(arg1);\n return ret;\n }, arguments) };\n imports.wbg.__wbg_get_bbccf8970793c087 = function() { return handleError(function (arg0, arg1) {\n const ret = Reflect.get(arg0, arg1);\n return ret;\n }, arguments) };\n imports.wbg.__wbg_new_17f755666e48d1d8 = function() { return handleError(function (arg0, arg1) {\n const ret = new URL(getStringFromWasm0(arg0, arg1));\n return ret;\n }, arguments) };\n imports.wbg.__wbg_new_688846f374351c92 = function() {\n const ret = new Object();\n return ret;\n };\n imports.wbg.__wbg_newnoargs_fd9e4bf8be2bc16d = function(arg0, arg1) {\n const ret = new Function(getStringFromWasm0(arg0, arg1));\n return ret;\n };\n imports.wbg.__wbg_now_62a101fe35b60230 = function(arg0) {\n const ret = arg0.now();\n return ret;\n };\n imports.wbg.__wbg_scramtag_bd98edaa0eaec45e = function(arg0) {\n const ret = scramtag();\n const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n };\n imports.wbg.__wbg_set_4e647025551483bd = function() { return handleError(function (arg0, arg1, arg2) {\n const ret = Reflect.set(arg0, arg1, arg2);\n return ret;\n }, arguments) };\n imports.wbg.__wbg_static_accessor_GLOBAL_0be7472e492ad3e3 = function() {\n const ret = typeof global === 'undefined' ? null : global;\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n };\n imports.wbg.__wbg_static_accessor_GLOBAL_THIS_1a6eb482d12c9bfb = function() {\n const ret = typeof globalThis === 'undefined' ? null : globalThis;\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n };\n imports.wbg.__wbg_static_accessor_SELF_1dc398a895c82351 = function() {\n const ret = typeof self === 'undefined' ? null : self;\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n };\n imports.wbg.__wbg_static_accessor_WINDOW_ae1c80c7eea8d64a = function() {\n const ret = typeof window === 'undefined' ? null : window;\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n };\n imports.wbg.__wbg_toString_cbcf95f260c441ae = function(arg0) {\n const ret = arg0.toString();\n return ret;\n };\n imports.wbg.__wbindgen_array_new = function() {\n const ret = [];\n return ret;\n };\n imports.wbg.__wbindgen_array_push = function(arg0, arg1) {\n arg0.push(arg1);\n };\n imports.wbg.__wbindgen_boolean_get = function(arg0) {\n const v = arg0;\n const ret = typeof(v) === 'boolean' ? (v ? 1 : 0) : 2;\n return ret;\n };\n imports.wbg.__wbindgen_error_new = function(arg0, arg1) {\n const ret = new Error(getStringFromWasm0(arg0, arg1));\n return ret;\n };\n imports.wbg.__wbindgen_init_externref_table = function() {\n const table = wasm.__wbindgen_export_2;\n const offset = table.grow(4);\n table.set(0, undefined);\n table.set(offset + 0, undefined);\n table.set(offset + 1, null);\n table.set(offset + 2, true);\n table.set(offset + 3, false);\n ;\n };\n imports.wbg.__wbindgen_is_function = function(arg0) {\n const ret = typeof(arg0) === 'function';\n return ret;\n };\n imports.wbg.__wbindgen_is_undefined = function(arg0) {\n const ret = arg0 === undefined;\n return ret;\n };\n imports.wbg.__wbindgen_number_new = function(arg0) {\n const ret = arg0;\n return ret;\n };\n imports.wbg.__wbindgen_string_get = function(arg0, arg1) {\n const obj = arg1;\n const ret = typeof(obj) === 'string' ? obj : undefined;\n var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n };\n imports.wbg.__wbindgen_string_new = function(arg0, arg1) {\n const ret = getStringFromWasm0(arg0, arg1);\n return ret;\n };\n imports.wbg.__wbindgen_throw = function(arg0, arg1) {\n throw new Error(getStringFromWasm0(arg0, arg1));\n };\n imports.wbg.__wbindgen_uint8_array_new = function(arg0, arg1) {\n var v0 = getArrayU8FromWasm0(arg0, arg1).slice();\n wasm.__wbindgen_free(arg0, arg1 * 1, 1);\n const ret = v0;\n return ret;\n };\n\n return imports;\n}\n\nfunction __wbg_init_memory(imports, memory) {\n imports.wbg.memory = memory || new WebAssembly.Memory({initial:21,maximum:16384,shared:true});\n}\n\nfunction __wbg_finalize_init(instance, module, thread_stack_size) {\n wasm = instance.exports;\n __wbg_init.__wbindgen_wasm_module = module;\n cachedDataViewMemory0 = null;\n cachedUint8ArrayMemory0 = null;\n\n if (typeof thread_stack_size !== 'undefined' && (typeof thread_stack_size !== 'number' || thread_stack_size === 0 || thread_stack_size % 65536 !== 0)) { throw 'invalid stack size' }\n wasm.__wbindgen_start(thread_stack_size);\n return wasm;\n}\n\nfunction initSync(module, memory) {\n if (wasm !== undefined) return wasm;\n\n let thread_stack_size\n if (typeof module !== 'undefined') {\n if (Object.getPrototypeOf(module) === Object.prototype) {\n ({module, memory, thread_stack_size} = module)\n } else {\n console.warn('using deprecated parameters for `initSync()`; pass a single object instead')\n }\n }\n\n const imports = __wbg_get_imports();\n\n __wbg_init_memory(imports, memory);\n\n if (!(module instanceof WebAssembly.Module)) {\n module = new WebAssembly.Module(module);\n }\n\n const instance = new WebAssembly.Instance(module, imports);\n\n return __wbg_finalize_init(instance, module, thread_stack_size);\n}\n\nasync function __wbg_init(module_or_path, memory) {\n if (wasm !== undefined) return wasm;\n\n let thread_stack_size\n if (typeof module_or_path !== 'undefined') {\n if (Object.getPrototypeOf(module_or_path) === Object.prototype) {\n ({module_or_path, memory, thread_stack_size} = module_or_path)\n } else {\n console.warn('using deprecated parameters for the initialization function; pass a single object instead')\n }\n }\n\n if (typeof module_or_path === 'undefined') {\n module_or_path = new URL('wasm_bg.wasm', \"\");\n }\n const imports = __wbg_get_imports();\n\n if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) {\n module_or_path = fetch(module_or_path);\n }\n\n __wbg_init_memory(imports, memory);\n\n const { instance, module } = await __wbg_load(await module_or_path, imports);\n\n return __wbg_finalize_init(instance, module, thread_stack_size);\n}\n\nexport { initSync };\nexport default __wbg_init;\n","\n// slightly modified https://github.com/ungap/random-uuid/blob/main/index.js\nexport function scramtag() {\n return (\"\"+1e10).replace(/[018]/g,\n c => (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16)\n );\n}\n","import { URLMeta } from \"./url\";\n\n// i am a cat. i like to be petted. i like to be fed. i like to be\nimport {\n\tinitSync,\n\trewrite_js,\n\trewrite_js_from_arraybuffer,\n\tRewriterOutput,\n} from \"../../../rewriter/wasm/out/wasm.js\";\nimport { $scramjet, flagEnabled } from \"../../scramjet\";\n\ninitSync({\n\tmodule: new WebAssembly.Module(\n\t\tUint8Array.from(atob(self.WASM), (c) => c.charCodeAt(0))\n\t),\n});\n\nError.stackTraceLimit = 50;\n\nconst decoder = new TextDecoder();\n\nfunction rewriteJsWrapper(\n\tinput: string | ArrayBuffer,\n\turl: string | null,\n\tmeta: URLMeta\n): string | ArrayBuffer {\n\tlet out: RewriterOutput;\n\tconst before = performance.now();\n\tif (typeof input === \"string\") {\n\t\tout = rewrite_js(input, meta.base.href, url || \"(unknown)\", $scramjet);\n\t} else {\n\t\tout = rewrite_js_from_arraybuffer(\n\t\t\tnew Uint8Array(input),\n\t\t\tmeta.base.href,\n\t\t\turl || \"(unknown)\",\n\t\t\t$scramjet\n\t\t);\n\t}\n\tconst after = performance.now();\n\tconst { js, errors, duration } = out;\n\n\tif (flagEnabled(\"rewriterLogs\", meta.base)) {\n\t\tfor (const error of errors) {\n\t\t\tconsole.error(\"oxc parse error\", error);\n\t\t}\n\t}\n\n\tif (flagEnabled(\"rewriterLogs\", meta.base)) {\n\t\tlet timespan: string;\n\t\tif (duration < 1n) {\n\t\t\ttimespan = \"BLAZINGLY FAST\";\n\t\t} else if (duration < 500n) {\n\t\t\ttimespan = \"decent speed\";\n\t\t} else {\n\t\t\ttimespan = \"really slow\";\n\t\t}\n\t\tconst overhead = (after - before - Number(duration)).toFixed(2);\n\t\tconsole.log(\n\t\t\t`oxc rewrite for \"${url || \"(unknown)\"}\" was ${timespan} (${duration}ms; ${overhead}ms overhead)`\n\t\t);\n\t}\n\n\treturn typeof input === \"string\" ? decoder.decode(js) : js;\n}\n\nexport function rewriteJs(\n\tjs: string | ArrayBuffer,\n\turl: string | null,\n\tmeta: URLMeta\n) {\n\tif (flagEnabled(\"naiiveRewriter\", meta.origin)) {\n\t\tconst text = typeof js === \"string\" ? js : new TextDecoder().decode(js);\n\n\t\tconsole.log(\"naiive\");\n\n\t\treturn rewriteJsNaiive(text);\n\t}\n\n\tjs = rewriteJsWrapper(js, url, meta);\n\n\treturn js;\n}\n\n// 1. does not work with modules\n// 2. cannot proxy import()\n// 3. disables \"use strict\" optimizations\n// 4. i think the global state can get clobbered somehow\n//\n// if you can ensure all the preconditions are met this is faster than full rewrites\nexport function rewriteJsNaiive(js: string | ArrayBuffer) {\n\tif (typeof js !== \"string\") {\n\t\tjs = new TextDecoder().decode(js);\n\t}\n\n\treturn `\n\t\twith (${$scramjet.config.globals.wrapfn}(globalThis)) {\n\n\t\t\t${js}\n\n\t\t}\n\t`;\n}\n","import { $scramjet } from \"../../scramjet\";\nimport { rewriteJs } from \"./js\";\n\nexport type URLMeta = {\n\torigin: URL;\n\tbase: URL;\n};\n\nfunction tryCanParseURL(url: string, origin?: string | URL): URL | null {\n\ttry {\n\t\treturn new URL(url, origin);\n\t} catch {\n\t\treturn null;\n\t}\n}\n\nexport function rewriteBlob(url: string, meta: URLMeta) {\n\tconst blob = new URL(url.substring(\"blob:\".length));\n\n\treturn \"blob:\" + meta.origin.origin + blob.pathname;\n}\n\nexport function unrewriteBlob(url: string) {\n\tconst blob = new URL(url.substring(\"blob:\".length));\n\n\treturn \"blob:\" + location.origin + blob.pathname;\n}\n\nexport function rewriteUrl(url: string | URL, meta: URLMeta) {\n\tif (url instanceof URL) {\n\t\turl = url.toString();\n\t}\n\n\tif (url.startsWith(\"javascript:\")) {\n\t\treturn (\n\t\t\t\"javascript:\" + rewriteJs(url.slice(\"javascript:\".length), null, meta)\n\t\t);\n\t} else if (url.startsWith(\"blob:\")) {\n\t\treturn location.origin + $scramjet.config.prefix + url;\n\t} else if (url.startsWith(\"data:\")) {\n\t\treturn location.origin + $scramjet.config.prefix + url;\n\t} else if (url.startsWith(\"mailto:\") || url.startsWith(\"about:\")) {\n\t\treturn url;\n\t} else {\n\t\tlet base = meta.base.href;\n\n\t\tif (base.startsWith(\"about:\")) base = unrewriteUrl(self.location.href); // jank!!!!! weird jank!!!\n\t\tconst realUrl = tryCanParseURL(url, base);\n\t\tif (!realUrl) return url;\n\n\t\treturn (\n\t\t\tlocation.origin +\n\t\t\t$scramjet.config.prefix +\n\t\t\t$scramjet.codec.encode(realUrl.href)\n\t\t);\n\t}\n}\n\nexport function unrewriteUrl(url: string | URL) {\n\tif (url instanceof URL) {\n\t\turl = url.toString();\n\t}\n\n\tconst prefixed = location.origin + $scramjet.config.prefix;\n\n\tif (url.startsWith(\"javascript:\")) {\n\t\t//TODO\n\t\treturn url;\n\t} else if (url.startsWith(\"blob:\")) {\n\t\t// realistically this shouldn't happen\n\t\treturn url;\n\t} else if (url.startsWith(prefixed + \"blob:\")) {\n\t\treturn url.substring(prefixed.length);\n\t} else if (url.startsWith(prefixed + \"data:\")) {\n\t\treturn url.substring(prefixed.length);\n\t} else if (url.startsWith(\"mailto:\") || url.startsWith(\"about:\")) {\n\t\treturn url;\n\t} else if (tryCanParseURL(url)) {\n\t\treturn $scramjet.codec.decode(\n\t\t\turl.slice((location.origin + $scramjet.config.prefix).length)\n\t\t);\n\t} else {\n\t\treturn url;\n\t}\n}\n","import { ScramjetClient } from \"../client\";\nimport { config } from \"../../shared\";\nimport { rewriteUrl } from \"../../shared/rewriters/url\";\n\nexport default function (client: ScramjetClient, self: Self) {\n\tconst Function = client.natives.store[\"Function\"];\n\n\tself[config.globals.importfn] = function (base: string) {\n\t\treturn function (url: string) {\n\t\t\tconst resolved = new URL(url, base).href;\n\n\t\t\treturn Function(\n\t\t\t\t`return import(\"${rewriteUrl(resolved, client.meta)}\")`\n\t\t\t)();\n\t\t};\n\t};\n\n\tself[config.globals.metafn] = function (base: string) {\n\t\treturn {\n\t\t\turl: base,\n\t\t\tresolve: function (url: string) {\n\t\t\t\treturn new URL(url, base).href;\n\t\t\t},\n\t\t};\n\t};\n}\n","import { ScramjetClient } from \"../client\";\n\nexport default function (client: ScramjetClient) {\n\tclient.Proxy(\"IDBFactory.prototype.open\", {\n\t\tapply(ctx) {\n\t\t\tctx.args[0] = `${client.url.origin}@${ctx.args[0]}`;\n\t\t},\n\t});\n\n\tclient.Trap(\"IDBDatabase.prototype.name\", {\n\t\tget(ctx) {\n\t\t\tconst name = ctx.get() as string;\n\n\t\t\treturn name.substring(name.indexOf(\"@\") + 1);\n\t\t},\n\t});\n}\n","import { iswindow } from \"..\";\nimport { SCRAMJETCLIENT } from \"../../symbols\";\nimport { ScramjetClient } from \"../client\";\nimport { POLLUTANT } from \"../shared/realm\";\n\nexport default function (client: ScramjetClient) {\n\tif (iswindow)\n\t\tclient.Proxy(\"window.postMessage\", {\n\t\t\tapply(ctx) {\n\t\t\t\t// so we need to send the real origin here, since the recieving window can't possibly know.\n\t\t\t\t// except, remember that this code is being ran in a different realm than the invoker, so if we ask our `client` it may give us the wrong origin\n\t\t\t\t// if we were given any object that came from the real realm we can use that to get the real origin\n\t\t\t\t// and this works in every case EXCEPT for the fact that all three arguments can be strings which are copied instead of cloned\n\t\t\t\t// so we have to use `$setrealm` which will pollute this with an object from the real realm\n\n\t\t\t\tlet pollutant;\n\n\t\t\t\tif (typeof ctx.args[0] === \"object\" && ctx.args[0] !== null) {\n\t\t\t\t\tpollutant = ctx.args[0]; // try to use the first object we can find because it's more reliable\n\t\t\t\t} else if (typeof ctx.args[2] === \"object\" && ctx.args[2] !== null) {\n\t\t\t\t\tpollutant = ctx.args[2]; // next try to use transfer\n\t\t\t\t} else if (\n\t\t\t\t\tctx.this &&\n\t\t\t\t\tPOLLUTANT in ctx.this &&\n\t\t\t\t\ttypeof ctx.this[POLLUTANT] === \"object\" &&\n\t\t\t\t\tctx.this[POLLUTANT] !== null\n\t\t\t\t) {\n\t\t\t\t\tpollutant = ctx.this[POLLUTANT]; // lastly try to use the object from $setrealm\n\t\t\t\t} else {\n\t\t\t\t\tpollutant = {}; // give up\n\t\t\t\t}\n\n\t\t\t\t// and now we can steal Function from the caller's realm\n\t\t\t\tconst {\n\t\t\t\t\tconstructor: { constructor: Function },\n\t\t\t\t} = pollutant;\n\n\t\t\t\t// invoking stolen function will give us the caller's globalThis, remember scramjet has already proxied it!!!\n\t\t\t\tconst callerGlobalThisProxied: Self = Function(\"return globalThis\")();\n\t\t\t\tconst callerClient = callerGlobalThisProxied[SCRAMJETCLIENT];\n\n\t\t\t\t// this WOULD be enough but the source argument of MessageEvent has to return the caller's window\n\t\t\t\t// and if we just call it normally it would be coming from here, which WILL NOT BE THE CALLER'S because the accessor is from the parent\n\t\t\t\t// so with the stolen function we wrap postmessage so the source will truly be the caller's window (remember that function is scramjet's!!!)\n\t\t\t\tconst wrappedPostMessage = Function(\"...args\", \"this(...args)\");\n\n\t\t\t\tctx.args[0] = {\n\t\t\t\t\t$scramjet$messagetype: \"window\",\n\t\t\t\t\t$scramjet$origin: callerClient.url.origin,\n\t\t\t\t\t$scramjet$data: ctx.args[0],\n\t\t\t\t};\n\n\t\t\t\t// * origin because obviously\n\t\t\t\tif (typeof ctx.args[1] === \"string\") ctx.args[1] = \"*\";\n\t\t\t\tif (typeof ctx.args[1] === \"object\") ctx.args[1].targetOrigin = \"*\";\n\n\t\t\t\tctx.return(wrappedPostMessage.call(ctx.fn, ...ctx.args));\n\t\t\t},\n\t\t});\n\n\tconst toproxy = [\"MessagePort.prototype.postMessage\"];\n\n\tif (self.Worker) toproxy.push(\"Worker.prototype.postMessage\");\n\tif (!iswindow) toproxy.push(\"self.postMessage\"); // only do the generic version if we're in a worker\n\n\tclient.Proxy(toproxy, {\n\t\tapply(ctx) {\n\t\t\t// origin/source doesn't need to be preserved - it's null in the message event\n\n\t\t\tctx.args[0] = {\n\t\t\t\t$scramjet$messagetype: \"worker\",\n\t\t\t\t$scramjet$data: ctx.args[0],\n\t\t\t};\n\t\t},\n\t});\n}\n","import { ScramjetClient } from \"../client\";\nimport { config } from \"../../shared\";\n\nexport const POLLUTANT = Symbol.for(\"scramjet realm pollutant\");\n\nexport default function (client: ScramjetClient, self: typeof globalThis) {\n\t// object.$setrealm({}).postMessage(...)\n\t// the empty object is the \"pollutant\" which can reconstruct the real realm\n\t// i explain more in postmessage.ts\n\tObject.defineProperty(self.Object.prototype, config.globals.setrealmfn, {\n\t\tvalue(pollution: object) {\n\t\t\t// this is bad!! sites could detect this\n\t\t\tObject.defineProperty(this, POLLUTANT, {\n\t\t\t\tvalue: pollution,\n\t\t\t\twritable: false,\n\t\t\t\tconfigurable: true,\n\t\t\t\tenumerable: false,\n\t\t\t});\n\n\t\t\treturn this;\n\t\t},\n\t\twritable: true,\n\t\tconfigurable: true,\n\t\tenumerable: false,\n\t});\n}\n","import { unrewriteUrl, rewriteUrl } from \"../../../shared\";\nimport { ScramjetClient } from \"../../client\";\n\nexport default function (client: ScramjetClient) {\n\tclient.Proxy(\"EventSource\", {\n\t\tconstruct(ctx) {\n\t\t\tctx.args[0] = rewriteUrl(ctx.args[0], client.meta);\n\t\t},\n\t});\n\n\tclient.Trap(\"EventSource.prototype.url\", {\n\t\tget(ctx) {\n\t\t\tunrewriteUrl(ctx.get() as string);\n\t\t},\n\t});\n}\n","// ts throws an error if you dont do window.fetch\n\nimport { isemulatedsw } from \"../..\";\nimport { unrewriteUrl } from \"../../../shared\";\nimport { ScramjetClient } from \"../../client\";\nimport { rewriteUrl } from \"../../../shared\";\n\nexport default function (client: ScramjetClient, _self: typeof globalThis) {\n\tclient.Proxy(\"fetch\", {\n\t\tapply(ctx) {\n\t\t\tif (typeof ctx.args[0] === \"string\" || ctx.args[0] instanceof URL) {\n\t\t\t\tctx.args[0] = rewriteUrl(ctx.args[0], client.meta);\n\n\t\t\t\tif (isemulatedsw) ctx.args[0] += \"?from=swruntime\";\n\t\t\t}\n\t\t},\n\t});\n\n\tclient.Proxy(\"Request\", {\n\t\tconstruct(ctx) {\n\t\t\tif (typeof ctx.args[0] === \"string\" || ctx.args[0] instanceof URL) {\n\t\t\t\tctx.args[0] = rewriteUrl(ctx.args[0], client.meta);\n\n\t\t\t\tif (isemulatedsw) ctx.args[0] += \"?from=swruntime\";\n\t\t\t}\n\t\t},\n\t});\n\n\tclient.Trap(\"Response.prototype.url\", {\n\t\tget(ctx) {\n\t\t\treturn unrewriteUrl(ctx.get() as string);\n\t\t},\n\t});\n\n\tclient.Trap(\"Request.prototype.url\", {\n\t\tget(ctx) {\n\t\t\treturn unrewriteUrl(ctx.get() as string);\n\t\t},\n\t});\n}\n","import { type BareWebSocket } from \"@mercuryworkshop/bare-mux\";\nimport { ScramjetClient } from \"../../client\";\n\ntype FakeWebSocketState = {\n\textensions: string;\n\tprotocol: string;\n\turl: string;\n\tbinaryType: string;\n\tbarews: BareWebSocket;\n\t/*\n\tcaptureListeners: Record;\n\tlisteners: Record;\n\t*/\n\tonclose?: (ev: CloseEvent) => any;\n\tonerror?: (ev: Event) => any;\n\tonmessage?: (ev: MessageEvent) => any;\n\tonopen?: (ev: Event) => any;\n};\nexport default function (client: ScramjetClient, self: typeof globalThis) {\n\tconst socketmap: WeakMap = new WeakMap();\n\tclient.Proxy(\"WebSocket\", {\n\t\tconstruct(ctx) {\n\t\t\tconst fakeWebSocket = new EventTarget() as WebSocket;\n\t\t\tObject.setPrototypeOf(fakeWebSocket, ctx.fn.prototype);\n\t\t\tfakeWebSocket.constructor = ctx.fn;\n\n\t\t\tconst trustEvent = (ev: Event) =>\n\t\t\t\tnew Proxy(ev, {\n\t\t\t\t\tget(target, prop) {\n\t\t\t\t\t\tif (prop === \"isTrusted\") return true;\n\n\t\t\t\t\t\treturn Reflect.get(target, prop);\n\t\t\t\t\t},\n\t\t\t\t});\n\n\t\t\tconst barews = client.bare.createWebSocket(\n\t\t\t\tctx.args[0],\n\t\t\t\tctx.args[1],\n\t\t\t\tnull,\n\t\t\t\t{\n\t\t\t\t\t\"User-Agent\": self.navigator.userAgent,\n\t\t\t\t\tOrigin: client.url.origin,\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tconst state: FakeWebSocketState = {\n\t\t\t\textensions: \"\",\n\t\t\t\tprotocol: \"\",\n\t\t\t\turl: ctx.args[0],\n\t\t\t\tbinaryType: \"blob\",\n\t\t\t\tbarews,\n\t\t\t\t/*\n\t\t\t\tcaptureListeners: {},\n\t\t\t\tlisteners: {},\n\t\t\t\t*/\n\t\t\t\tonclose: null,\n\t\t\t\tonerror: null,\n\t\t\t\tonmessage: null,\n\t\t\t\tonopen: null,\n\t\t\t};\n\n\t\t\tfunction fakeEventSend(fakeev: Event) {\n\t\t\t\tstate[\"on\" + fakeev.type]?.(trustEvent(fakeev));\n\t\t\t\tfakeWebSocket.dispatchEvent(fakeev);\n\t\t\t}\n\n\t\t\tbarews.addEventListener(\"open\", () => {\n\t\t\t\tfakeEventSend(new Event(\"open\"));\n\t\t\t});\n\t\t\tbarews.addEventListener(\"close\", (ev) => {\n\t\t\t\tfakeEventSend(new CloseEvent(\"close\", ev));\n\t\t\t});\n\t\t\tbarews.addEventListener(\"message\", async (ev) => {\n\t\t\t\tlet payload = ev.data;\n\t\t\t\tif (typeof payload === \"string\") {\n\t\t\t\t\t// DO NOTHING\n\t\t\t\t} else if (\"byteLength\" in payload) {\n\t\t\t\t\t// arraybuffer, convert to blob if needed or set the proper prototype\n\t\t\t\t\tif (state.binaryType === \"blob\") {\n\t\t\t\t\t\tpayload = new Blob([payload]);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tObject.setPrototypeOf(payload, ArrayBuffer.prototype);\n\t\t\t\t\t}\n\t\t\t\t} else if (\"arrayBuffer\" in payload) {\n\t\t\t\t\t// blob, convert to arraybuffer if neccesary.\n\t\t\t\t\tif (state.binaryType === \"arraybuffer\") {\n\t\t\t\t\t\tpayload = await payload.arrayBuffer();\n\t\t\t\t\t\tObject.setPrototypeOf(payload, ArrayBuffer.prototype);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst fakeev = new MessageEvent(\"message\", {\n\t\t\t\t\tdata: payload,\n\t\t\t\t\torigin: ev.origin,\n\t\t\t\t\tlastEventId: ev.lastEventId,\n\t\t\t\t\tsource: ev.source,\n\t\t\t\t\tports: ev.ports,\n\t\t\t\t});\n\n\t\t\t\tfakeEventSend(fakeev);\n\t\t\t});\n\t\t\tbarews.addEventListener(\"error\", () => {\n\t\t\t\tfakeEventSend(new Event(\"error\"));\n\t\t\t});\n\n\t\t\tsocketmap.set(fakeWebSocket, state);\n\t\t\tctx.return(fakeWebSocket);\n\t\t},\n\t});\n\t// i have no clue why this is here but it prevents the real event listener from ever happening so im commenting it out for now\n\t/*\n\tclient.Proxy(\"EventTarget.prototype.addEventListener\", {\n\t\tapply(ctx) {\n\t\t\tconst ws = socketmap.get(ctx.this);\n\t\t\tif (!ws) return; // it's not a websocket ignore it\n\n\t\t\tconst [type, listener, opts] = ctx.args;\n\n\t\t\tif (\n\t\t\t\t(typeof opts === \"object\" && opts.capture) ||\n\t\t\t\t(typeof opts === \"boolean\" && opts)\n\t\t\t) {\n\t\t\t\tconst listeners = (ws.captureListeners[type] ??= []);\n\t\t\t\tlisteners.push(listener);\n\t\t\t\tws.captureListeners[type] = listeners;\n\t\t\t} else {\n\t\t\t\tconst listeners = (ws.listeners[type] ??= []);\n\t\t\t\tlisteners.push(listener);\n\t\t\t\tws.listeners[type] = listeners;\n\t\t\t}\n\n\t\t\tctx.return(undefined);\n\t\t},\n\t});\n\n\tclient.Proxy(\"EventTarget.prototype.removeEventListener\", {\n\t\tapply(ctx) {\n\t\t\tconst ws = socketmap.get(ctx.this);\n\t\t\tif (!ws) return;\n\n\t\t\tconst [type, listener, opts] = ctx.args;\n\n\t\t\tif (\n\t\t\t\t(typeof opts === \"object\" && opts.capture) ||\n\t\t\t\t(typeof opts === \"boolean\" && opts)\n\t\t\t) {\n\t\t\t\tconst listeners = (ws.captureListeners[type] ??= []);\n\t\t\t\tconst idx = listeners.indexOf(listener);\n\t\t\t\tif (idx !== -1) listeners.splice(idx, 1);\n\t\t\t\tws.captureListeners[type] = listeners;\n\t\t\t} else {\n\t\t\t\tconst listeners = (ws.listeners[type] ??= []);\n\t\t\t\tconst idx = listeners.indexOf(listener);\n\t\t\t\tif (idx !== -1) listeners.splice(idx, 1);\n\t\t\t\tws.listeners[type] = listeners;\n\t\t\t}\n\n\t\t\tctx.return(undefined);\n\t\t},\n\t});\n\t*/\n\tclient.Trap(\"WebSocket.prototype.binaryType\", {\n\t\tget(ctx) {\n\t\t\tconst ws = socketmap.get(ctx.this);\n\n\t\t\treturn ws.binaryType;\n\t\t},\n\t\tset(ctx, v: string) {\n\t\t\tconst ws = socketmap.get(ctx.this);\n\t\t\tif (v === \"blob\" || v === \"arraybuffer\") ws.binaryType = v;\n\t\t},\n\t});\n\n\tclient.Trap(\"WebSocket.prototype.bufferedAmount\", {\n\t\tget() {\n\t\t\treturn 0;\n\t\t},\n\t});\n\n\tclient.Trap(\"WebSocket.prototype.extensions\", {\n\t\tget(ctx) {\n\t\t\tconst ws = socketmap.get(ctx.this);\n\n\t\t\treturn ws.extensions;\n\t\t},\n\t});\n\n\tclient.Trap(\"WebSocket.prototype.onclose\", {\n\t\tget(ctx) {\n\t\t\tconst ws = socketmap.get(ctx.this);\n\n\t\t\treturn ws.onclose;\n\t\t},\n\t\tset(ctx, v: (ev: CloseEvent) => any) {\n\t\t\tconst ws = socketmap.get(ctx.this);\n\t\t\tws.onclose = v;\n\t\t},\n\t});\n\n\tclient.Trap(\"WebSocket.prototype.onerror\", {\n\t\tget(ctx) {\n\t\t\tconst ws = socketmap.get(ctx.this);\n\n\t\t\treturn ws.onerror;\n\t\t},\n\t\tset(ctx, v: (ev: Event) => any) {\n\t\t\tconst ws = socketmap.get(ctx.this);\n\t\t\tws.onerror = v;\n\t\t},\n\t});\n\n\tclient.Trap(\"WebSocket.prototype.onmessage\", {\n\t\tget(ctx) {\n\t\t\tconst ws = socketmap.get(ctx.this);\n\n\t\t\treturn ws.onmessage;\n\t\t},\n\t\tset(ctx, v: (ev: MessageEvent) => any) {\n\t\t\tconst ws = socketmap.get(ctx.this);\n\t\t\tws.onmessage = v;\n\t\t},\n\t});\n\n\tclient.Trap(\"WebSocket.prototype.onopen\", {\n\t\tget(ctx) {\n\t\t\tconst ws = socketmap.get(ctx.this);\n\n\t\t\treturn ws.onopen;\n\t\t},\n\t\tset(ctx, v: (ev: Event) => any) {\n\t\t\tconst ws = socketmap.get(ctx.this);\n\t\t\tws.onopen = v;\n\t\t},\n\t});\n\n\tclient.Trap(\"WebSocket.prototype.url\", {\n\t\tget(ctx) {\n\t\t\tconst ws = socketmap.get(ctx.this);\n\n\t\t\treturn ws.url;\n\t\t},\n\t});\n\n\tclient.Trap(\"WebSocket.prototype.protocol\", {\n\t\tget(ctx) {\n\t\t\tconst ws = socketmap.get(ctx.this);\n\n\t\t\treturn ws.protocol;\n\t\t},\n\t});\n\n\tclient.Trap(\"WebSocket.prototype.readyState\", {\n\t\tget(ctx) {\n\t\t\tconst ws = socketmap.get(ctx.this);\n\n\t\t\treturn ws.barews.readyState;\n\t\t},\n\t});\n\n\tclient.Proxy(\"WebSocket.prototype.send\", {\n\t\tapply(ctx) {\n\t\t\tconst ws = socketmap.get(ctx.this);\n\n\t\t\tctx.return(ws.barews.send(ctx.args[0]));\n\t\t},\n\t});\n\n\tclient.Proxy(\"WebSocket.prototype.close\", {\n\t\tapply(ctx) {\n\t\t\tconst ws = socketmap.get(ctx.this);\n\t\t\tif (ctx.args[0] === undefined) ctx.args[0] = 1000;\n\t\t\tif (ctx.args[1] === undefined) ctx.args[1] = \"\";\n\t\t\tctx.return(ws.barews.close(ctx.args[0], ctx.args[1]));\n\t\t},\n\t});\n}\n","import { flagEnabled } from \"../../../scramjet\";\nimport { config, unrewriteUrl, rewriteUrl } from \"../../../shared\";\nimport { ScramjetClient } from \"../../client\";\n\nexport default function (client: ScramjetClient, self: Self) {\n\tlet worker;\n\tif (self.Worker && flagEnabled(\"syncxhr\", client.url)) {\n\t\tworker = client.natives.construct(\"Worker\", config.files.sync);\n\t}\n\tconst ARGS = Symbol(\"xhr original args\");\n\tconst HEADERS = Symbol(\"xhr headers\");\n\n\tclient.Proxy(\"XMLHttpRequest.prototype.open\", {\n\t\tapply(ctx) {\n\t\t\tif (ctx.args[1]) ctx.args[1] = rewriteUrl(ctx.args[1], client.meta);\n\t\t\tif (ctx.args[2] === undefined) ctx.args[2] = true;\n\t\t\tctx.this[ARGS] = ctx.args;\n\t\t},\n\t});\n\n\tclient.Proxy(\"XMLHttpRequest.prototype.setRequestHeader\", {\n\t\tapply(ctx) {\n\t\t\tconst headers = ctx.this[HEADERS] || (ctx.this[HEADERS] = {});\n\t\t\theaders[ctx.args[0]] = ctx.args[1];\n\t\t},\n\t});\n\n\tclient.Proxy(\"XMLHttpRequest.prototype.send\", {\n\t\tapply(ctx) {\n\t\t\tconst args = ctx.this[ARGS];\n\t\t\tif (!args || args[2]) return;\n\n\t\t\tif (!flagEnabled(\"syncxhr\", client.url)) {\n\t\t\t\tconsole.warn(\"ignoring request - sync xhr disabled in flags\");\n\n\t\t\t\treturn ctx.return(undefined);\n\t\t\t}\n\n\t\t\t// it's a sync request\n\t\t\t// sync xhr to service worker is not supported\n\t\t\t// there's a nice way of polyfilling this though, we can spin on an atomic using sharedarraybuffer. this will maintain the sync behavior\n\n\t\t\t// @ts-expect-error maxbytelength not in types yet i guess\n\t\t\tconst sab = new SharedArrayBuffer(1024, { maxByteLength: 2147483647 });\n\t\t\tconst view = new DataView(sab);\n\n\t\t\tclient.natives.call(\"Worker.prototype.postMessage\", worker, {\n\t\t\t\tsab,\n\t\t\t\targs,\n\t\t\t\theaders: ctx.this[HEADERS],\n\t\t\t\tbody: ctx.args[0],\n\t\t\t});\n\n\t\t\tconst now = performance.now();\n\t\t\twhile (view.getUint8(0) === 0) {\n\t\t\t\tif (performance.now() - now > 1000) {\n\t\t\t\t\tthrow new Error(\"xhr timeout\");\n\t\t\t\t}\n\t\t\t\t/* spin */\n\t\t\t}\n\n\t\t\tconst status = view.getUint16(1);\n\t\t\tconst headersLength = view.getUint32(3);\n\n\t\t\tconst headersab = new Uint8Array(headersLength);\n\t\t\theadersab.set(new Uint8Array(sab.slice(7, 7 + headersLength)));\n\t\t\tconst headers = new TextDecoder().decode(headersab);\n\n\t\t\tconst bodyLength = view.getUint32(7 + headersLength);\n\t\t\tconst bodyab = new Uint8Array(bodyLength);\n\t\t\tbodyab.set(\n\t\t\t\tnew Uint8Array(\n\t\t\t\t\tsab.slice(11 + headersLength, 11 + headersLength + bodyLength)\n\t\t\t\t)\n\t\t\t);\n\t\t\tconst body = new TextDecoder().decode(bodyab);\n\n\t\t\t// these should be using proxies to not leak scram strings but who cares\n\t\t\tclient.RawTrap(ctx.this, \"status\", {\n\t\t\t\tget() {\n\t\t\t\t\treturn status;\n\t\t\t\t},\n\t\t\t});\n\t\t\tclient.RawTrap(ctx.this, \"responseText\", {\n\t\t\t\tget() {\n\t\t\t\t\treturn body;\n\t\t\t\t},\n\t\t\t});\n\t\t\tclient.RawTrap(ctx.this, \"response\", {\n\t\t\t\tget() {\n\t\t\t\t\tif (ctx.this.responseType === \"arraybuffer\") return bodyab.buffer;\n\n\t\t\t\t\treturn body;\n\t\t\t\t},\n\t\t\t});\n\t\t\tclient.RawTrap(ctx.this, \"responseXML\", {\n\t\t\t\tget() {\n\t\t\t\t\tconst parser = new DOMParser();\n\n\t\t\t\t\treturn parser.parseFromString(body, \"text/xml\");\n\t\t\t\t},\n\t\t\t});\n\t\t\tclient.RawTrap(ctx.this, \"getAllResponseHeaders\", {\n\t\t\t\tget() {\n\t\t\t\t\treturn () => headers;\n\t\t\t\t},\n\t\t\t});\n\t\t\tclient.RawTrap(ctx.this, \"getResponseHeader\", {\n\t\t\t\tget() {\n\t\t\t\t\treturn (header: string) => {\n\t\t\t\t\t\tconst re = new RegExp(`^${header}: (.*)$`, \"m\");\n\t\t\t\t\t\tconst match = re.exec(headers);\n\n\t\t\t\t\t\treturn match ? match[1] : null;\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t});\n\n\t\t\t// send has no return value right\n\t\t\tctx.return(undefined);\n\t\t},\n\t});\n\n\tclient.Trap(\"XMLHttpRequest.prototype.responseURL\", {\n\t\tget(ctx) {\n\t\t\treturn unrewriteUrl(ctx.get() as string);\n\t\t},\n\t});\n}\n","import { flagEnabled } from \"../../scramjet\";\nimport { ScramjetClient } from \"../client\";\n\ntype Mapping = [string, number, number];\n\nconst sourcemaps: Record = {};\n\nexport const enabled = (client: ScramjetClient) =>\n\tflagEnabled(\"sourcemaps\", client.url);\n\nexport default function (client: ScramjetClient, self: Self) {\n\t// every script will push a sourcemap\n\tObject.defineProperty(self, \"$scramjet$pushsourcemap\", {\n\t\tvalue: (maps: Mapping[], tag: string) => {\n\t\t\tsourcemaps[tag] = maps;\n\t\t},\n\t\tenumerable: false,\n\t\twritable: false,\n\t\tconfigurable: false,\n\t});\n\n\tconst scramtag_ident = \"/*scramtag \";\n\n\t// when we rewrite javascript it will make function.toString leak internals\n\t// this can lead to double rewrites which is bad\n\tclient.Proxy(\"Function.prototype.toString\", {\n\t\tapply(ctx) {\n\t\t\tlet stringified: string = ctx.fn.call(ctx.this);\n\t\t\tlet newString = \"\";\n\n\t\t\t// every function rewritten will have a scramtag comment\n\t\t\t// it will look like this:\n\t\t\t// function name() /*scramtag [index] [tag] */ { ... }\n\t\t\tconst scramtagstart = stringified.indexOf(\"/*s\");\n\n\t\t\tif (scramtagstart === -1) return ctx.return(stringified); // it's either a native function or something stolen from scramjet itself\n\n\t\t\tconst firstspace = stringified.indexOf(\n\t\t\t\t\" \",\n\t\t\t\tscramtagstart + scramtag_ident.length\n\t\t\t);\n\t\t\t// [index] holds the index of the first character in the scramtag (/)\n\t\t\tconst abstagindex = parseInt(\n\t\t\t\tstringified.substring(scramtagstart + scramtag_ident.length, firstspace)\n\t\t\t);\n\n\t\t\t// subtracting that from the index of the scramtag gives us the starting index of the function relative to the entire file\n\t\t\tconst absindex = abstagindex - scramtagstart;\n\n\t\t\tconst scramtagend = stringified.indexOf(\"*/\", scramtagstart);\n\t\t\tconst tag = stringified.substring(firstspace + 1, scramtagend);\n\n\t\t\t// delete all scramtags inside the function (and nested ones!!)\n\t\t\tstringified = stringified.replace(/\\/\\*scramtag.*?\\*\\//g, \"\");\n\n\t\t\tconst maps = sourcemaps[tag];\n\n\t\t\tlet i = 0;\n\t\t\tlet offset = 0;\n\n\t\t\tlet j = 0;\n\t\t\twhile (j < maps.length) {\n\t\t\t\tconst [str, start, end] = maps[j];\n\t\t\t\tif (start < absindex) {\n\t\t\t\t\tj++;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (start - absindex + offset > stringified.length) break;\n\n\t\t\t\t// ooh i should really document this before i forget how it works\n\t\t\t\tnewString += stringified.slice(i, start - absindex + offset);\n\t\t\t\tnewString += str;\n\t\t\t\toffset += end - start - str.length;\n\t\t\t\ti = start - absindex + offset + str.length;\n\n\t\t\t\tj++;\n\t\t\t}\n\n\t\t\tnewString += stringified.slice(i);\n\n\t\t\treturn ctx.return(newString);\n\t\t},\n\t});\n}\n","export default function (client, self) {\n\tdelete self.TrustedHTML;\n\tdelete self.TrustedScript;\n\tdelete self.TrustedScriptURL;\n\tdelete self.TrustedTypePolicy;\n\tdelete self.TrustedTypePolicyFactory;\n\tself.__defineGetter__(\"trustedTypes\", () => undefined);\n}\n","import { iswindow } from \"..\";\nimport { ProxyCtx, ScramjetClient } from \"../client\";\n\n// we don't want to end up overriding a property on window that's derived from a prototype until we've proxied the prototype\nexport const order = 3;\n\nexport default function (client: ScramjetClient, self: typeof window) {\n\t// an automated approach to cleaning the documentProxy from dom functions\n\t// it will trigger an illegal invocation if you pass the proxy to c++ code, we gotta hotswap it out with the real one\n\t// admittedly this is pretty slow. worth investigating if there's ways to get back some of the lost performance\n\n\tfor (const target of [self]) {\n\t\tfor (const prop in target) {\n\t\t\ttry {\n\t\t\t\tif (typeof target[prop] === \"function\") {\n\t\t\t\t\tclient.RawProxy(target, prop, {\n\t\t\t\t\t\tapply(ctx) {\n\t\t\t\t\t\t\tunproxy(ctx, client);\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} catch {}\n\t\t}\n\t}\n\n\tif (!iswindow) return;\n\n\tfor (const target of [\n\t\tself.Node.prototype,\n\t\tself.MutationObserver.prototype,\n\t\tself.document,\n\t\tself.MouseEvent.prototype,\n\t\tself.Range.prototype,\n\t]) {\n\t\tfor (const prop in target) {\n\t\t\ttry {\n\t\t\t\tif (typeof target[prop] === \"function\") {\n\t\t\t\t\tclient.RawProxy(target, prop, {\n\t\t\t\t\t\tapply(ctx) {\n\t\t\t\t\t\t\tunproxy(ctx, client);\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} catch {}\n\t\t}\n\t}\n\t// this is probably not how stuff should be done but you cant run defineProperty on the window proxy so...\n\tclient.Proxy(\"Object.defineProperty\", {\n\t\tapply(ctx) {\n\t\t\tunproxy(ctx, client);\n\t\t},\n\t});\n\n\tclient.Proxy(\"Object.getOwnPropertyDescriptor\", {\n\t\tapply(ctx) {\n\t\t\tconst desc = ctx.call();\n\n\t\t\tif (!desc) return;\n\n\t\t\tif (desc.get) {\n\t\t\t\tclient.RawProxy(desc, \"get\", {\n\t\t\t\t\tapply(getCtx) {\n\t\t\t\t\t\t// value of this in the getter needs to be corrected\n\t\t\t\t\t\tunproxy(getCtx, client);\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (desc.set) {\n\t\t\t\tclient.RawProxy(desc, \"set\", {\n\t\t\t\t\tapply(setCtx) {\n\t\t\t\t\t\tunproxy(setCtx, client);\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// i don't think we have to care about value but it's worth looking into\n\n\t\t\tctx.return(desc);\n\t\t},\n\t});\n}\n\nexport function unproxy(ctx: ProxyCtx, client: ScramjetClient) {\n\tconst self = client.global;\n\tif (ctx.this === client.globalProxy) ctx.this = self;\n\tif (ctx.this === client.documentProxy) ctx.this = self.document;\n\n\tfor (const i in ctx.args) {\n\t\tif (ctx.args[i] === client.documentProxy) ctx.args[i] = self.document;\n\t\tif (ctx.args[i] === client.globalProxy) ctx.args[i] = self;\n\t}\n}\n","import { BareMuxConnection } from \"../../shared\";\nimport { rewriteUrl } from \"../../shared\";\nimport { ScramjetClient } from \"../client\";\n\nexport default function (client: ScramjetClient, _self: typeof globalThis) {\n\tclient.Proxy(\"Worker\", {\n\t\tconstruct({ args, call }) {\n\t\t\targs[0] = rewriteUrl(args[0], client.meta) + \"?dest=worker\";\n\n\t\t\tif (args[1] && args[1].type === \"module\") {\n\t\t\t\targs[0] += \"&type=module\";\n\t\t\t}\n\n\t\t\tconst worker = call();\n\t\t\tconst conn = new BareMuxConnection();\n\n\t\t\t(async () => {\n\t\t\t\tconst port = await conn.getInnerPort();\n\t\t\t\tclient.natives.call(\n\t\t\t\t\t\"Worker.prototype.postMessage\",\n\t\t\t\t\tworker,\n\t\t\t\t\t{\n\t\t\t\t\t\t$scramjet$type: \"baremuxinit\",\n\t\t\t\t\t\tport,\n\t\t\t\t\t},\n\t\t\t\t\t[port]\n\t\t\t\t);\n\t\t\t})();\n\t\t},\n\t});\n\n\t// sharedworkers can only be constructed from window\n\tclient.Proxy(\"SharedWorker\", {\n\t\tconstruct({ args, call }) {\n\t\t\targs[0] = rewriteUrl(args[0], client.meta) + \"?dest=worker\";\n\n\t\t\tif (args[1] && typeof args[1] === \"string\")\n\t\t\t\targs[1] = `${client.url.origin}@${args[1]}`;\n\n\t\t\tif (args[1] && typeof args[1] === \"object\") {\n\t\t\t\tif (args[1].type === \"module\") {\n\t\t\t\t\targs[0] += \"&type=module\";\n\t\t\t\t}\n\n\t\t\t\tif (args[1].name) {\n\t\t\t\t\targs[1].name = `${client.url.origin}@${args[1].name}`;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst worker = call();\n\t\t\tconst conn = new BareMuxConnection();\n\n\t\t\t(async () => {\n\t\t\t\tconst port = await conn.getInnerPort();\n\t\t\t\tclient.natives.call(\n\t\t\t\t\t\"MessagePort.prototype.postMessage\",\n\t\t\t\t\tworker.port,\n\t\t\t\t\t{\n\t\t\t\t\t\t$scramjet$type: \"baremuxinit\",\n\t\t\t\t\t\tport,\n\t\t\t\t\t},\n\t\t\t\t\t[port]\n\t\t\t\t);\n\t\t\t})();\n\t\t},\n\t});\n\n\tclient.Proxy(\"Worklet.prototype.addModule\", {\n\t\tapply(ctx) {\n\t\t\tif (ctx.args[0]) ctx.args[0] = rewriteUrl(ctx.args[0], client.meta);\n\t\t},\n\t});\n}\n","import { iswindow } from \"..\";\nimport { SCRAMJETCLIENT } from \"../../symbols\";\nimport { ScramjetClient } from \"../client\";\nimport { config } from \"../../shared\";\n// import { argdbg } from \"./err\";\nimport { indirectEval } from \"./eval\";\n\nexport function createWrapFn(client: ScramjetClient, self: typeof globalThis) {\n\treturn function (identifier: any) {\n\t\tif (identifier === self) return client.globalProxy;\n\t\tif (identifier === self.location) return client.locationProxy;\n\t\tif (identifier === eval) return indirectEval.bind(client);\n\n\t\tif (iswindow) {\n\t\t\tif (identifier === self.parent) {\n\t\t\t\tif (SCRAMJETCLIENT in self.parent) {\n\t\t\t\t\t// ... then we're in a subframe, and the parent frame is also in a proxy context, so we should return its proxy\n\t\t\t\t\treturn self.parent[SCRAMJETCLIENT].globalProxy;\n\t\t\t\t} else {\n\t\t\t\t\t// ... then we should pretend we aren't nested and return the current window\n\t\t\t\t\treturn client.globalProxy;\n\t\t\t\t}\n\t\t\t} else if (identifier === self.document) {\n\t\t\t\treturn client.documentProxy;\n\t\t\t} else if (identifier === self.top) {\n\t\t\t\t// instead of returning top, we need to return the uppermost parent that's inside a scramjet context\n\t\t\t\tlet current = self;\n\n\t\t\t\tfor (;;) {\n\t\t\t\t\tconst test = current.parent.self;\n\t\t\t\t\tif (test === current) break; // there is no parent, actual or emulated.\n\n\t\t\t\t\t// ... then `test` represents a window outside of the proxy context, and therefore `current` is the topmost window in the proxy context\n\t\t\t\t\tif (!(SCRAMJETCLIENT in test)) break;\n\n\t\t\t\t\t// test is also insde a proxy, so we should continue up the chain\n\t\t\t\t\tcurrent = test;\n\t\t\t\t}\n\n\t\t\t\treturn current[SCRAMJETCLIENT].globalProxy;\n\t\t\t}\n\t\t}\n\n\t\treturn identifier;\n\t};\n}\n\nexport const order = 4;\nexport default function (client: ScramjetClient, self: typeof globalThis) {\n\t// the main magic of the proxy. all attempts to access any \"banned objects\" will be redirected here, and instead served a proxy object\n\t// this contrasts from how other proxies will leave the root object alone and instead attempt to catch every member access\n\t// this presents some issues (see element.ts), but makes us a good bit faster at runtime!\n\tObject.defineProperty(self, config.globals.wrapfn, {\n\t\tvalue: client.wrapfn,\n\t\twritable: false,\n\t\tconfigurable: false,\n\t});\n\tObject.defineProperty(self, config.globals.wrapthisfn, {\n\t\tvalue: function (i) {\n\t\t\tif (i === self) return client.globalProxy;\n\n\t\t\treturn i;\n\t\t},\n\t\twritable: false,\n\t\tconfigurable: false,\n\t});\n\n\tself.$scramitize = function (v) {\n\t\tif (typeof v === \"string\" && v.includes(\"scramjet\")) {\n\t\t\tdebugger;\n\t\t}\n\n\t\tif (typeof v === \"string\" && v.includes(location.origin)) {\n\t\t\tdebugger;\n\t\t}\n\n\t\tif (iswindow && v instanceof Document && v.defaultView.$scramjet) {\n\t\t\tdebugger;\n\t\t}\n\n\t\treturn v;\n\t};\n\n\t// location = \"...\" can't be rewritten as wrapfn(location) = ..., so instead it will actually be rewritten as\n\t// ((t)=>$scramjet$tryset(location,\"+=\",t)||location+=t)(...);\n\t// it has to be a discrete function because there's always the possibility that \"location\" is a local variable\n\t// we have to use an IIFE to avoid duplicating side-effects in the getter\n\tObject.defineProperty(self, config.globals.trysetfn, {\n\t\tvalue: function (lhs: any, op: string, rhs: any) {\n\t\t\tif (lhs instanceof Location) {\n\t\t\t\t// @ts-ignore\n\t\t\t\tlocationProxy.href = rhs;\n\n\t\t\t\treturn true;\n\t\t\t}\n\t\t},\n\t\twritable: false,\n\t\tconfigurable: false,\n\t});\n}\n","import { ScramjetClient } from \"./client\";\nimport { unrewriteUrl } from \"../shared\";\n\nexport class ScramjetServiceWorkerRuntime {\n\trecvport: MessagePort;\n\tconstructor(public client: ScramjetClient) {\n\t\t// @ts-ignore\n\t\tself.onconnect = (cevent: MessageEvent) => {\n\t\t\tconst port = cevent.ports[0];\n\t\t\tdbg.log(\"sw\", \"connected\");\n\n\t\t\tport.addEventListener(\"message\", (event) => {\n\t\t\t\tconsole.log(\"sw\", event.data);\n\t\t\t\tif (\"scramjet$type\" in event.data) {\n\t\t\t\t\tif (event.data.scramjet$type === \"init\") {\n\t\t\t\t\t\tthis.recvport = event.data.scramjet$port;\n\t\t\t\t\t\tthis.recvport.postMessage({ scramjet$type: \"init\" });\n\t\t\t\t\t} else {\n\t\t\t\t\t\thandleMessage.call(this, client, event.data);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tport.start();\n\t\t};\n\t}\n\n\thook() {\n\t\tthis.client.global.registration = {\n\t\t\t// TODO IMPLEMENT SCOPES\n\t\t\tscope: this.client.url.href,\n\t\t\tactive: {\n\t\t\t\tscriptURL: this.client.url.href,\n\t\t\t\tstate: \"activated\",\n\t\t\t\tonstatechange: null,\n\t\t\t\tonerror: null,\n\n\t\t\t\tpostMessage: () => {},\n\t\t\t\taddEventListener: () => {},\n\t\t\t\tremoveEventListener: () => {},\n\t\t\t\tdispatchEvent: (_e: Event) => {},\n\t\t\t},\n\t\t\tshowNotification: async () => {},\n\t\t\tunregister: async () => true,\n\t\t\tupdate: async () => {},\n\t\t\tinstalling: null,\n\t\t\twaiting: null,\n\t\t};\n\n\t\t// @ts-ignore\n\t\tthis.client.global.ServiceWorkerGlobalScope = this.client.global;\n\t}\n}\n\nfunction handleMessage(\n\tthis: ScramjetServiceWorkerRuntime,\n\tclient: ScramjetClient,\n\tdata: MessageW2R\n) {\n\tconst port = this.recvport;\n\tconst type = data.scramjet$type;\n\tconst token = data.scramjet$token;\n\tconst handlers = client.eventcallbacks.get(self);\n\n\tif (type === \"fetch\") {\n\t\tdbg.log(\"ee\", data);\n\t\tconst fetchhandlers = handlers.filter((event) => event.event === \"fetch\");\n\t\tif (!fetchhandlers) return;\n\n\t\tfor (const handler of fetchhandlers) {\n\t\t\tconst request = data.scramjet$request;\n\n\t\t\tconst Request = client.natives[\"Request\"];\n\t\t\tconst fakeRequest = new Request(unrewriteUrl(request.url), {\n\t\t\t\tbody: request.body,\n\t\t\t\theaders: new Headers(request.headers),\n\t\t\t\tmethod: request.method,\n\t\t\t\tmode: \"same-origin\",\n\t\t\t});\n\n\t\t\tObject.defineProperty(fakeRequest, \"destination\", {\n\t\t\t\tvalue: request.destinitation,\n\t\t\t});\n\n\t\t\t// TODO: clean up, maybe put into a class\n\t\t\tconst fakeFetchEvent: any = new Event(\"fetch\");\n\t\t\tfakeFetchEvent.request = fakeRequest;\n\t\t\tlet responded = false;\n\t\t\tfakeFetchEvent.respondWith = (response: Response | Promise) => {\n\t\t\t\tresponded = true;\n\t\t\t\t(async () => {\n\t\t\t\t\tresponse = await response;\n\t\t\t\t\tconst message: MessageR2W = {\n\t\t\t\t\t\tscramjet$type: \"fetch\",\n\t\t\t\t\t\tscramjet$token: token,\n\t\t\t\t\t\tscramjet$response: {\n\t\t\t\t\t\t\tbody: response.body,\n\t\t\t\t\t\t\theaders: Array.from(response.headers.entries()),\n\t\t\t\t\t\t\tstatus: response.status,\n\t\t\t\t\t\t\tstatusText: response.statusText,\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\n\t\t\t\t\tdbg.log(\"sw\", \"responding\", message);\n\t\t\t\t\tport.postMessage(message, [response.body]);\n\t\t\t\t})();\n\t\t\t};\n\n\t\t\tdbg.log(\"to fn\", fakeFetchEvent);\n\t\t\thandler.proxiedCallback(trustEvent(fakeFetchEvent));\n\t\t\tif (!responded) {\n\t\t\t\tconsole.log(\"sw\", \"no response\");\n\t\t\t\tport.postMessage({\n\t\t\t\t\tscramjet$type: \"fetch\",\n\t\t\t\t\tscramjet$token: token,\n\t\t\t\t\tscramjet$response: false,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction trustEvent(event: Event): Event {\n\treturn new Proxy(event, {\n\t\tget(target, prop, _reciever) {\n\t\t\tif (prop === \"isTrusted\") return true;\n\n\t\t\treturn Reflect.get(target, prop);\n\t\t},\n\t});\n}\n\nexport type TransferrableResponse = {\n\tbody: ReadableStream;\n\theaders: [string, string][];\n\tstatus: number;\n\tstatusText: string;\n};\n\nexport type TransferrableRequest = {\n\tbody: ReadableStream;\n\theaders: [string, string][];\n\tdestinitation: RequestDestination;\n\tmethod: Request[\"method\"];\n\tmode: Request[\"mode\"];\n\turl: string;\n};\n\ntype FetchResponseMessage = {\n\tscramjet$type: \"fetch\";\n\tscramjet$response: TransferrableResponse;\n};\n\ntype FetchRequestMessage = {\n\tscramjet$type: \"fetch\";\n\tscramjet$request: TransferrableRequest;\n};\n\n// r2w = runtime to (service) worker\n\ntype MessageTypeR2W = FetchResponseMessage;\ntype MessageTypeW2R = FetchRequestMessage;\n\ntype MessageCommon = {\n\tscramjet$type: string;\n\tscramjet$token: number;\n};\n\nexport type MessageR2W = MessageCommon & MessageTypeR2W;\nexport type MessageW2R = MessageCommon &\n\tMessageTypeW2R & { scramjet$port?: MessagePort };\n","import { rewriteUrl } from \"../../shared\";\nimport { ScramjetClient } from \"../client\";\n\nexport default function (client: ScramjetClient, _self: Self) {\n\tclient.Proxy(\"importScripts\", {\n\t\tapply(ctx) {\n\t\t\tfor (const i in ctx.args) {\n\t\t\t\tctx.args[i] = rewriteUrl(ctx.args[i], client.meta);\n\t\t\t}\n\t\t},\n\t});\n}\n","export default {\n\tfmt: function (severity: string, message: string, ...args: any[]) {\n\t\tconst old = Error.prepareStackTrace;\n\n\t\tError.prepareStackTrace = (_, stack) => {\n\t\t\tstack.shift(); // stack();\n\t\t\tstack.shift(); // fmt();\n\t\t\tstack.shift();\n\n\t\t\tlet fmt = \"\";\n\t\t\tfor (let i = 1; i < Math.min(2, stack.length); i++) {\n\t\t\t\tif (stack[i].getFunctionName()) {\n\t\t\t\t\t// const f = stack[i].getThis()?.constructor?.name;\n\t\t\t\t\t// if (f) fmt += `${f}.`\n\t\t\t\t\tfmt += `${stack[i].getFunctionName()} -> ` + fmt;\n\t\t\t\t}\n\t\t\t}\n\t\t\tfmt += stack[0].getFunctionName() || \"Anonymous\";\n\n\t\t\treturn fmt;\n\t\t};\n\n\t\tconst fmt = (function stack() {\n\t\t\ttry {\n\t\t\t\tthrow new Error();\n\t\t\t} catch (e) {\n\t\t\t\treturn e.stack;\n\t\t\t}\n\t\t})();\n\n\t\tError.prepareStackTrace = old;\n\n\t\tconst fn = console[severity] || console.log;\n\t\tconst bg = {\n\t\t\tlog: \"#000\",\n\t\t\twarn: \"#f80\",\n\t\t\terror: \"#f00\",\n\t\t\tdebug: \"transparent\",\n\t\t}[severity];\n\t\tconst fg = {\n\t\t\tlog: \"#fff\",\n\t\t\twarn: \"#fff\",\n\t\t\terror: \"#fff\",\n\t\t\tdebug: \"gray\",\n\t\t}[severity];\n\t\tconst padding = {\n\t\t\tlog: 2,\n\t\t\twarn: 4,\n\t\t\terror: 4,\n\t\t\tdebug: 0,\n\t\t}[severity];\n\n\t\tfn(\n\t\t\t`%c${fmt}%c ${message}`,\n\t\t\t`\n\t\tbackground-color: ${bg};\n\t\tcolor: ${fg};\n\t\tpadding: ${padding}px;\n\t\tfont-weight: bold;\n\t\tfont-family: monospace;\n\t\tfont-size: 0.9em;\n\t`,\n\t\t\t`${severity === \"debug\" ? \"color: gray\" : \"\"}`,\n\t\t\t...args\n\t\t);\n\t},\n\tlog: function (message: string, ...args: any[]) {\n\t\tthis.fmt(\"log\", message, ...args);\n\t},\n\twarn: function (message: string, ...args: any[]) {\n\t\tthis.fmt(\"warn\", message, ...args);\n\t},\n\terror: function (message: string, ...args: any[]) {\n\t\tthis.fmt(\"error\", message, ...args);\n\t},\n\tdebug: function (message: string, ...args: any[]) {\n\t\tthis.fmt(\"debug\", message, ...args);\n\t},\n};\n","import { ScramjetFlags } from \"./types\";\n\nif (!(\"$scramjet\" in self)) {\n\t// @ts-expect-error ts stuff\n\tself.$scramjet = {\n\t\tversion: {\n\t\t\tbuild: COMMITHASH,\n\t\t\tversion: VERSION,\n\t\t},\n\t\tcodec: {},\n\t\tflagEnabled,\n\t};\n}\n\nexport const $scramjet = self.$scramjet;\n\nconst nativeFunction = Function;\nexport function loadCodecs() {\n\t$scramjet.codec.encode = nativeFunction(\n\t\t\"url\",\n\t\t$scramjet.config.codec.encode\n\t) as any;\n\t$scramjet.codec.decode = nativeFunction(\n\t\t\"url\",\n\t\t$scramjet.config.codec.decode\n\t) as any;\n}\n\nexport function flagEnabled(flag: keyof ScramjetFlags, url: URL): boolean {\n\tconst value = $scramjet.config.flags[flag];\n\tfor (const regex in $scramjet.config.siteFlags) {\n\t\tconst partialflags = $scramjet.config.siteFlags[regex];\n\t\tif (new RegExp(regex).test(url.href) && flag in partialflags) {\n\t\t\treturn partialflags[flag];\n\t\t}\n\t}\n\n\treturn value;\n}\n","import { $scramjet } from \"./scramjet\";\n\nexport const {\n\tutil: { BareClient, ScramjetHeaders, BareMuxConnection },\n\turl: { rewriteUrl, unrewriteUrl, rewriteBlob, unrewriteBlob },\n\trewrite: {\n\t\trewriteCss,\n\t\tunrewriteCss,\n\t\trewriteHtml,\n\t\tunrewriteHtml,\n\t\trewriteSrcset,\n\t\trewriteJs,\n\t\trewriteHeaders,\n\t\trewriteWorkers,\n\t\thtmlRules,\n\t},\n\tCookieStore,\n} = $scramjet.shared;\n\nexport const config = $scramjet.config;\n","// see types.d.ts for what these mean\nexport const SCRAMJETCLIENT = Symbol.for(\"scramjet client global\");\nexport const SCRAMJETFRAME = Symbol.for(\"scramjet frame handle\");\n"],"names":["ScramjetClient","global","CookieStore","Map","SCRAMJETCLIENT","console","Error","iswindow","createDocumentProxy","createLocationProxy","createGlobalProxy","createWrapFn","BareClient","Promise","resolve","addEventListener","data","Proxy","target","prop","split","realProp","realTarget","a","b","original","Reflect","args","that","nativeGetOwnPropertyDescriptor","value","client","base","url","frag","undefined","URL","frame","sframe","SCRAMJETFRAME","currentwin","cookiestr","context","modules","key","module","aorder","unrewriteUrl","ev","NavigateEvent","rewriteUrl","name","handler","Array","n","h","constructor","argArray","newTarget","returnValue","earlyreturn","ctx","r","fn","thisArg","pst","err","s","location","config","Object","getOwnPropertyDescriptorHandler","descriptor","oldDescriptor","v","desc","self","newValue","_self","map","proxy","_receiver","namespace","NamedNodeMap","isNaN","Number","keys","controller","rewriteCss","unrewriteCss","style","t","p","CSSStyleDeclaration","rewriteHtml","encoder","TextEncoder","attrObject","urlinterfaces","originalhrefs","attr","element","i","href","attrib","cleaned","attrNames","ruleList","htmlRules","rule","_ctx","_namespace","newval","rewriteJs","btoa","byte","String","scriptSource","atob","unrewriteHtml","realwin","newclient","doc","scram","Document","UrlChangeEvent","document","f","win","order","enabled","flagEnabled","disabled","_client","Navigator","registrationmap","WeakMap","registration","fakeRegistration","EventTarget","handle","worker","state","index","realLocalStorage","property","attributes","localStorageProxy","sessionStorageProxy","Event","ScramjetContextInit","window","UNSAFE_GLOBALS","isworker","issw","isdedicated","isshared","isemulatedsw","dbg","loadCodecs","runtime","ScramjetServiceWorkerRuntime","Location","fakeLocation","descriptorSource","native","nativeFunction","log","_v","rewriteBlob","unrewriteBlob","argdbg","arg","recurse","Symbol","ar","e","closure","error","stack","newstack","lines","line","l","_value","js","indirectEval","indirection","realOnEvent","handlers","wraplistener","listener","realEvent","type","_target","reciever","unproxy","origlistener","proxylistener","arr","targets","rewriteFunction","stringifiedFunction","content","addToExternrefTable0","obj","idx","handleError","cachedTextDecoder","TextDecoder","cachedUint8ArrayMemory0","getUint8ArrayMemory0","Uint8Array","getStringFromWasm0","ptr","len","WASM_VECTOR_LEN","cachedTextEncoder","encodeString","view","buf","passStringToWasm0","malloc","realloc","mem","offset","code","ret","cachedDataViewMemory0","getDataViewMemory0","DataView","isLikeNone","x","takeFromExternrefTable0","__wbg_load","imports","Response","WebAssembly","bytes","instance","__wbg_get_imports","arg0","arg1","arg2","arg3","arguments","Function","ptr1","c","crypto","len1","globalThis","table","v0","getArrayU8FromWasm0","__wbg_init_memory","memory","__wbg_finalize_init","thread_stack_size","__wbg_init","module_or_path","Request","fetch","initSync","decoder","tryCanParseURL","origin","resolved","meta","text","rewriteJsNaiive","$scramjet","rewriteJsWrapper","input","out","before","performance","rewrite_js","script_url","scramjet","ptr0","len0","ptr2","len2","rewrite_js_from_arraybuffer","passArray8ToWasm0","after","errors","duration","timespan","overhead","prefixed","realUrl","pollutant","POLLUTANT","callerClient","callerGlobalThisProxied","wrappedPostMessage","toproxy","pollution","socketmap","fakeWebSocket","trustEvent","barews","fakeEventSend","fakeev","CloseEvent","payload","Blob","ArrayBuffer","MessageEvent","ws","ARGS","HEADERS","headers","sab","SharedArrayBuffer","now","status","headersLength","headersab","bodyLength","bodyab","body","parser","DOMParser","header","match","re","RegExp","sourcemaps","maps","tag","scramtag_ident","stringified","newString","scramtagstart","firstspace","absindex","abstagindex","parseInt","scramtagend","j","str","start","end","getCtx","setCtx","call","conn","BareMuxConnection","port","identifier","eval","current","test","lhs","op","rhs","locationProxy","cevent","event","handleMessage","_e","token","fetchhandlers","request","fakeRequest","Headers","fakeFetchEvent","responded","response","message","_reciever","severity","old","_","fmt","Math","COMMITHASH","VERSION","flag","regex","partialflags","ScramjetHeaders","rewriteSrcset","rewriteHeaders","rewriteWorkers"],"mappings":"g2FAsEO,OAAMA,E,MACZ,cAAmB,AACnB,YAAiB,AACjB,cAAmB,AACnB,cAAsC,AACtC,KAAqB,AAErB,QAAqB,AACrB,YAA6B,AAC7B,OAAsC,AAEtC,YAAgC,AAEhC,eASc,AAEd,KAAc,AAEd,aAAmBC,CAAyB,CAAE,CAC7C,G,KADkBA,MAAM,CAANA,E,KAfnB,WAAW,CAAG,IAAIC,EAAAA,EAAWA,C,KAE7B,cAAc,CASV,IAAIC,IAKHC,EAAAA,CAAcA,IAAIH,EAIrB,MAHAI,QAAQ,KAAK,CACZ,4FAEK,AAAIC,OAGX,KAAI,CAAC,aAAa,CAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,CAEpDC,EAAAA,QAAQA,GACX,IAAI,CAAC,aAAa,CAAGC,AAAAA,GAAAA,EAAAA,mBAAAA,AAAAA,EAAoB,IAAI,CAAEP,GAE/CA,EAAO,QAAQ,CAACG,EAAAA,CAAcA,CAAC,CAAG,IAAI,EAGvC,IAAI,CAAC,aAAa,CAAGK,AAAAA,GAAAA,EAAAA,mBAAAA,AAAAA,EAAoB,IAAI,CAAER,GAC/C,IAAI,CAAC,WAAW,CAAGS,AAAAA,GAAAA,EAAAA,iBAAAA,AAAAA,EAAkB,IAAI,CAAET,GAC3C,IAAI,CAAC,MAAM,CAAGU,AAAAA,GAAAA,EAAAA,YAAAA,AAAAA,EAAa,IAAI,CAAEV,GAC7BM,EAAAA,QAAQA,CACX,IAAI,CAAC,IAAI,CAAG,IAAIK,EAAAA,EAAUA,CAE1B,IAAI,CAAC,IAAI,CAAG,IAAIA,EAAAA,EAAUA,CACzB,IAAIC,QAAQ,AAACC,IACZC,iBAAiB,UAAW,CAAC,CAAEC,KAAAA,CAAI,CAAE,IAChB,UAAhB,OAAOA,GAEV,mBAAoBA,GACpBA,AAAwB,gBAAxBA,EAAK,cAAc,EAEnBF,EAAQE,EAAK,IAAI,CAEnB,EACD,IAGF,IAAI,CAAC,OAAO,CAAG,CACd,MAAO,IAAIC,MACV,CAAC,EACD,CACC,IAAK,CAACC,EAAQC,KACb,GAAIA,KAAQD,EACX,OAAOA,CAAM,CAACC,EAAK,CAGpB,IAAMC,EAAQD,EAAK,KAAK,CAAC,KACnBE,EAAWD,EAAM,GAAG,GACpBE,EAAaF,EAAM,MAAM,CAAC,CAACG,EAAGC,IAAMD,GAAG,CAACC,EAAE,CAAE,IAAI,CAAC,MAAM,EAE7D,GAAI,CAACF,EAAY,OAEjB,IAAMG,EAAWC,QAAQ,GAAG,CAACJ,EAAYD,GAGzC,OAFAH,CAAM,CAACC,EAAK,CAAGM,EAERP,CAAM,CAACC,EAAK,AACpB,CACD,GAED,UAAUD,CAAc,CAAE,GAAGS,CAAI,EAChC,IAAMF,EAAW,IAAI,CAAC,KAAK,CAACP,EAAO,CACnC,GAAKO,EAEL,OAAO,IAAIA,KAAYE,EACxB,EACA,KAAKT,CAAc,CAAEU,CAAS,CAAE,GAAGD,CAAI,EACtC,IAAMF,EAAW,IAAI,CAAC,KAAK,CAACP,EAAO,CACnC,GAAKO,EAEL,OAAOA,EAAS,IAAI,CAACG,KAASD,EAC/B,CACD,EACA,IAAI,CAAC,WAAW,CAAG,CAClB,MAAO,IAAIV,MACV,CAAC,EACD,CACC,IAAK,CAACC,EAAQC,KACb,GAAIA,KAAQD,EACX,OAAOA,CAAM,CAACC,EAAK,CAGpB,IAAMC,EAAQD,EAAK,KAAK,CAAC,KACnBE,EAAWD,EAAM,GAAG,GACpBE,EAAaF,EAAM,MAAM,CAAC,CAACG,EAAGC,IAAMD,GAAG,CAACC,EAAE,CAAE,IAAI,CAAC,MAAM,EAE7D,GAAI,CAACF,EAAY,OAEjB,IAAMG,EAAWI,AAAAA,GAAAA,EAAAA,8BAAAA,AAAAA,EAChBP,EACAD,GAID,OAFAH,CAAM,CAACC,EAAK,CAAGM,EAERP,CAAM,CAACC,EAAK,AACpB,CACD,GAED,IAAID,CAAc,CAAEU,CAAS,EAC5B,IAAMH,EAAW,IAAI,CAAC,KAAK,CAACP,EAAO,CACnC,GAAKO,EAEL,OAAOA,EAAS,GAAG,CAAC,IAAI,CAACG,EAC1B,EACA,IAAIV,CAAc,CAAEU,CAAS,CAAEE,CAAU,EACxC,IAAML,EAAW,IAAI,CAAC,KAAK,CAACP,EAAO,CAC9BO,GAELA,EAAS,GAAG,CAAC,IAAI,CAACG,EAAME,EACzB,CACD,EAEA,IAAMC,EAAS,IAAI,AACnB,KAAI,CAAC,IAAI,CAAG,CACX,IAAI,QAAS,CACZ,OAAOA,EAAO,GAAG,AAClB,EACA,IAAI,MAAO,CACV,GAAIxB,EAAAA,QAAQA,CAAE,CACb,IAAMyB,EAAOD,EAAO,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,QAClD,GAAIC,EAAM,CACT,IAAIC,EAAMD,EAAK,YAAY,CAAC,QACtBE,EAAOD,EAAI,OAAO,CAAC,KAEzB,GAAI,CADJA,CAAAA,EAAMA,EAAI,SAAS,CAAC,EAAGC,AAAS,KAATA,EAAcC,KAAAA,EAAYD,EAAI,EAC3C,OAAOH,EAAO,GAAG,CAE3B,OAAO,IAAIK,IAAIH,EAAKF,EAAO,GAAG,CAAC,MAAM,CACtC,CACD,CAEA,OAAOA,EAAO,GAAG,AAClB,CACD,EAEA9B,CAAM,CAACG,EAAAA,CAAcA,CAAC,CAAG,IAAI,AAC9B,CAEA,IAAI,OAA8B,CACjC,GAAI,CAACG,EAAAA,QAAQA,CAAE,OAAO,KACtB,IAAM8B,EAAQ,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAClD,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAC5D,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAElC,GAAI,CAACA,EAAO,OAAO,KACnB,IAAMC,EAASD,CAAK,CAACE,EAAAA,CAAaA,CAAC,CAEnC,GAAI,CAACD,EAAQ,CAEZ,IAAIE,EAAa,IAAI,CAAC,MAAM,CAAC,MAAM,CACnC,KAAOA,EAAW,MAAM,EAAIA,GAAY,CACvC,GAAI,CAACA,EAAW,YAAY,CAAE,OAAO,KACrC,GAAIA,EAAW,YAAY,EAAIA,EAAW,YAAY,CAACD,EAAAA,CAAaA,CAAC,CACpE,OAAOC,EAAW,YAAY,CAACD,EAAAA,CAAaA,CAAC,CAE9CC,EAAaA,EAAW,MAAM,CAAC,MAAM,AACtC,CACD,CAEA,OAAOF,CACR,CAEA,YAAYG,CAAiB,CAAE,CAC9B,IAAI,CAAC,WAAW,CAAC,IAAI,CAACA,EACvB,CAEA,MAAO,CAEN,IAAMC,EAAU,QAIVC,EAA4B,EAAE,CAEpC,IAAK,IAAMC,KAAOF,EAAQ,IAAI,GAAI,CACjC,IAAMG,EAAyBH,EAAQE,GAClCA,EAAI,QAAQ,CAAC,QAEhBA,CAAAA,EAAI,UAAU,CAAC,WAAa,WAAY,IAAI,CAAC,MAAM,EACnDA,EAAI,UAAU,CAAC,cAAgB,sBAAuB,IAAI,CAAC,MAAM,EAClEA,EAAI,UAAU,CAAC,YAAW,GAE1BD,EAAQ,IAAI,CAACE,EAEf,CASA,IAAK,IAAMA,KAPXF,EAAQ,IAAI,CAAC,CAACpB,EAAGC,KAChB,IAAMsB,EAASvB,EAAE,KAAK,EAAI,EAG1B,OAAOuB,EAFQtB,CAAAA,EAAE,KAAK,EAAI,EAG3B,GAEqBmB,GAChB,CAACE,EAAO,OAAO,EAAIA,EAAO,OAAO,CAAC,IAAI,EACzCA,EAAO,OAAO,CAAC,IAAI,CAAE,IAAI,CAAC,MAAM,EACxBA,EAAO,QAAQ,EAAEA,EAAO,QAAQ,CAAC,IAAI,CAAE,IAAI,CAAC,MAAM,CAE7D,CAEA,IAAI,KAAW,CACd,OAAO,IAAIT,IAAIW,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAa,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EACtD,CAEA,IAAI,IAAId,CAAiB,CAAE,CACtBA,aAAeG,KAAKH,CAAAA,EAAMA,EAAI,QAAQ,EAAC,EAE3C,IAAMe,EAAK,IAAIC,EAAAA,aAAaA,CAAChB,EACzB,KAAI,CAAC,KAAK,EACb,IAAI,CAAC,KAAK,CAAC,aAAa,CAACe,IAEtBA,EAAG,gBAAgB,EAEvB,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAGE,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAWF,EAAG,GAAG,CAAE,IAAI,CAAC,IAAI,EACzD,CAMA,MAAMG,CAAuB,CAAEC,CAAc,CAAE,CAC9C,GAAIC,MAAM,OAAO,CAACF,GAAO,CACxB,IAAK,IAAMG,KAAKH,EACf,IAAI,CAAC,KAAK,CAACG,EAAGF,GAGf,MACD,CAEA,IAAMhC,EAAQ+B,EAAK,KAAK,CAAC,KACnBhC,EAAOC,EAAM,GAAG,GAChBF,EAASE,EAAM,MAAM,CAAC,CAACG,EAAGC,IAAMD,GAAG,CAACC,EAAE,CAAE,IAAI,CAAC,MAAM,EACzD,GAAI,CAACN,EAAQ,OAEb,IAAMO,EAAWC,QAAQ,GAAG,CAACR,EAAQC,EACrC,KAAI,CAAC,OAAO,CAAC,KAAK,CAACgC,EAAK,CAAG1B,EAE3B,IAAI,CAAC,QAAQ,CAACP,EAAQC,EAAMiC,EAC7B,CACA,SAASlC,CAAW,CAAEC,CAAY,CAAEiC,CAAc,CAAE,CACnD,GAAI,CAAClC,GACD,CAACC,GACD,CAACO,QAAQ,GAAG,CAACR,EAAQC,GAFZ,OAIb,IAAMW,EAAQJ,QAAQ,GAAG,CAACR,EAAQC,EAClC,QAAOD,CAAM,CAACC,EAAK,CAEnB,IAAMoC,EAAuB,CAAC,CAE1BH,CAAAA,EAAQ,SAAS,EACpBG,CAAAA,EAAE,SAAS,CAAG,SACbC,CAAgB,CAChBC,CAAe,CACfC,CAAsB,MAElBC,EACJ,IAAIC,EAAc,GAEZC,EAAgB,CACrB,GAAIL,EACJ,KAAM,KACN,KAAMC,EACN,UAAWC,EACX,OAAQ,AAACI,IACRF,EAAc,GACdD,EAAcG,CACf,EACA,KAAM,KACLF,EAAc,GACdD,EAAcjC,QAAQ,SAAS,CAACmC,EAAI,EAAE,CAAEA,EAAI,IAAI,CAAEA,EAAI,SAAS,EAIjE,QAIA,CAFAT,EAAQ,SAAS,CAACS,GAEdD,GACID,EAGDjC,QAAQ,SAAS,CAACmC,EAAI,EAAE,CAAEA,EAAI,IAAI,CAAEA,EAAI,SAAS,CACzD,GAGGT,EAAQ,KAAK,EAChBG,CAAAA,EAAE,KAAK,CAAG,SAAUQ,CAAO,CAAEC,CAAY,CAAEP,CAAe,MACrDE,EACJ,IAAIC,EAAc,GAEZC,EAAgB,CACrBE,GAAAA,EACA,KAAMC,EACN,KAAMP,EACN,UAAW,KACX,OAAQ,AAACK,IACRF,EAAc,GACdD,EAAcG,CACf,EACA,KAAM,KACLF,EAAc,GACdD,EAAcjC,QAAQ,KAAK,CAACmC,EAAI,EAAE,CAAEA,EAAI,IAAI,CAAEA,EAAI,IAAI,EAIxD,EAEMI,EAAM3D,MAAM,iBAAiB,AAEnCA,CAAAA,MAAM,iBAAiB,CAAG,SAAU4D,CAAG,CAAEC,CAAC,EACzC,GACCA,CAAC,CAAC,EAAE,CAAC,WAAW,IAChB,CAACA,CAAC,CAAC,EAAE,CAAC,WAAW,GAAG,UAAU,CAACC,SAAS,MAAM,CAAGC,EAAAA,EAAAA,CAAAA,MAAa,EAE9D,MAAO,CAAE,MAAOH,EAAI,KAAK,AAAC,CAE5B,EAEA,GAAI,CACHd,EAAQ,KAAK,CAACS,EACf,CAAE,MAAOK,EAAK,CACb,GAAIA,aAAe5D,OAClB,GAAK4D,EAAI,KAAK,YAAoBI,OAEjCJ,EAAI,KAAK,CAAGA,EAAI,KAAK,CAAC,KAAK,CAC3B7D,QAAQ,KAAK,CAAC,gCAAiC6D,QAE/C,MAAMA,OAGP,MAAMA,CAER,OAIA,CAFA5D,MAAM,iBAAiB,CAAG2D,EAEtBL,GACID,EAGDjC,QAAQ,KAAK,CAACmC,EAAI,EAAE,CAAEA,EAAI,IAAI,CAAEA,EAAI,IAAI,CAChD,GAGDN,EAAE,wBAAwB,CAAGgB,EAAAA,+BAA+BA,CAC5DrD,CAAM,CAACC,EAAK,CAAG,IAAIF,MAAMa,EAAOyB,EACjC,CACA,KAAQJ,CAAuB,CAAEqB,CAAmB,CAAsB,CACzE,GAAInB,MAAM,OAAO,CAACF,GAAO,CACxB,IAAK,IAAMG,KAAKH,EACf,IAAI,CAAC,IAAI,CAACG,EAAGkB,GAGd,MACD,CAEA,IAAMpD,EAAQ+B,EAAK,KAAK,CAAC,KACnBhC,EAAOC,EAAM,GAAG,GAChBF,EAASE,EAAM,MAAM,CAAC,CAACG,EAAGC,IAAMD,GAAG,CAACC,EAAE,CAAE,IAAI,CAAC,MAAM,EACzD,GAAI,CAACN,EAAQ,OAEb,IAAMO,EAAWI,AAAAA,GAAAA,EAAAA,8BAAAA,AAAAA,EAA+BX,EAAQC,GAGxD,OAFA,IAAI,CAAC,WAAW,CAAC,KAAK,CAACgC,EAAK,CAAG1B,EAExB,IAAI,CAAC,OAAO,CAACP,EAAQC,EAAMqD,EACnC,CACA,QACCtD,CAAW,CACXC,CAAY,CACZqD,CAAmB,CACE,CACrB,GAAI,CAACtD,GACD,CAACC,GACD,CAACO,QAAQ,GAAG,CAACR,EAAQC,GAFZ,OAIb,IAAMsD,EAAgB5C,AAAAA,GAAAA,EAAAA,8BAAAA,AAAAA,EAA+BX,EAAQC,GAEvD0C,EAAkB,CACvB,KAAM,KACN,IAAK,WACJ,OAAOY,GAAiBA,EAAc,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CACzD,EACA,IAAK,SAAUC,CAAI,EAElBD,GAAiBA,EAAc,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAEC,EACpD,CACD,CAEA,QAAOxD,CAAM,CAACC,EAAK,CAEnB,IAAMwD,EAA2B,CAAC,EA+BlC,OA7BIH,EAAW,GAAG,CACjBG,EAAK,GAAG,CAAG,WAGV,OAFAd,EAAI,IAAI,CAAG,IAAI,CAERW,EAAW,GAAG,CAACX,EACvB,EACUY,GAAe,KACzBE,CAAAA,EAAK,GAAG,CAAGF,EAAc,GAAG,AAAD,EAGxBD,EAAW,GAAG,CACjBG,EAAK,GAAG,CAAG,SAAUD,CAAI,EACxBb,EAAI,IAAI,CAAG,IAAI,CAEfW,EAAW,GAAG,CAACX,EAAKa,EACrB,EACUD,GAAe,KACzBE,CAAAA,EAAK,GAAG,CAAGF,EAAc,GAAG,AAAD,EAGxBD,EAAW,UAAU,CAAEG,EAAK,UAAU,CAAGH,EAAW,UAAU,CACzDC,GAAe,YACvBE,CAAAA,EAAK,UAAU,CAAGF,EAAc,UAAU,AAAD,EACtCD,EAAW,YAAY,CAAEG,EAAK,YAAY,CAAGH,EAAW,YAAY,CAC/DC,GAAe,cACvBE,CAAAA,EAAK,YAAY,CAAGF,EAAc,YAAY,AAAD,EAE9CH,OAAO,cAAc,CAACpD,EAAQC,EAAMwD,GAE7BF,CACR,CACD,C,qHChgBO,SAASjE,EACfuB,CAAsB,CACtB6C,CAAuB,EAEvB,OAAO,IAAI3D,MAAM2D,EAAK,QAAQ,CAAE,CAC/B,KAAI1D,EAAQC,IACX,AAAIA,AAAS,aAATA,EACIY,EAAO,aAAa,CAGxBZ,AAAS,gBAATA,EACIY,EAAO,WAAW,CAGZL,QAAQ,GAAG,CAACR,EAAQC,GAInC,IAAID,CAAM,CAAEC,CAAI,CAAE0D,CAAQ,EACzB,GAAI1D,AAAS,aAATA,EAAqB,CACxBiD,SAAS,IAAI,CAAGlB,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAW2B,EAAU9C,EAAO,IAAI,EAEhD,MACD,CAEA,OAAOL,QAAQ,GAAG,CAACR,EAAQC,EAAM0D,EAClC,EACA,yBAA0BN,EAAAA,+BAA+BA,AAC1D,EACD,C,oCC/Be,SAAS,EAACxC,CAAsB,CAAE+C,CAAoB,EACpE/C,EAAO,IAAI,CAAC,+BAAgC,CAC3C,IAAI8B,CAAG,EACN,IAAMkB,EAAMlB,EAAI,GAAG,GACbmB,EAAQ,IAAI/D,MAAM8D,EAAK,CAC5B,IAAI7D,CAAM,CAAEC,CAAI,CAAE8D,CAAS,EAC1B,IAAMnD,EAAQJ,QAAQ,GAAG,CAACR,EAAQC,SAElC,AAAIA,AAAS,WAATA,EACImD,OAAO,IAAI,CAACU,GAAO,MAAM,CAG7B7D,AAAS,iBAATA,EACI,AAACgC,GAAiB6B,CAAK,CAAC7B,EAAK,CAEjChC,AAAS,mBAATA,EACI,CAAC+D,EAAmB/B,IAC1B6B,CAAK,CAAC,CAAC,EAAEE,EAAU,CAAC,EAAE/B,EAAK,CAAC,CAAC,CAG3BhC,KAAQgE,aAAa,SAAS,EAAI,AAAiB,YAAjB,OAAOrD,EACrC,IAAIb,MAAMa,EAAO,CACvB,OAAMZ,EAAQ8C,EAASP,IACtB,AAAIO,IAAYgB,EACRtD,QAAQ,KAAK,CAACR,EAAQ6D,EAAKtB,GAG5B/B,QAAQ,KAAK,CAACR,EAAQ8C,EAASP,EAExC,GAIC,AAAgB,UAAhB,OAAOtC,GAAqB,AAAgB,UAAhB,OAAOA,GACnCiE,MAAMC,OAAOlE,IAOV,IAAI,CAAC,GAAG,CAACD,EAAQC,GAEfW,SALCiD,CAAG,CAFOT,OAAO,IAAI,CAACU,EAAM,CAAC7D,EAAK,CAErB,AAMtB,EACA,QAAQD,CAAM,EAGb,OAAOoE,AAFM5D,QAAQ,OAAO,CAACR,GAEjB,MAAM,CAAC,AAAC0B,GAAQ,IAAI,CAAC,GAAG,CAAC1B,EAAQ0B,GAC9C,EACA,KAAI1B,EAAQC,IACX,AAAI,AAAgB,UAAhB,OAAOA,EAA0BO,QAAQ,GAAG,CAACR,EAAQC,KACrDA,EAAK,UAAU,CAAC,mBAChB4D,CAAG,CAAC5D,EAAK,EAAE,MAAM,WAAW,oBAEzBO,QAAQ,GAAG,CAACR,EAAQC,EAE7B,GAEA,OAAO6D,CACR,CACD,GAEAjD,EAAO,IAAI,CAAC,uBAAwB,CACnC,IAAI8B,GACH,AAAIA,EAAI,IAAI,EAAE,aACNA,EAAI,IAAI,CAAC,YAAY,CAAC,YAAY,CAACA,EAAI,IAAI,CAAC,IAAI,EAGjDA,EAAI,GAAG,GAEf,KAAIA,EAAK/B,IACR,AAAI+B,EAAI,IAAI,EAAE,aACNA,EAAI,IAAI,CAAC,YAAY,CAAC,YAAY,CAACA,EAAI,IAAI,CAAC,IAAI,CAAE/B,GAGnD+B,EAAI,GAAG,CAAC/B,EAEjB,EACD,C,2IC9Ee,SAAS,EAACC,CAAsB,CAAE+C,CAAW,EAC3D/C,EAAO,KAAK,CAAC,iCAAkC,CAC9C,MAAM8B,CAAG,EACRA,EAAI,IAAI,CAAC,EAAE,CAAGX,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAWW,EAAI,IAAI,CAAC,EAAE,CAAE9B,EAAO,IAAI,CAClD,CACD,EACD,C,oCCPe,SAAS,EAACA,CAAsB,CAAE6C,CAAmB,EACnE7C,EAAO,aAAa,CAAC,gBAAgB,CAAC,UAAW,CAAC,CAAEf,KAAAA,CAAI,CAAE,IACnD,kBAAmBA,GAEE,WAAvBA,EAAK,aAAa,EACrBe,EAAO,WAAW,CAAC,UAAU,CAAC,CAACf,EAAK,MAAM,CAAC,CAAE,IAAIoB,IAAIpB,EAAK,GAAG,EAE/D,GAEAe,EAAO,IAAI,CAAC,4BAA6B,CACxC,QACQA,EAAO,WAAW,CAAC,UAAU,CAACA,EAAO,GAAG,CAAE,IAElD,IAAI8B,CAAG,CAAE/B,CAAa,EACrBC,EAAO,WAAW,CAAC,UAAU,CAAC,CAACD,EAAM,CAAEC,EAAO,GAAG,EACjD,IAAMwD,EAAaxD,EAAO,WAAW,CAAC,GAAG,CACxC,8CACAA,EAAO,aAAa,EAEjBwD,GACHxD,EAAO,OAAO,CAAC,IAAI,CAAC,sCAAuCwD,EAAY,CACtE,cAAe,SACf,OAAQzD,EACR,IAAKC,EAAO,GAAG,CAAC,IAAI,AACrB,EAEF,CACD,GAGA,OAAO6C,EAAK,WAAW,AACxB,C,2IC9Be,SAAS,EAAC7C,CAAsB,EAC9CA,EAAO,KAAK,CAAC,4CAA6C,CACzD,MAAM8B,CAAG,EACHA,EAAI,IAAI,CAAC,EAAE,EAChBA,CAAAA,EAAI,IAAI,CAAC,EAAE,CAAG2B,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAW3B,EAAI,IAAI,CAAC,EAAE,CAAE9B,EAAO,IAAI,EAClD,CACD,GAEAA,EAAO,KAAK,CAAC,iDAAkD,CAC9D,MAAM8B,CAAG,EACR,IAAMa,EAAIb,EAAI,IAAI,GAClB,GAAI,CAACa,EAAG,OAAOA,EACfb,EAAI,MAAM,CAAC4B,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAaf,GACzB,CACD,GAEA3C,EAAO,IAAI,CAAC,wCAAyC,CACpD,IAAI8B,CAAG,CAAE/B,CAAa,EACrB+B,EAAI,GAAG,CAAC2B,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAW1D,EAAOC,EAAO,IAAI,EACtC,EACA,IAAI8B,GACI4B,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAa5B,EAAI,GAAG,GAE7B,GAEA9B,EAAO,IAAI,CAAC,8BAA+B,CAC1C,IAAI8B,CAAG,EAIN,IAAM6B,EAAQ7B,EAAI,GAAG,GAErB,OAAO,IAAI5C,MAAMyE,EAAO,CACvB,IAAIC,CAAC,CAAEC,CAAC,EACP,IAAMlB,EAAIhD,QAAQ,GAAG,CAACiE,EAAGC,SAEzB,AAAI,AAAa,YAAb,OAAOlB,EACH,IAAIzD,MAAMyD,EAAG,CACnB,OAAMxD,EAAQ8C,EAASP,IACf/B,QAAQ,KAAK,CAACR,EAAQwE,EAAOjC,EAEtC,GAGGmC,KAAKC,oBAAoB,SAAS,EAClC,CAACnB,EAD0CA,EAGxCe,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAaf,EACrB,EACA,KAAIiB,EAAGC,EAAGlB,IACT,AAAIkB,AAAK,WAALA,GAAkBlB,AAAK,IAALA,GAAW,AAAa,UAAb,OAAOA,EAChChD,QAAQ,GAAG,CAACiE,EAAGC,EAAGlB,GAGnBhD,QAAQ,GAAG,CAACiE,EAAGC,EAAGJ,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAWd,EAAG3C,EAAO,IAAI,EAEpD,EACD,EACA,IAAI8B,CAAG,CAAEa,CAAS,EAEjBb,EAAI,GAAG,CAACa,EACT,CACD,EACD,C,+FC/De,SAAS,EAAC3C,CAAsB,CAAE+C,CAAW,EAC3D/C,EAAO,KAAK,CAAC,2BAA4B,CACxC,MAAM8B,CAAG,EACR,GAAIA,EAAI,IAAI,CAAC,EAAE,CACd,GAAI,CACHA,EAAI,IAAI,CAAC,EAAE,CAAGiC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EACbjC,EAAI,IAAI,CAAC,EAAE,CACX9B,EAAO,WAAW,CAClBA,EAAO,IAAI,CACX,GAEF,CAAE,KAAM,CAAC,CACX,CACD,GAEAA,EAAO,KAAK,CAAC,6BAA8B,CAC1C,MAAM8B,CAAG,EACR,GAAIA,EAAI,IAAI,CAAC,EAAE,CACd,GAAI,CACHA,EAAI,IAAI,CAAC,EAAE,CAAGiC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EACbjC,EAAI,IAAI,CAAC,EAAE,CACX9B,EAAO,WAAW,CAClBA,EAAO,IAAI,CACX,GAEF,CAAE,KAAM,CAAC,CACX,CACD,EACD,C,6HCzBA,IAAMgE,EAAU,IAAIC,YAQL,SAAS,EAACjE,CAAsB,CAAE6C,CAAmB,EACnE,IAAMqB,EAAa,CAClB,MAAO,CAACrB,EAAK,WAAW,CAAC,CACzB,UAAW,CAACA,EAAK,iBAAiB,CAAEA,EAAK,eAAe,CAAC,CACzD,IAAK,CAACA,EAAK,iBAAiB,CAAC,CAC7B,eAAgB,CAACA,EAAK,iBAAiB,CAAC,CACxC,IAAK,CACJA,EAAK,gBAAgB,CACrBA,EAAK,gBAAgB,CACrBA,EAAK,iBAAiB,CACtBA,EAAK,gBAAgB,CACrBA,EAAK,gBAAgB,CACrBA,EAAK,iBAAiB,CACtBA,EAAK,iBAAiB,CACtB,CACD,KAAM,CACLA,EAAK,iBAAiB,CACtBA,EAAK,eAAe,CACpBA,EAAK,aAAa,CAClBA,EAAK,eAAe,CACpB,CACD,KAAM,CAACA,EAAK,iBAAiB,CAAC,CAC9B,OAAQ,CAACA,EAAK,eAAe,CAAC,CAC9B,WAAY,CAACA,EAAK,iBAAiB,CAAEA,EAAK,gBAAgB,CAAC,CAC3D,OAAQ,CAACA,EAAK,iBAAiB,CAAC,CAChC,OAAQ,CAACA,EAAK,gBAAgB,CAAEA,EAAK,iBAAiB,CAAC,CACvD,OAAQ,CAACA,EAAK,gBAAgB,CAAC,CAC/B,YAAa,CAACA,EAAK,eAAe,CAAC,AACpC,EAEMsB,EAAgB,CACrBtB,EAAK,iBAAiB,CAAC,SAAS,CAChCA,EAAK,eAAe,CAAC,SAAS,CAC9B,CACKuB,EAAgB,CACrBtE,AAAAA,GAAAA,EAAAA,8BAAAA,AAAAA,EAA+B+C,EAAK,iBAAiB,CAAC,SAAS,CAAE,QACjE/C,AAAAA,GAAAA,EAAAA,8BAAAA,AAAAA,EAA+B+C,EAAK,eAAe,CAAC,SAAS,CAAE,QAC/D,CAID,IAAK,IAAMwB,KAFG9B,OAAO,IAAI,CAAC2B,GAGzB,IAAK,IAAMI,KAAWJ,CAAU,CAACG,EAAK,CAAE,CACvC,IAAM5B,EAAa3C,AAAAA,GAAAA,EAAAA,8BAAAA,AAAAA,EAClBwE,EAAQ,SAAS,CACjBD,GAED9B,OAAO,cAAc,CAAC+B,EAAQ,SAAS,CAAED,EAAM,CAC9C,YACC,AAAI,CAAC,MAAO,OAAQ,OAAQ,SAAU,aAAa,CAAC,QAAQ,CAACA,GACrDrD,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAayB,EAAW,GAAG,CAAC,IAAI,CAAC,IAAI,GAGtCA,EAAW,GAAG,CAAC,IAAI,CAAC,IAAI,CAChC,EAEA,IAAI1C,CAAK,EACR,OAAO,IAAI,CAAC,YAAY,CAACsE,EAAMtE,EAChC,CACD,EACD,CAcD,IAAK,IAAMX,IAVM,CAChB,WACA,OACA,OACA,WACA,SACA,WACA,OACA,SACA,CAEA,IAAK,IAAMmF,KAAKJ,EAAe,CAC9B,IAAMhF,EAASgF,CAAa,CAACI,EAAE,CACzB3B,EAAOwB,CAAa,CAACG,EAAE,CAC7BvE,EAAO,OAAO,CAACb,EAAQC,EAAM,CAC5B,IAAI0C,CAAG,EACN,IAAM0C,EAAO5B,EAAK,GAAG,CAAC,IAAI,CAACd,EAAI,IAAI,SACnC,AAAK0C,EAIEtE,AAFK,IAAIG,IAAIW,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAawD,GAEvB,CAACpF,EAAK,CAJEoF,CAKnB,CACD,EACD,CAGDxE,EAAO,IAAI,CAAC,yBAA0B,CACrC,MAEC,IAAMC,EAAO4C,EAAK,QAAQ,CAAC,aAAa,CAAC,eACzC,AAAI5C,EACI,IAAII,IAAIJ,EAAK,IAAI,CAAED,EAAO,GAAG,CAAC,MAAM,EAAE,IAAI,CAG3CA,EAAO,GAAG,CAAC,MAAM,AACzB,EACA,QACQ,EAET,GAEAA,EAAO,KAAK,CAAC,iCAAkC,CAC9C,MAAM8B,CAAG,EACR,GAAM,CAACV,EAAK,CAAGU,EAAI,IAAI,CAEvB,GAAIV,EAAK,UAAU,CAAC,iBACnB,OAAOU,EAAI,MAAM,CAAC,MAGnB,GACC9B,EAAO,OAAO,CAAC,IAAI,CAClB,iCACA8B,EAAI,IAAI,CACR,CAAC,cAAc,EAAEV,EAAK,CAAC,EAEvB,CACD,IAAMqD,EAAS3C,EAAI,EAAE,CAAC,IAAI,CAACA,EAAI,IAAI,CAAE,CAAC,cAAc,EAAEV,EAAK,CAAC,SAC5D,AAAIqD,AAAW,OAAXA,EAAwB3C,EAAI,MAAM,CAAC,IAEhCA,EAAI,MAAM,CAAC2C,EACnB,CACD,CACD,GAEAzE,EAAO,KAAK,CAAC,sCAAuC,CACnD,MAAM8B,CAAG,EAER,IAAM4C,EAAUC,AADE7C,EAAI,IAAI,GACA,MAAM,CAC/B,AAACuC,GAAS,CAACA,EAAK,UAAU,CAAC,kBAG5BvC,EAAI,MAAM,CAAC4C,EACZ,CACD,GAEA1E,EAAO,KAAK,CAAC,qCAAsC,CAClD,MAAM8B,CAAG,EACR,GAAIA,EAAI,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,iBAAkB,OAAOA,EAAI,MAAM,CAAC,KAChE,CACD,GAEA9B,EAAO,KAAK,CAAC,iCAAkC,CAC9C,MAAM8B,CAAG,EACR,GAAIA,EAAI,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,iBAAkB,OAAOA,EAAI,MAAM,CAAC,GAChE,CACD,GAEA9B,EAAO,KAAK,CAAC,iCAAkC,CAC9C,MAAM8B,CAAG,EACR,GAAM,CAACV,EAAMrB,EAAM,CAAG+B,EAAI,IAAI,CAExB8C,EAAWC,EAAAA,EAAAA,CAAAA,IAAc,CAAC,AAACC,IAChC,IAAM/C,EAAI+C,CAAI,CAAC1D,EAAK,WAAW,GAAG,OAClC,EAAKW,IACK,MAANA,GACa,YAAb,OAAOA,GAEJA,EAAE,QAAQ,CAACD,EAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAC/C,GAEI8C,IACH9C,EAAI,IAAI,CAAC,EAAE,CAAG8C,EAAS,EAAE,CAAC7E,EAAOC,EAAO,IAAI,CAAEA,EAAO,WAAW,EAChE8B,EAAI,EAAE,CAAC,IAAI,CAACA,EAAI,IAAI,CAAE,CAAC,cAAc,EAAEA,EAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAE/B,GAExD,CACD,GAGAC,EAAO,KAAK,CAAC,qCAAsC,CAClD,MAAM+E,CAAI,EAAG,CACd,GAEA/E,EAAO,KAAK,CAAC,mCAAoC,CAChD,MAAM8B,CAAG,EACR,GAAM,CAACkD,EAAY5D,EAAMrB,EAAM,CAAG+B,EAAI,IAAI,CAEpC8C,EAAWC,EAAAA,EAAAA,CAAAA,IAAc,CAAC,AAACC,IAChC,IAAM/C,EAAI+C,CAAI,CAAC1D,EAAK,WAAW,GAAG,OAClC,EAAKW,IACK,MAANA,GACa,YAAb,OAAOA,GAEJA,EAAE,QAAQ,CAACD,EAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAC/C,GAEI8C,IACH9C,EAAI,IAAI,CAAC,EAAE,CAAG8C,EAAS,EAAE,CAAC7E,EAAOC,EAAO,IAAI,CAAEA,EAAO,WAAW,EAChEA,EAAO,OAAO,CAAC,IAAI,CAClB,iCACA8B,EAAI,IAAI,CACR,CAAC,cAAc,EAAEA,EAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAC9B/B,GAGH,CACD,GAEAC,EAAO,KAAK,CAAC,oCAAqC,CACjD,MAAM8B,CAAG,EACR,GAAIA,EAAI,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,iBAAkB,OAAOA,EAAI,MAAM,CAAC1B,KAAAA,GAE9DJ,EAAO,OAAO,CAAC,IAAI,CAClB,iCACA8B,EAAI,IAAI,CACRA,EAAI,IAAI,CAAC,EAAE,GAGZA,EAAI,EAAE,CAAC,IAAI,CAACA,EAAI,IAAI,CAAE,CAAC,cAAc,EAAEA,EAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAEtD,CACD,GAEA9B,EAAO,KAAK,CAAC,oCAAqC,CACjD,MAAM8B,CAAG,EACR,GAAIA,EAAI,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,iBAAkB,OAAOA,EAAI,MAAM,CAAC,IAE9D9B,EAAO,OAAO,CAAC,IAAI,CAClB,iCACA8B,EAAI,IAAI,CACRA,EAAI,IAAI,CAAC,EAAE,GAGZA,EAAI,EAAE,CAAC,IAAI,CAACA,EAAI,IAAI,CAAE,CAAC,cAAc,EAAEA,EAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAEtD,CACD,GAEA9B,EAAO,IAAI,CAAC,8BAA+B,CAC1C,IAAI8B,CAAG,CAAE/B,CAAa,EACrB,IAAIkF,EACJ,GAAInD,EAAI,IAAI,YAAYe,EAAK,iBAAiB,CAC7CoC,EAASC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAUnF,EAAO,6BAA8BC,EAAO,IAAI,EACnEA,EAAO,OAAO,CAAC,IAAI,CAClB,iCACA8B,EAAI,IAAI,CACR,kCAlPGqD,KAJW7D,MAAM,IAAI,CAuPV0C,EAAQ,MAAM,CAACiB,GAvPG,AAACG,GACpCC,OAAO,aAAa,CAACD,IACpB,IAAI,CAAC,WAuPE,GAAItD,EAAI,IAAI,YAAYe,EAAK,gBAAgB,CACnDoC,EAASxB,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAW1D,EAAOC,EAAO,IAAI,OAEtC,GAAI,CACHiF,EAASlB,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAYhE,EAAOC,EAAO,WAAW,CAAEA,EAAO,IAAI,CAC5D,CAAE,KAAM,CACPiF,EAASlF,CACV,CAGD+B,EAAI,GAAG,CAACmD,EACT,EACA,IAAInD,CAAG,EACN,GAAIA,EAAI,IAAI,YAAYe,EAAK,iBAAiB,CAAE,CAC/C,IAAMyC,EAAetF,EAAO,OAAO,CAAC,IAAI,CACvC,iCACA8B,EAAI,IAAI,CACR,0CAGD,AAAIwD,EACIC,KAAKD,GAGNxD,EAAI,GAAG,EACf,QACA,AAAIA,EAAI,IAAI,YAAYe,EAAK,gBAAgB,CACrCf,EAAI,GAAG,GAGR0D,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAc1D,EAAI,GAAG,GAC7B,CACD,GAEA9B,EAAO,IAAI,CAAC,8BAA+B,CAC1C,IAAI8B,CAAG,CAAE/B,CAAa,EACrB+B,EAAI,GAAG,CAACiC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAYhE,EAAOC,EAAO,WAAW,CAAEA,EAAO,IAAI,EAC3D,EACA,IAAI8B,GACI0D,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAc1D,EAAI,GAAG,GAE9B,GAEA9B,EAAO,KAAK,CAAC,kCAAmC,CAC/C,MAAM8B,CAAG,EACR,GAAI,CACHA,EAAI,IAAI,CAAC,EAAE,CAAGiC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EACbjC,EAAI,IAAI,CAAC,EAAE,CACX9B,EAAO,WAAW,CAClBA,EAAO,IAAI,CACX,GAEF,CAAE,KAAM,CAAC,CACV,CACD,GAEAA,EAAO,KAAK,CAAC,4BAA6B,CACzC,MAAM8B,CAAG,EACRA,EAAI,MAAM,CAAC0D,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAc1D,EAAI,IAAI,IAClC,CACD,GAEA9B,EAAO,KAAK,CAAC,uCAAwC,CACpD,MAAM8B,CAAG,EACR,GAAIA,EAAI,IAAI,CAAC,EAAE,CACd,GAAI,CACHA,EAAI,IAAI,CAAC,EAAE,CAAGiC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EACbjC,EAAI,IAAI,CAAC,EAAE,CACX9B,EAAO,WAAW,CAClBA,EAAO,IAAI,CACX,GAEF,CAAE,KAAM,CAAC,CACX,CACD,GAEAA,EAAO,IAAI,CACV,CACC,4CACA,2CACA,4CACA,2CACA,CACD,CACC,IAAI8B,CAAG,EACN,IAAM2D,EAAU3D,EAAI,GAAG,GACvB,GAAI,CAAC2D,EAAS,OAAOA,EAErB,GAAIpH,EAAAA,CAAcA,IAAIoH,EACrB,OAAOA,CAAO,CAACpH,EAAAA,CAAcA,CAAC,CAAC,WAAW,AACpC,EAEN,IAAMqH,EAAY,IAAIzH,EAAAA,cAAcA,CAACwH,GAGrC,OAFAC,EAAU,IAAI,GAEPA,EAAU,WAAW,AAC7B,CACD,CACD,GAGD1F,EAAO,IAAI,CACV,CACC,8CACA,6CACA,8CACA,6CACA,CACD,CACC,IAAI8B,CAAG,EACN,IAAM2D,EAAUzF,EAAO,WAAW,CAAC,GAAG,CACrC,CAAC,EAAE8B,EAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,wBAAwB,CAAC,CACtDA,EAAI,IAAI,EAET,GAAI,CAAC2D,EAAS,OAAOA,EAErB,GAAIpH,EAAAA,CAAcA,IAAIoH,EACrB,OAAOA,CAAO,CAACpH,EAAAA,CAAcA,CAAC,CAAC,aAAa,AACtC,EACN,IAAMqH,EAAY,IAAIzH,EAAAA,cAAcA,CAACwH,GAGrC,OAFAC,EAAU,IAAI,GAEPA,EAAU,aAAa,AAC/B,CACD,CACD,GAGD1F,EAAO,KAAK,CACX,CACC,6CACA,6CACA,4CACA,CACD,CACC,MAAM8B,CAAG,EAER,GADYA,EAAI,IAAI,GAEnB,OAAOA,EAAI,MAAM,CAACA,EAAI,IAAI,CAAC,eAAe,CAE5C,CACD,GAGD9B,EAAO,IAAI,CAAC,mCAAoC,CAC/C,IAAI8B,GACIA,EAAI,GAAG,GAEf,KAAIA,EAAK/B,IACR,AAAIA,IAAUC,EAAO,aAAa,CAC1B8B,EAAI,GAAG,CAACe,EAAK,QAAQ,EAGtBf,EAAI,GAAG,CAAC/B,EAEjB,GAEAC,EAAO,KAAK,CAAC,0BAA2B,CACvC,MAAM8B,CAAG,EACR,IAAM6D,EAAM7D,EAAI,IAAI,GAEd8D,EAAwBD,CAAG,CAACtH,EAAAA,CAAcA,CAAC,QACjD,AAAKuH,EAEE9D,EAAI,MAAM,CAAC8D,EAAM,aAAa,EAFlB9D,EAAI,MAAM,CAAC6D,EAG/B,CACD,GAEA3F,EAAO,IAAI,CAAC,+BAAgC,CAC3C,IAAI8B,CAAG,EACN,IAAM6D,EAAM7D,EAAI,GAAG,GACnB,GAAI,CAAC6D,EAAK,OAAO,KAEjB,IAAMC,EAAwBD,CAAG,CAACtH,EAAAA,CAAcA,CAAC,QACjD,AAAKuH,EAEEA,EAAM,aAAa,CAFPD,CAGpB,CACD,GAEA3F,EAAO,IAAI,CACV,CACC,4BACA,+BACA,iCACA,6BACA,0CACA,uCACA,yCACA,CACD,CACC,IAAI8B,CAAG,EACN,IAAMP,EAAIO,EAAI,GAAG,GACjB,GAAI,CAAEP,CAAAA,aAAasE,QAAO,EAAI,OAAOtE,EAErC,IAAMqE,EAAwBrE,CAAC,CAAClD,EAAAA,CAAcA,CAAC,QAC/C,AAAKuH,EAEEA,EAAM,aAAa,CAFPrE,CAGpB,CACD,GAGDvB,EAAO,KAAK,CAAC,6BAA8B,CAC1C,MAAM8B,CAAG,EACR,IAAMP,EAAIO,EAAI,IAAI,GAClB,GAAI,CAAEP,CAAAA,aAAasE,QAAO,EAAI,OAAO/D,EAAI,MAAM,CAACP,GAEhD,IAAMqE,EAAwBrE,CAAC,CAAClD,EAAAA,CAAcA,CAAC,QAC/C,AAAKuH,EAEE9D,EAAI,MAAM,CAAC8D,EAAM,aAAa,EAFlB9D,EAAI,MAAM,CAACP,EAG/B,CACD,GAEAvB,EAAO,KAAK,CACX,CACC,sCACA,qCACA,CACD,CACC,MAAM8B,CAAG,EACR,GAAIA,AAAgB,cAAhBA,EAAI,IAAI,CAAC,EAAE,CACd,GAAI,CACHA,EAAI,IAAI,CAAC,EAAE,CAAGiC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EACbjC,EAAI,IAAI,CAAC,EAAE,CACX9B,EAAO,WAAW,CAClBA,EAAO,IAAI,CACX,GAEF,CAAE,KAAM,CAAC,CAEX,CACD,EAEF,C,+FCzee,SAAS,EAACA,CAAsB,CAAE+C,CAAW,EAC3D/C,EAAO,KAAK,CAAC,WAAY,CACxB,UAAU8B,CAAG,EACZA,EAAI,IAAI,CAAC,EAAE,CAAG2B,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAW3B,EAAI,IAAI,CAAC,EAAE,CAAE9B,EAAO,IAAI,CAClD,CACD,EACD,C,wGCLe,SAAS,EAACA,CAAsB,CAAE+C,CAAW,EAC3D/C,EAAO,KAAK,CAAC,8BAA+B,CAC3C,MAAM8B,CAAG,EACJA,CAAAA,EAAI,IAAI,CAAC,EAAE,EAAIA,AAAgB,KAAhBA,EAAI,IAAI,CAAC,EAAE,AAAM,GACnCA,CAAAA,EAAI,IAAI,CAAC,EAAE,CAAGX,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAWW,EAAI,IAAI,CAAC,EAAE,CAAE9B,EAAO,IAAI,GAClD8B,EAAI,IAAI,GAER,IAAMb,EAAK,IAAI6E,EAAAA,cAAcA,CAAC9F,EAAO,GAAG,CAAC,IAAI,CACzCA,CAAAA,EAAO,KAAK,EAAEA,EAAO,KAAK,CAAC,aAAa,CAACiB,EAC9C,CACD,GAEAjB,EAAO,KAAK,CAAC,iCAAkC,CAC9C,MAAM8B,CAAG,EACJA,CAAAA,EAAI,IAAI,CAAC,EAAE,EAAIA,AAAgB,KAAhBA,EAAI,IAAI,CAAC,EAAE,AAAM,GACnCA,CAAAA,EAAI,IAAI,CAAC,EAAE,CAAGX,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAWW,EAAI,IAAI,CAAC,EAAE,CAAE9B,EAAO,IAAI,GAClD8B,EAAI,IAAI,GAER,IAAMb,EAAK,IAAI6E,EAAAA,cAAcA,CAAC9F,EAAO,GAAG,CAAC,IAAI,CACzCA,CAAAA,EAAO,KAAK,EAAEA,EAAO,KAAK,CAAC,aAAa,CAACiB,EAC9C,CACD,EACD,C,oCCxBe,SAAS,EAACjB,CAAsB,EAC9CA,EAAO,KAAK,CAAC,uBAAwB,CACpC,UAAU8B,CAAG,EAERA,EAAI,IAAI,CAAC,EAAE,EAAIA,EAAI,IAAI,CAAC,EAAE,CAAC,IAAI,EAAEA,CAAAA,EAAI,IAAI,CAAC,EAAE,CAAC,IAAI,CAAGiE,QAAO,EAC/DjE,EAAI,IAAI,EACT,CACD,EACD,C,gFCVe,SAAS,EAAC9B,CAAM,CAAE6C,CAAU,EAE1C,OAAOA,EAAK,UAAU,AACvB,C,+JCCe,SAAS,EAAC7C,CAAsB,EAC9CA,EAAO,KAAK,CAAC,cAAe,CAC3B,MAAM8B,CAAG,EACJA,EAAI,IAAI,CAAC,EAAE,EAAEA,CAAAA,EAAI,IAAI,CAAC,EAAE,CAAGX,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAWW,EAAI,IAAI,CAAC,EAAE,CAAE9B,EAAO,IAAI,GAE9D,CAAC,UAAW,OAAQ,eAAe,CAAC,QAAQ,CAAC8B,EAAI,IAAI,CAAC,EAAE,GAC3DA,CAAAA,EAAI,IAAI,CAAC,EAAE,CAAG,OAAM,EAErB,IAAM2D,EAAU3D,EAAI,IAAI,GAExB,GAAI,CAAC2D,EAAS,OAAO3D,EAAI,MAAM,CAAC2D,GAEhC,GAAIpH,EAAAA,CAAcA,IAAIoH,EACrB,OAAO3D,EAAI,MAAM,CAAC2D,CAAO,CAACpH,EAAAA,CAAcA,CAAC,CAAC,WAAW,CAC/C,EACN,IAAMqH,EAAY,IAAIzH,EAAAA,cAAcA,CAACwH,GAIrC,OAFAC,EAAU,IAAI,GAEP5D,EAAI,MAAM,CAAC4D,EAAU,WAAW,CACxC,CACD,CACD,GAGA1F,EAAO,IAAI,CAAC,SAAU,CACrB,IAAI8B,CAAG,EACN,IAAM2D,EAAU3D,EAAI,GAAG,UAEvB,AAAI2D,GAAWpH,EAAAA,CAAcA,IAAIoH,EACzBA,CAAO,CAACpH,EAAAA,CAAcA,CAAC,CAAC,WAAW,CAG1C,MAEF,CACD,GAEA2B,EAAO,IAAI,CAAC,sBAAuB,CAClC,IAAI8B,CAAG,EACN,IAAMkE,EAAIlE,EAAI,GAAG,UACjB,AAAKkE,EAGDC,AADQD,EAAE,aAAa,CAAC,WAAW,AAChC,CAAC3H,EAAAA,CAAcA,CAAC,CAEf2H,EAGA,KAROA,CAUhB,CACD,EACD,C,oCCvDe,SAAS,EAAChG,CAAsB,CAAE+C,CAAW,EAC3D/C,EAAO,IAAI,CAAC,SAAU,CACrB,QAEQA,EAAO,GAAG,CAAC,MAAM,CAEzB,QACQ,EAET,GAEAA,EAAO,IAAI,CAAC,yBAA0B,CACrC,QACQA,EAAO,GAAG,CAAC,IAAI,CAEvB,QACQ,EAET,GAEAA,EAAO,IAAI,CAAC,iCAAkC,CAC7C,QACQA,EAAO,GAAG,CAAC,IAAI,CAEvB,QACQ,EAET,GAEAA,EAAO,IAAI,CAAC,4BAA6B,CACxC,QACQA,EAAO,GAAG,CAAC,QAAQ,CAE3B,QACQ,EAET,EACD,C,2ICpCe,SAAS,EAACA,CAAsB,CAAE+C,CAAW,EAC3D/C,EAAO,IAAI,CAAC,kCAAmC,CAC9C,IAAI8B,GACId,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAac,EAAI,GAAG,GAE7B,EACD,C,+LCHO,IAAMoE,EAAQ,EAERC,EAAU,AAACnG,GACvBoG,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAY,iBAAkBpG,EAAO,GAAG,EAElC,SAASqG,EAASC,CAAuB,CAAEvD,CAAW,EAC5DpD,QAAQ,cAAc,CAAC4G,UAAU,SAAS,CAAE,gBAC7C,CAOe,SAAS,EAACvG,CAAsB,CAAE+C,CAAW,EAC3D,IAAMyD,EAGF,IAAIC,QACRzG,EAAO,KAAK,CAAC,yCAA0C,CACtD,MAAM8B,CAAG,EACJ4E,eAAiB5E,EAAI,IAAI,EAE5BA,EAAI,MAAM,CAAC1B,KAAAA,EAEb,CACD,GAEAJ,EAAO,KAAK,CAAC,4CAA6C,CACzD,MAAM8B,CAAG,EACJ4E,eAAiB5E,EAAI,IAAI,EAE5BA,EAAI,MAAM,CAAC1B,KAAAA,EAEb,CACD,GAEAJ,EAAO,KAAK,CAAC,mDAAoD,CAChE,MAAM8B,CAAG,EACRA,EAAI,MAAM,CAAC,IAAIhD,QAAQ,AAACC,GAAYA,EAAQ2H,eAC7C,CACD,GAEA1G,EAAO,KAAK,CAAC,oDAAqD,CACjE,MAAM8B,CAAG,EACRA,EAAI,MAAM,CAAC,IAAIhD,QAAQ,AAACC,GAAYA,EAAQ,CAAC2H,aAAa,GAC3D,CACD,GAEA1G,EAAO,IAAI,CAAC,yCAA0C,CACrD,IAAI+E,GACI,IAAIjG,QAAQ,AAACC,GAAYA,EAAQ2H,cAE1C,GAEA1G,EAAO,IAAI,CAAC,8CAA+C,CAC1D,IAAI8B,GACI4E,cAAc,MAEvB,GAEA1G,EAAO,KAAK,CAAC,4CAA6C,CACzD,MAAM8B,CAAG,EACR,IAAM6E,EAAmB,IAAIC,YAC7BrE,OAAO,cAAc,CACpBoE,EACA9D,KAAK,yBAAyB,CAAC,SAAS,EAEzC8D,EAAiB,WAAW,CAAG7E,EAAI,EAAE,CACrC,IAAI5B,EAAMiB,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAWW,EAAI,IAAI,CAAC,EAAE,CAAE9B,EAAO,IAAI,EAAI,qBAC7C8B,CAAAA,EAAI,IAAI,CAAC,EAAE,EAAIA,AAAqB,WAArBA,EAAI,IAAI,CAAC,EAAE,CAAC,IAAI,EAClC5B,CAAAA,GAAO,cAAa,EAIrB,IAAM2G,EAASC,AADA9G,EAAO,OAAO,CAAC,SAAS,CAAC,eAAgBE,GAClC,IAAI,CACpB6G,EAA+B,CACpC,MAAOjF,EAAI,IAAI,CAAC,EAAE,CAClB,OAAQ+E,CACT,EACMrD,EAAaxD,EAAO,WAAW,CAAC,GAAG,CACxC,8CACAA,EAAO,aAAa,EAGrBA,EAAO,OAAO,CAAC,IAAI,CAClB,sCACAwD,EACA,CACC,cAAe,wBACf,KAAMqD,EACN,OAAQ7G,EAAO,GAAG,CAAC,MAAM,AAC1B,EACA,CAAC6G,EAAO,EAGTL,EAAgB,GAAG,CAACG,EAAkBI,GACtCjF,EAAI,MAAM,CAAC,IAAIhD,QAAQ,AAACC,GAAYA,EAAQ4H,IAC7C,CACD,EACD,C,oCCxGe,SAAS,EAAC3G,CAAsB,CAAE6C,CAAmB,EACnE,IAAMxB,EAAiC,CACtC,IAAIlC,CAAM,CAAEC,CAAI,EACf,OAAQA,GACP,IAAK,UACJ,OAAO,AAACyB,GACA1B,EAAO,OAAO,CAACa,EAAO,GAAG,CAAC,IAAI,CAAG,IAAMa,EAGhD,KAAK,UACJ,MAAO,CAACA,EAAad,IACbZ,EAAO,OAAO,CAACa,EAAO,GAAG,CAAC,IAAI,CAAG,IAAMa,EAAKd,EAGrD,KAAK,aACJ,OAAO,AAACc,GACA1B,EAAO,UAAU,CAACa,EAAO,GAAG,CAAC,IAAI,CAAG,IAAMa,EAGnD,KAAK,QACJ,MAAO,KACN,IAAK,IAAMA,KAAO0B,OAAO,IAAI,CAACpD,GACzB0B,EAAI,UAAU,CAACb,EAAO,GAAG,CAAC,IAAI,GACjCb,EAAO,UAAU,CAAC0B,EAGrB,CAED,KAAK,MACJ,OAAO,AAACmG,IACP,IAAMzD,EAAOhB,OAAO,IAAI,CAACpD,GAAQ,MAAM,CAAC,AAAC0B,GACxCA,EAAI,UAAU,CAACb,EAAO,GAAG,CAAC,IAAI,GAG/B,OAAOb,EAAO,OAAO,CAACoE,CAAI,CAACyD,EAAM,CAClC,CAED,KAAK,SACJ,OAAOzE,OAAO,IAAI,CAACpD,GAAQ,MAAM,CAAC,AAAC0B,GAClCA,EAAI,UAAU,CAACb,EAAO,GAAG,CAAC,IAAI,GAC7B,MAAM,AAET,SACC,GAAIZ,KAAQmD,OAAO,SAAS,EAAI,AAAgB,UAAhB,OAAOnD,EACtC,OAAOO,QAAQ,GAAG,CAACR,EAAQC,GAI5B,OAFAd,QAAQ,GAAG,CAAC,MAAOc,EAAMD,GAAU8H,GAE5B9H,EAAO,OAAO,CAACa,EAAO,GAAG,CAAC,IAAI,CAAG,IAAOZ,EACjD,CACD,EAEA,KAAID,EAAQC,EAAMW,KACbZ,GAAU8H,GACb3I,QAAQ,GAAG,CAAC,MAAOc,EAAMW,EAAOZ,IAAW8H,GAC5C9H,EAAO,OAAO,CAACa,EAAO,GAAG,CAAC,IAAI,CAAG,IAAOZ,EAAiBW,GAElD,IAGR,QAAQZ,GACAQ,QAAQ,OAAO,CAACR,GACrB,MAAM,CAAC,AAAC6G,GAAM,AAAa,UAAb,OAAOA,GAAkBA,EAAE,UAAU,CAAChG,EAAO,GAAG,CAAC,IAAI,GACnE,GAAG,CAAC,AAACgG,GACL,AAAa,UAAb,OAAOA,EAAiBA,EAAE,SAAS,CAAChG,EAAO,GAAG,CAAC,IAAI,CAAC,MAAM,CAAG,GAAKgG,GAIrE,0BAAyB7G,EAAQ+H,IACzB,EACN,MAAO/H,EAAO,OAAO,CAACa,EAAO,GAAG,CAAC,IAAI,CAAG,IAAOkH,GAC/C,WAAY,GACZ,aAAc,GACd,SAAU,EACX,GAGD,gBAAe/H,EAAQ+H,EAAUC,KAChChI,EAAO,OAAO,CACba,EAAO,GAAG,CAAC,IAAI,CAAG,IAAOkH,EACzBC,EAAW,KAAK,EAGV,GAET,EAEMF,EAAmBpE,EAAK,YAAY,CAEpCuE,EAAoB,IAAIlI,MAAM2D,EAAK,YAAY,CAAExB,GACjDgG,EAAsB,IAAInI,MAAM2D,EAAK,cAAc,CAAExB,EAE3D,QAAOwB,EAAK,YAAY,CACxB,OAAOA,EAAK,cAAc,CAE1BA,EAAK,YAAY,CAAGuE,EACpBvE,EAAK,cAAc,CAAGwE,CACvB,C,+MCnGO,OAAMnG,UAAsBoG,M,GAClC,aAAmBpH,CAAW,CAAE,CAC/B,KAAK,CAAC,iBADYA,GAAG,CAAHA,CAEnB,CACD,CAEO,MAAM4F,UAAuBwB,M,GACnC,aAAmBpH,CAAW,CAAE,CAC/B,KAAK,CAAC,kBADYA,GAAG,CAAHA,CAEnB,CACD,CAEO,MAAMqH,UAA4BD,M,MACxC,aAAmBE,CAAY,CAAE,CAChC,KAAK,CAAC,oBADYA,MAAM,CAANA,CAEnB,CACD,C,2KCTO,IAAMC,EAAiB,CAC7B,SACA,OACA,aACA,OACA,SACA,MACA,WACA,WACA,OACA,SACA,CAEM,SAAS9I,EACfqB,CAAsB,CACtB6C,CAAuB,EAEvB,OAAO,IAAI3D,MAAM2D,EAAM,CACtB,IAAI1D,CAAM,CAAEC,CAAI,EACf,IAAMW,EAAQJ,QAAQ,GAAG,CAACR,EAAQC,GAElC,GACCZ,EAAAA,QAAQA,EACP,CAAgB,UAAhB,OAAOY,GAAqB,AAAgB,UAAhB,OAAOA,CAAgB,GACpD,CAACiE,MAAMC,OAAOlE,KACdW,EACC,CACD,IAAMkG,EAAYlG,EAAM,IAAI,CAG5B,GAAIkG,EAAK,CACR,GAAI5H,EAAAA,CAAcA,IAAI4H,EAErB,OAAOA,CAAG,CAAC5H,EAAAA,CAAcA,CAAC,CAAC,WAAW,AAChC,EAGN,IAAMqH,EAAY,IAAIzH,EAAAA,cAAcA,CAACgI,GAGrC,OAFAP,EAAU,IAAI,GAEPA,EAAU,WAAW,AAC7B,CACD,CACD,CAEA,GAAItG,AAAS,cAATA,QAEJ,AAAI,AAAgB,UAAhB,OAAOA,GAAqBqI,EAAe,QAAQ,CAACrI,GAChDY,EAAO,MAAM,CAACD,GAEfA,CACR,EAEA,IAAIZ,CAAM,CAAEC,CAAI,CAAEW,CAAK,EACtB,GAAIX,AAAS,aAATA,EAAqB,CACxBY,EAAO,GAAG,CAAGD,EAEb,MACD,CAEA,OAAOJ,QAAQ,GAAG,CAACR,EAAQC,EAAMW,EAClC,EACA,KAAIZ,EAAQC,IACX,AAAa,cAATA,GAEGO,QAAQ,GAAG,CAACR,EAAQC,GAE5B,QAAQD,GACAQ,QAAQ,OAAO,CAACR,GAAQ,MAAM,CAAC,AAAC0B,GAAQA,AAAQ,cAARA,GAEhD,gBAAe1B,EAAQ+H,EAAUC,KAC5B,CAACA,EAAW,GAAG,EAAI,CAACA,EAAW,GAAG,EACrCA,CAAAA,EAAW,QAAQ,CAAG,EAAG,EAE1BA,EAAW,YAAY,CAAG,GAEnBxH,QAAQ,cAAc,CAACR,EAAQ+H,EAAUC,IAEjD,yBAA0B3E,EAAAA,+BAA+BA,AAC1D,EACD,C,oCCvFO,SAASA,EAAgCrD,CAAM,CAAEC,CAAI,EAG3D,OAFuBO,QAAQ,wBAAwB,CAACR,EAAQC,EAGjE,C,gXCIO,IAAMZ,EAAW,WAAYqE,KACvB6E,EAAW,sBAAuB7E,KAClC8E,EAAO,6BAA8B9E,KACrC+E,EAAc,+BAAgC/E,KAC9CgF,EAAW,4BAA6BhF,KACxCiF,EACZ,AAAyD,kBAAzD,IAAIzH,IAAIwC,KAAK,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,GAAG,CAAC,QAI9C,GAFAkF,EAAI,GAAG,CAAC,YAEJ,CAAE1J,CAAAA,EAAAA,CAAcA,IAA0BwE,IAAG,EAAI,CACpDmF,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,IAEA,IAAMhI,EAAS,IAAI/B,EAAAA,cAAcA,CAAC4E,KAE9BA,CAAAA,KAAK,MAAM,EAAE7C,EAAO,WAAW,CAAC6C,KAAK,MAAM,EAE/C7C,EAAO,IAAI,GAEP8H,GAEHG,AADgB,IAAIC,EAAAA,4BAA4BA,CAAClI,GACzC,IAAI,GAGb,IAAMiB,EAAK,IAAIsG,EAAAA,mBAAmBA,CAACvH,EAAO,MAAM,CAAC,MAAM,CACvDA,CAAAA,EAAO,KAAK,EAAE,cAAciB,EAC7B,CAEI,aAAc4B,MAAQkD,UAAU,eACnCA,SAAS,aAAa,CAAC,MAAM,E,yIC9BvB,SAASrH,EACfsB,CAAsB,CACtB6C,CAAuB,EAEvB,IAAMsF,EAAW3J,EAAAA,QAAQA,CAAGqE,EAAK,QAAQ,CAAGA,EAAK,cAAc,CAEzDuF,EAAe,CAAC,EACtB7F,OAAO,cAAc,CAAC6F,EAAcD,EAAS,SAAS,EACtDC,EAAa,WAAW,CAAGD,EAG3B,IAAME,EAAmB7J,EAAAA,QAAQA,CAAGqE,EAAK,QAAQ,CAAGsF,EAAS,SAAS,CAYtE,IAAK,IAAM/I,IAXM,CAChB,WACA,OACA,OACA,WACA,OACA,SACA,WACA,OACA,SACA,CAC4B,CAC5B,IAAMkJ,EAASxI,AAAAA,GAAAA,EAAAA,8BAAAA,AAAAA,EAA+BuI,EAAkBjJ,GAChE,GAAI,CAACkJ,EAAQ,SAEb,IAAM1F,EAAO,CACZ,aAAc,GACd,WAAY,EACb,CACI0F,CAAAA,EAAO,GAAG,EACb1F,CAAAA,EAAK,GAAG,CAAG,IAAI1D,MAAMoJ,EAAO,GAAG,CAAE,CAChC,UACQtI,EAAO,GAAG,CAACZ,EAAK,AAEzB,EAAC,EAEEkJ,EAAO,GAAG,EACb1F,CAAAA,EAAK,GAAG,CAAG,IAAI1D,MAAMoJ,EAAO,GAAG,CAAE,CAChC,MAAMnJ,CAAM,CAAE8C,CAAO,CAAErC,CAAI,EAC1B,GAAIR,AAAS,SAATA,EAAiB,CAEpBY,EAAO,GAAG,CAAGJ,CAAI,CAAC,EAAE,CAEpB,MACD,CACA,GAAIR,AAAS,SAATA,EAAiB,CACpByD,EAAK,QAAQ,CAAC,IAAI,CAAGjD,CAAI,CAAC,EAAE,CAC5B,IAAMqB,EAAK,IAAI6E,EAAAA,cAAcA,CAAC9F,EAAO,GAAG,CAAC,IAAI,CACzCA,CAAAA,EAAO,KAAK,EAAEA,EAAO,KAAK,CAAC,aAAa,CAACiB,GAE7C,MACD,CACA,IAAMf,EAAM,IAAIG,IAAIL,EAAO,GAAG,CAAC,IAAI,CACnCE,CAAAA,CAAG,CAACd,EAAK,CAAGQ,CAAI,CAAC,EAAE,CACnBI,EAAO,GAAG,CAAGE,CACd,CACD,EAAC,EAEFqC,OAAO,cAAc,CAAC6F,EAAchJ,EAAMwD,EAC3C,CAoCA,OAjCAwF,EAAa,QAAQ,CAAG,IAAIlJ,MAAM2D,EAAK,QAAQ,CAAC,QAAQ,CAAE,CACzD,UACQ7C,EAAO,GAAG,CAAC,IAAI,AAExB,GAEI6C,EAAK,QAAQ,CAAC,OAAO,EACxBuF,CAAAA,EAAa,OAAO,CAAG,IAAIlJ,MAAM2D,EAAK,QAAQ,CAAC,OAAO,CAAE,CACvD,UACQ7C,EAAO,GAAG,CAAC,IAAI,AAExB,EAAC,EACE6C,EAAK,QAAQ,CAAC,MAAM,EACvBuF,CAAAA,EAAa,MAAM,CAAG,IAAIlJ,MAAM2D,EAAK,QAAQ,CAAC,MAAM,CAAE,CACrD,MAAM1D,CAAM,CAAE8C,CAAO,CAAErC,CAAI,EAC1BA,CAAI,CAAC,EAAE,CAAGuB,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAWvB,CAAI,CAAC,EAAE,CAAEI,EAAO,IAAI,EACzCL,QAAQ,KAAK,CAACR,EAAQ0D,EAAK,QAAQ,CAAEjD,EACtC,CACD,EAAC,EACEiD,EAAK,QAAQ,CAAC,MAAM,EACvBuF,CAAAA,EAAa,MAAM,CAAG,IAAIlJ,MAAM2D,EAAK,QAAQ,CAAC,MAAM,CAAE,CACrD,MAAM1D,CAAM,CAAE8C,CAAO,CAAErC,CAAI,EAC1BD,QAAQ,KAAK,CAACR,EAAQ0D,EAAK,QAAQ,CAAEjD,EACtC,CACD,EAAC,EACEiD,EAAK,QAAQ,CAAC,OAAO,EACxBuF,CAAAA,EAAa,OAAO,CAAG,IAAIlJ,MAAM2D,EAAK,QAAQ,CAAC,OAAO,CAAE,CACvD,MAAM1D,CAAM,CAAE8C,CAAO,CAAErC,CAAI,EAC1BA,CAAI,CAAC,EAAE,CAAGuB,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAWvB,CAAI,CAAC,EAAE,CAAEI,EAAO,IAAI,EACzCL,QAAQ,KAAK,CAACR,EAAQ0D,EAAK,QAAQ,CAAEjD,EACtC,CACD,EAAC,EAEKwI,CACR,C,4ICzGO,IAAMG,EAAiB1F,KAAK,QAAQ,CAC9B/C,EACZ+C,KAAK,MAAM,CAAC,wBAAwB,A,oCCAtB,SAAS,EAAC7C,CAAsB,EAC9CA,EAAO,KAAK,CAAC,gBAAiB,CAC7B,MAAM8B,CAAG,EAERA,EAAI,MAAM,CAAC1B,KAAAA,EACZ,CACD,GAEA,IAAMoI,EAAMlK,QAAQ,GAAG,CACvB0B,EAAO,IAAI,CAAC,cAAe,CAC1B,IAAI+E,CAAI,CAAE0D,CAAE,EAEZ,EACA,IAAI1D,GACIyD,CAET,EACD,C,2ICjBe,SAAS,EAACxI,CAAsB,EAE9CA,EAAO,KAAK,CAAC,sBAAuB,CACnC,MAAM8B,CAAG,EACR,IAAM5B,EAAc4B,EAAI,IAAI,GACxB5B,EAAI,UAAU,CAAC,SAClB4B,EAAI,MAAM,CAAC4G,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAYxI,EAAKF,EAAO,IAAI,GAEvC8B,EAAI,MAAM,CAAC5B,EAEb,CACD,GAEAF,EAAO,KAAK,CAAC,sBAAuB,CACnC,MAAM8B,CAAG,EACRA,EAAI,IAAI,CAAC,EAAE,CAAG6G,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAc7G,EAAI,IAAI,CAAC,EAAE,CACxC,CACD,EACD,C,+FCjBe,SAAS,EAAC9B,CAAsB,CAAE+C,CAAW,EAC3D/C,EAAO,KAAK,CAAC,8BAA+B,CAC3C,MAAM8B,CAAG,EACRA,EAAI,IAAI,CAAC,EAAE,CAAG,CAAC,EAAE9B,EAAO,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE8B,EAAI,IAAI,CAAC,EAAE,CAAC,CAAC,AACpD,CACD,GAEA9B,EAAO,KAAK,CAAC,6BAA8B,CAC1C,MAAM8B,CAAG,EACRA,EAAI,IAAI,CAAC,EAAE,CAAG,CAAC,EAAE9B,EAAO,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE8B,EAAI,IAAI,CAAC,EAAE,CAAC,CAAC,AACpD,CACD,GAEA9B,EAAO,KAAK,CAAC,+BAAgC,CAC5C,MAAM8B,CAAG,EACJ,CAAuB,UAAvB,OAAOA,EAAI,IAAI,CAAC,EAAE,EAAiBA,EAAI,IAAI,CAAC,EAAE,WAAYzB,GAAE,GAC/DyB,CAAAA,EAAI,IAAI,CAAC,EAAE,CAAGX,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAWW,EAAI,IAAI,CAAC,EAAE,CAAE9B,EAAO,IAAI,EAEnD,CACD,GAEAA,EAAO,KAAK,CAAC,gCAAiC,CAC7C,MAAM8B,CAAG,EACRA,EAAI,IAAI,CAAC,EAAE,CAAG,CAAC,EAAE9B,EAAO,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE8B,EAAI,IAAI,CAAC,EAAE,CAAC,CAAC,AACpD,CACD,GAEA9B,EAAO,KAAK,CAAC,sBAAuB,CACnC,MAAM8B,CAAG,EACJ,CAAuB,UAAvB,OAAOA,EAAI,IAAI,CAAC,EAAE,EAAiBA,EAAI,IAAI,CAAC,EAAE,WAAYzB,GAAE,GAC/DyB,CAAAA,EAAI,IAAI,CAAC,EAAE,CAAGX,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAWW,EAAI,IAAI,CAAC,EAAE,CAAE9B,EAAO,IAAI,EAEnD,CACD,GAEAA,EAAO,KAAK,CAAC,yBAA0B,CACtC,MAAM8B,CAAG,EACR,IAAK,IAAIyC,EAAI,EAAGA,EAAIzC,EAAI,IAAI,CAAC,EAAE,CAAC,MAAM,CAAEyC,IAEtC,CAA0B,UAA1B,OAAOzC,EAAI,IAAI,CAAC,EAAE,CAACyC,EAAE,EACrBzC,EAAI,IAAI,CAAC,EAAE,CAACyC,EAAE,WAAYlE,GAAE,GAE5ByB,CAAAA,EAAI,IAAI,CAAC,EAAE,CAACyC,EAAE,CAAGpD,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAWW,EAAI,IAAI,CAAC,EAAE,CAACyC,EAAE,CAAEvE,EAAO,IAAI,EAG1D,CACD,GAEAA,EAAO,KAAK,CAAC,sBAAuB,CACnC,MAAM8B,CAAG,EACJ,CAAuB,UAAvB,OAAOA,EAAI,IAAI,CAAC,EAAE,EAAiBA,EAAI,IAAI,CAAC,EAAE,WAAYzB,GAAE,GAC/DyB,CAAAA,EAAI,IAAI,CAAC,EAAE,CAAGX,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAWW,EAAI,IAAI,CAAC,EAAE,CAAE9B,EAAO,IAAI,EAEnD,CACD,GAEAA,EAAO,KAAK,CAAC,wBAAyB,CACrC,MAAM8B,CAAG,EACJ,CAAuB,UAAvB,OAAOA,EAAI,IAAI,CAAC,EAAE,EAAiBA,EAAI,IAAI,CAAC,EAAE,WAAYzB,GAAE,GAC/DyB,CAAAA,EAAI,IAAI,CAAC,EAAE,CAAGX,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAWW,EAAI,IAAI,CAAC,EAAE,CAAE9B,EAAO,IAAI,EAEnD,CACD,GAEAA,EAAO,KAAK,CAAC,2BAA4B,CACxC,MAAM8B,CAAG,EAENA,CAAAA,EAAI,IAAI,CAAC,EAAE,EAAI,AAAuB,UAAvB,OAAOA,EAAI,IAAI,CAAC,EAAE,EACjCA,EAAI,IAAI,CAAC,EAAE,EAAIA,EAAI,IAAI,CAAC,EAAE,WAAYzB,GAAE,GAEzCyB,CAAAA,EAAI,IAAI,CAAC,EAAE,CAAGX,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAWW,EAAI,IAAI,CAAC,EAAE,CAAE9B,EAAO,IAAI,EAEnD,CACD,GAEAA,EAAO,KAAK,CAAC,uBAAwB,CACpC,MAAM8B,CAAG,EAENA,CAAAA,EAAI,IAAI,CAAC,EAAE,EAAI,AAAuB,UAAvB,OAAOA,EAAI,IAAI,CAAC,EAAE,EACjCA,EAAI,IAAI,CAAC,EAAE,EAAIA,EAAI,IAAI,CAAC,EAAE,WAAYzB,GAAE,GAEzCyB,CAAAA,EAAI,IAAI,CAAC,EAAE,CAAGX,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAWW,EAAI,IAAI,CAAC,EAAE,CAAE9B,EAAO,IAAI,EAEnD,CACD,GAEAA,EAAO,KAAK,CAAC,yBAA0B,CACtC,MAAM8B,CAAG,EACJ,CAAuB,UAAvB,OAAOA,EAAI,IAAI,CAAC,EAAE,EAAiBA,EAAI,IAAI,CAAC,EAAE,WAAYzB,GAAE,GAC/DyB,CAAAA,EAAI,IAAI,CAAC,EAAE,CAAGX,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAWW,EAAI,IAAI,CAAC,EAAE,CAAE9B,EAAO,IAAI,EAEnD,CACD,EACD,C,wJC7FO,IAAMmG,EAAU,AAACnG,GACvBoG,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAY,gBAAiBpG,EAAO,GAAG,EACjC,SAAS4I,EAAOC,CAAG,CAAEC,EAAU,EAAE,EACvC,OAAQ,OAAOD,GACd,IAAK,SACJ,KACD,KAAK,SACJ,GACCA,GACAA,CAAG,CAACE,OAAO,QAAQ,CAAC,EACpB,AAAgC,YAAhC,OAAOF,CAAG,CAACE,OAAO,QAAQ,CAAC,CAE3B,IAAK,IAAM3J,KAAQyJ,EAAK,CAEvB,IAAMjG,EAAOL,OAAO,wBAAwB,CAACsG,EAAKzJ,GAClD,GAAIwD,GAAQA,EAAK,GAAG,CAAE,SAEtB,IAAMoG,EAAKH,CAAG,CAACzJ,EAAK,EAChB0J,EAAQ,QAAQ,CAACE,KACrBF,EAAQ,IAAI,CAACE,GACbJ,EAAOI,EAAIF,GACZ,CAEH,CACD,CAEe,SAAS,EAAC9I,CAAsB,CAAE6C,CAAuB,EACvEA,EAAK,SAAS,CAAG,SAAkBoG,CAAC,EACnC3K,QAAQ,IAAI,CAAC,eAAgB2K,EAC9B,EAEApG,EAAK,SAAS,CAAG,SAAkBjD,CAAI,CAAEgE,CAAC,EAIzC,OAHIhE,GAAQ,AAAgB,UAAhB,OAAOA,GAAqBA,EAAK,MAAM,CAAG,GAAGgJ,EAAOhJ,GAChEgJ,EAAOhF,GAEAA,CACR,EAEA5D,EAAO,KAAK,CAAC,0BAA2B,CACvC,MAAM8B,CAAG,EACJA,EAAI,IAAI,CAAC,EAAE,EACdA,CAAAA,EAAI,IAAI,CAAC,EAAE,CAAG,IAAI5C,MAAM4C,EAAI,IAAI,CAAC,EAAE,CAAE,CACpC,MAAM3C,CAAM,CAAE8C,CAAO,CAAEP,CAAQ,EAE9B/B,QAAQ,KAAK,CAACR,EAAQ8C,EAASP,EAChC,CACD,EAAC,CACH,CACD,EACD,C,sIChDO,IAAMyE,EAAU,AAACnG,GACvBoG,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAY,cAAepG,EAAO,GAAG,EACvB,SAAS,EAACA,CAAsB,CAAE+C,CAAW,EAE3D,IAAMmG,EAAU,CAACC,EAAOC,KACvB,IAAIC,EAAWF,EAAM,KAAK,CAE1B,IAAK,IAAI5E,EAAI,EAAGA,EAAI6E,EAAM,MAAM,CAAE7E,IAAK,CACtC,IAAMrE,EAAMkJ,CAAK,CAAC7E,EAAE,CAAC,WAAW,GAEhC,GAAIrE,EAAI,QAAQ,CAACoC,EAAAA,EAAAA,CAAAA,KAAAA,CAAAA,MAAmB,EAAG,CAEtC,IAAMgH,EAAQD,EAAS,KAAK,CAAC,MACvBE,EAAOD,EAAM,IAAI,CAAC,AAACE,GAAMA,EAAE,QAAQ,CAACtJ,IAC1CoJ,EAAM,MAAM,CAACC,EAAM,GACnBF,EAAWC,EAAM,IAAI,CAAC,MACtB,QACD,CAEA,GAAI,CACHD,EAAWA,EAAS,UAAU,CAACnJ,EAAKc,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAad,GAClD,CAAE,KAAM,CAAC,CACV,CAEA,OAAOmJ,CACR,EACArJ,EAAO,IAAI,CAAC,0BAA2B,CACtC,IAAI+E,GAEImE,EAER,IAAIO,CAAM,EAEV,CACD,EACD,C,iICpCe,SAAS,EAACzJ,CAAsB,CAAE6C,CAAU,EAG1DN,OAAO,cAAc,CAACM,EAAMP,EAAAA,EAAAA,CAAAA,OAAAA,CAAAA,SAAwB,CAAE,CACrD,MAAO,SAAUoH,CAAO,QACvB,AAAI,AAAc,UAAd,OAAOA,EAAwBA,EAEjBxE,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAUwE,EAAI,KAAM1J,EAAO,IAAI,CAGlD,EACA,SAAU,GACV,aAAc,EACf,EACD,CAEO,SAAS2J,EAAmCD,CAAO,QAEzD,AAAI,AAAc,UAAd,OAAOA,EAAwBA,EAI5BE,AAFa,OAAI,CAAC,MAAM,CAAC,IAAI,AAAD,EAEhB1E,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAUwE,EAAI,KAAM,IAAI,CAAC,IAAI,EACjD,C,uICnBA,IAAMG,EAAcd,OAAO,GAAG,CAAC,sCAEhB,SAAS,EAAC/I,CAAsB,CAAE6C,CAAU,EAC1D,IAAMiH,EAAW,CAChB,QAAS,CACR,cACC,AAAI,CAAqB,UAArB,OAAO,IAAI,CAAC,IAAI,GAAiB,oBAAoB,IAAI,CAAC,IAAI,AAAD,IAK1D,EACR,EACA,QAEC,OAAO,IAAI,CAAC,KAAK,AAClB,EACA,SACC,GAAI,AAAgB,OAAhB,IAAI,CAAC,MAAM,CAAW,OAAO,KAEjC,IAAMlE,EAAwB,IAAI,CAAC,MAAM,CAACvH,EAAAA,CAAcA,CAAC,QAEzD,AAAIuH,EAAcA,EAAM,WAAW,CAE5B,IAAI,CAAC,MAAM,AACnB,EACA,eACC,AAAI,AAAqB,UAArB,OAAO,IAAI,CAAC,IAAI,EAAiB,qBAAsB,IAAI,CAAC,IAAI,CAC5D,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAE3B5F,EAAO,GAAG,CAAC,MAAM,AACzB,EACA,aACC,AAAI,AAAqB,UAArB,OAAO,IAAI,CAAC,IAAI,EAAiB,mBAAoB,IAAI,CAAC,IAAI,CAC1D,IAAI,CAAC,IAAI,CAAC,cAAc,CAEzB,IAAI,CAAC,IAAI,AACjB,CACD,CACD,EAIA,SAAS+J,EAAaC,CAA+B,EACpD,OAAO,IAAI9K,MAAM8K,EAAU,CAC1B,MAAM7K,CAAM,CAAE8C,CAAO,CAAEP,CAAQ,EAC9B,IAAMuI,EAAmBvI,CAAQ,CAAC,EAAE,CAGpC,GAAIuI,EAAU,SAAS,CAAE,CACxB,IAAMC,EAAOD,EAAU,IAAI,CAE3B,GAAIC,KAAQJ,EAAU,CACrB,IAAMzI,EAAUyI,CAAQ,CAACI,EAAK,CAE9B,GAAI7I,EAAQ,KAAK,EACZA,AAAkC,KAAlCA,EAAQ,KAAK,CAAC,IAAI,CAAC4I,GAAsB,MAG9CvI,CAAAA,CAAQ,CAAC,EAAE,CAAG,IAAIxC,MAAM+K,EAAW,CAClC,KAAIE,EAAS/K,EAAMgL,IAClB,AAAIhL,KAAQiC,EACJA,CAAO,CAACjC,EAAK,CAAC,IAAI,CAAC+K,GAGpBxK,QAAQ,GAAG,CAACR,EAAQC,EAAMgL,GAElC,yBAA0B5H,EAAAA,+BAA+BA,AAC1D,EACD,CACD,CAaA,MAXI,CAACK,EAAK,KAAK,EACdN,OAAO,cAAc,CAACM,EAAM,QAAS,CACpC,QACQnB,CAAQ,CAAC,EAAE,CAEnB,aAAc,EACf,GAGU/B,QAAQ,KAAK,CAACR,EAAQ8C,EAASP,EAG3C,EACA,yBAA0Bc,EAAAA,+BAA+BA,AAC1D,EACD,CAEAxC,EAAO,KAAK,CAAC,yCAA0C,CACtD,MAAM8B,CAAG,EAER,GADAuI,AAAAA,GAAAA,EAAAA,OAAAA,AAAAA,EAAQvI,EAAK9B,GACT,AAAuB,YAAvB,OAAO8B,EAAI,IAAI,CAAC,EAAE,CAAiB,OAEvC,IAAMwI,EAAexI,EAAI,IAAI,CAAC,EAAE,CAC1ByI,EAAgBR,EAAaO,EAEnCxI,CAAAA,EAAI,IAAI,CAAC,EAAE,CAAGyI,EAEd,IAAIC,EAAMxK,EAAO,cAAc,CAAC,GAAG,CAAC8B,EAAI,IAAI,EAE5C0I,AADAA,CAAAA,IAAQ,EAAE,AAAD,EACL,IAAI,CAAC,CACR,MAAO1I,EAAI,IAAI,CAAC,EAAE,CAClB,iBAAkBwI,EAClB,gBAAiBC,CAClB,GACAvK,EAAO,cAAc,CAAC,GAAG,CAAC8B,EAAI,IAAI,CAAE0I,EACrC,CACD,GAEAxK,EAAO,KAAK,CAAC,4CAA6C,CACzD,MAAM8B,CAAG,EAER,GADAuI,AAAAA,GAAAA,EAAAA,OAAAA,AAAAA,EAAQvI,EAAK9B,GACT,AAAuB,YAAvB,OAAO8B,EAAI,IAAI,CAAC,EAAE,CAAiB,OAEvC,IAAM0I,EAAMxK,EAAO,cAAc,CAAC,GAAG,CAAC8B,EAAI,IAAI,EAC9C,GAAI,CAAC0I,EAAK,OAEV,IAAMjG,EAAIiG,EAAI,SAAS,CACtB,AAACvB,GAAMA,EAAE,KAAK,GAAKnH,EAAI,IAAI,CAAC,EAAE,EAAImH,EAAE,gBAAgB,GAAKnH,EAAI,IAAI,CAAC,EAAE,EAErE,GAAIyC,AAAM,KAANA,EAAU,OAEd,IAAMxC,EAAIyI,EAAI,MAAM,CAACjG,EAAG,GACxBvE,EAAO,cAAc,CAAC,GAAG,CAAC8B,EAAI,IAAI,CAAE0I,GAEpC1I,EAAI,IAAI,CAAC,EAAE,CAAGC,CAAC,CAAC,EAAE,CAAC,eAAe,AACnC,CACD,GAEA/B,EAAO,KAAK,CAAC,sCAAuC,CACnD,MAAM8B,CAAG,EACRuI,AAAAA,GAAAA,EAAAA,OAAAA,AAAAA,EAAQvI,EAAK9B,EACd,CACD,GAEA,IAAMyK,EAAU,CAAC5H,EAAK,IAAI,CAAEA,EAAK,WAAW,CAAC,SAAS,CAAC,CAIvD,IAAK,IAAM1D,KAHPX,EAAAA,QAAQA,EAAEiM,EAAQ,IAAI,CAAC5H,EAAK,WAAW,CAAC,SAAS,EACjDA,EAAK,MAAM,EAAE4H,EAAQ,IAAI,CAAC5H,EAAK,MAAM,CAAC,SAAS,EAE9B4H,GAGpB,IAAK,IAAM5J,KAFElB,QAAQ,OAAO,CAACR,GAG5B,GACC,AAAe,UAAf,OAAO0B,GACPA,EAAI,UAAU,CAAC,OACfiJ,CAAQ,CAACjJ,EAAI,KAAK,CAAC,GAAG,CACrB,CACD,IAAM4B,EAAa3C,AAAAA,GAAAA,EAAAA,8BAAAA,AAAAA,EAA+BX,EAAQ0B,GAC1D,GAAI,CAAC4B,EAAW,GAAG,EAAI,CAACA,EAAW,GAAG,EAAI,CAACA,EAAW,YAAY,CACjE,SAGDzC,EAAO,OAAO,CAACb,EAAQ0B,EAAK,CAC3B,IAAIiB,CAAG,SACN,AAAI,IAAI,CAAC+H,EAAY,CAAS,IAAI,CAACA,EAAY,CAExC/H,EAAI,GAAG,EACf,EACA,IAAIA,CAAG,CAAE/B,CAAU,EAGlB,GAFA,IAAI,CAAC8J,EAAY,CAAG9J,EAEhB,AAAiB,YAAjB,OAAOA,EAAsB,OAAO+B,EAAI,GAAG,CAAC/B,GAEhD+B,EAAI,GAAG,CAACiI,EAAahK,GACtB,CACD,EACD,CAGH,C,+FC/KA,SAAS2K,EAAgB5I,CAAa,CAAE9B,CAAsB,EAC7D,IAAM2K,EAAsB7I,EAAI,IAAI,GAAG,QAAQ,GAEzC8I,EAAU1F,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAU,CAAC,OAAO,EAAEyF,EAAoB,CAAC,CAAE,KAAM3K,EAAO,IAAI,EAC5E8B,EAAI,MAAM,CAACA,EAAI,EAAE,CAAC8I,KACnB,CAEe,SAAS,EAAC5K,CAAsB,CAAE+C,CAAW,EAU3D/C,EAAO,KAAK,CAAC,WATU,CACtB,MAAM8B,CAAa,EAClB4I,EAAgB5I,EAAK9B,EACtB,EACA,UAAU8B,CAAG,EACZ4I,EAAgB5I,EAAK9B,EACtB,CACD,EAsBD,C,wCCtCI,E,0DAEJ,SAAS6K,EAAqBC,CAAG,EAC7B,IAAMC,EAAM,EAAK,uBAAuB,GAExC,OADA,EAAK,mBAAmB,CAAC,GAAG,CAACA,EAAKD,GAC3BC,CACX,CAEA,SAASC,EAAYhF,CAAC,CAAEpG,CAAI,EACxB,GAAI,CACA,OAAOoG,EAAE,KAAK,CAAC,IAAI,CAAEpG,EACzB,CAAE,MAAOqJ,EAAG,CACR,IAAM8B,EAAMF,EAAqB5B,GACjC,EAAK,oBAAoB,CAAC8B,EAC9B,CACJ,CAEA,IAAME,EAAqB,AAAuB,aAAvB,OAAOC,YAA8B,IAAIA,YAAY,QAAS,CAAE,UAAW,GAAM,MAAO,EAAK,GAAK,CAAE,OAAQ,KAAQ,MAAM3M,MAAM,4BAA6B,CAAE,CAE/J,cAAvB,OAAO2M,aAA+BD,EAAkB,MAAM,GAElE,IAAIE,EAA0B,KAE9B,SAASC,IAIL,MAHID,CAAAA,AAA4B,OAA5BA,GAAoCA,EAAwB,MAAM,GAAK,EAAK,MAAM,CAAC,MAAM,AAAD,GACxFA,CAAAA,EAA0B,IAAIE,WAAW,EAAK,MAAM,CAAC,MAAM,GAExDF,CACX,CAEA,SAASG,EAAmBC,CAAG,CAAEC,CAAG,EAEhC,OADAD,KAAc,EACPN,EAAkB,MAAM,CAACG,IAAuB,KAAK,CAACG,EAAKA,EAAMC,GAC5E,CAEA,IAAIC,EAAkB,EAEhBC,EAAqB,AAAuB,aAAvB,OAAOzH,YAA8B,IAAIA,YAAY,SAAW,CAAE,OAAQ,KAAQ,MAAM1F,MAAM,4BAA6B,CAAE,EAElJoN,EAAe,SAAU9C,CAAG,CAAE+C,CAAI,EACpC,IAAMC,EAAMH,EAAkB,MAAM,CAAC7C,GAErC,OADA+C,EAAK,GAAG,CAACC,GACF,CACH,KAAMhD,EAAI,MAAM,CAChB,QAASgD,EAAI,MAAM,AACvB,CACJ,EAEA,SAASC,EAAkBjD,CAAG,CAAEkD,CAAM,CAAEC,CAAO,EAE3C,GAAIA,AAAY5L,KAAAA,IAAZ4L,EAAuB,CACvB,IAAMH,EAAMH,EAAkB,MAAM,CAAC7C,GAC/B0C,EAAMQ,EAAOF,EAAI,MAAM,CAAE,KAAO,EAGtC,OAFAT,IAAuB,QAAQ,CAACG,EAAKA,EAAMM,EAAI,MAAM,EAAE,GAAG,CAACA,GAC3DJ,EAAkBI,EAAI,MAAM,CACrBN,CACX,CAEA,IAAIC,EAAM3C,EAAI,MAAM,CAChB0C,EAAMQ,EAAOP,EAAK,KAAO,EAEvBS,EAAMb,IAERc,EAAS,EAEb,KAAOA,EAASV,EAAKU,IAAU,CAC3B,IAAMC,EAAOtD,EAAI,UAAU,CAACqD,GAC5B,GAAIC,EAAO,IAAM,KACjBF,CAAAA,CAAG,CAACV,EAAMW,EAAO,CAAGC,CACxB,CAEA,GAAID,IAAWV,EAAK,CACD,IAAXU,GACArD,CAAAA,EAAMA,EAAI,KAAK,CAACqD,EAAM,EAE1BX,EAAMS,EAAQT,EAAKC,EAAKA,EAAMU,EAASrD,AAAa,EAAbA,EAAI,MAAM,CAAM,KAAO,EAE9D,IAAMuD,EAAMT,EAAa9C,EADZuC,IAAuB,QAAQ,CAACG,EAAMW,EAAQX,EAAMC,IAGjEU,GAAUE,EAAI,OAAO,CACrBb,EAAMS,EAAQT,EAAKC,EAAKU,EAAQ,KAAO,CAC3C,CAGA,OADAT,EAAkBS,EACXX,CACX,CAEA,IAAIc,EAAwB,KAE5B,SAASC,IAIL,MAHID,CAAAA,AAA0B,OAA1BA,GAAkCA,EAAsB,MAAM,GAAK,EAAK,MAAM,CAAC,MAAM,AAAD,GACpFA,CAAAA,EAAwB,IAAIE,SAAS,EAAK,MAAM,CAAC,MAAM,GAEpDF,CACX,CAEA,SAASG,EAAWC,CAAC,EACjB,OAAOA,MAAAA,CACX,CAOA,SAASC,EAAwB3B,CAAG,EAChC,IAAMhL,EAAQ,EAAK,mBAAmB,CAAC,GAAG,CAACgL,GAE3C,OADA,EAAK,yBAAyB,CAACA,GACxBhL,CACX,CAiDA,eAAe4M,EAAW7L,CAAM,CAAE8L,CAAO,EACrC,GAAI,AAAoB,YAApB,OAAOC,UAA2B/L,aAAkB+L,SAAU,CAC9D,GAAI,AAA4C,YAA5C,OAAOC,YAAY,oBAAoB,CACvC,GAAI,CACA,OAAO,MAAMA,YAAY,oBAAoB,CAAChM,EAAQ8L,EAE1D,CAAE,MAAO3D,EAAG,CACR,GAAInI,AAAsC,oBAAtCA,EAAO,OAAO,CAAC,GAAG,CAAC,gBACnBxC,QAAQ,IAAI,CAAC,oMAAqM2K,QAGlN,MAAMA,CAEd,CAGJ,IAAM8D,EAAQ,MAAMjM,EAAO,WAAW,GACtC,OAAO,MAAMgM,YAAY,WAAW,CAACC,EAAOH,EAEhD,CAAO,CACH,IAAMI,EAAW,MAAMF,YAAY,WAAW,CAAChM,EAAQ8L,UAEvD,AAAII,aAAoBF,YAAY,QAAQ,CACjC,CAAEE,SAAAA,EAAUlM,OAAAA,CAAO,EAGnBkM,CAEf,CACJ,CAEA,SAASC,IACL,IAAML,EAAU,CAAC,EA6HjB,OA5HAA,EAAQ,GAAG,CAAG,CAAC,EACfA,EAAQ,GAAG,CAAC,2BAA2B,CAAG,WAAa,OAAO5B,EAAY,SAAUkC,CAAI,CAAEC,CAAI,CAAEC,CAAI,CAAEC,CAAI,EAEtG,OADYH,EAAK,IAAI,CAACC,EAAMC,EAAMC,EAEtC,EAAGC,UAAW,EACdV,EAAQ,GAAG,CAAC,2BAA2B,CAAG,WAAa,OAAO5B,EAAY,SAAUkC,CAAI,CAAEC,CAAI,CAAEC,CAAI,EAEhG,OADYF,EAAK,IAAI,CAACC,EAAMC,EAEhC,EAAGE,UAAW,EACdV,EAAQ,GAAG,CAAC,2BAA2B,CAAG,WAAa,OAAO5B,EAAY,SAAUkC,CAAI,CAAEC,CAAI,EAE1F,OADYD,EAAK,IAAI,CAACC,EAE1B,EAAGG,UAAW,EACdV,EAAQ,GAAG,CAAC,0BAA0B,CAAG,WAAa,OAAO5B,EAAY,SAAUkC,CAAI,CAAEC,CAAI,EAEzF,OADYxN,QAAQ,GAAG,CAACuN,EAAMC,EAElC,EAAGG,UAAW,EACdV,EAAQ,GAAG,CAAC,0BAA0B,CAAG,WAAa,OAAO5B,EAAY,SAAUkC,CAAI,CAAEC,CAAI,EAEzF,OADY,IAAI9M,IAAIiL,EAAmB4B,EAAMC,GAEjD,EAAGG,UAAW,EACdV,EAAQ,GAAG,CAAC,0BAA0B,CAAG,WAErC,MADY,CAAW,CAE3B,EACAA,EAAQ,GAAG,CAAC,gCAAgC,CAAG,SAASM,CAAI,CAAEC,CAAI,EAE9D,OADY,AAAII,SAASjC,EAAmB4B,EAAMC,GAEtD,EACAP,EAAQ,GAAG,CAAC,0BAA0B,CAAG,SAASM,CAAI,EAElD,OADYA,EAAK,GAAG,EAExB,EACAN,EAAQ,GAAG,CAAC,+BAA+B,CAAG,SAASM,CAAI,EAEvD,IAAMM,EAAO1B,ECjOV,AAAC,cAAS,OAAO,CAAC,SACvB2B,GAAK,AAACA,CAAAA,EAAIC,OAAO,eAAe,CAAC,IAAIrC,WAAW,GAAG,CAAC,EAAE,CAAG,IAAMoC,EAAI,GAAG,QAAQ,CAAC,KDgOzC,EAAK,iBAAiB,CAAE,EAAK,kBAAkB,EAC7EE,EAAOlC,EACba,IAAqB,QAAQ,CAACY,EAAO,EAAOS,EAAM,IAClDrB,IAAqB,QAAQ,CAACY,EAAO,EAAOM,EAAM,GACtD,EACAZ,EAAQ,GAAG,CAAC,0BAA0B,CAAG,WAAa,OAAO5B,EAAY,SAAUkC,CAAI,CAAEC,CAAI,CAAEC,CAAI,EAE/F,OADYzN,QAAQ,GAAG,CAACuN,EAAMC,EAAMC,EAExC,EAAGE,UAAW,EACdV,EAAQ,GAAG,CAAC,6CAA6C,CAAG,WACxD,IAAMR,EAAM,AAAkB,aAAlB,OAAOlO,OAAyB,KAAOA,OACnD,OAAOsO,EAAWJ,GAAO,EAAIvB,EAAqBuB,EACtD,EACAQ,EAAQ,GAAG,CAAC,kDAAkD,CAAG,WAC7D,IAAMR,EAAM,AAAsB,aAAtB,OAAOwB,WAA6B,KAAOA,WACvD,OAAOpB,EAAWJ,GAAO,EAAIvB,EAAqBuB,EACtD,EACAQ,EAAQ,GAAG,CAAC,2CAA2C,CAAG,WACtD,IAAMR,EAAM,AAAgB,aAAhB,OAAOvJ,KAAuB,KAAOA,KACjD,OAAO2J,EAAWJ,GAAO,EAAIvB,EAAqBuB,EACtD,EACAQ,EAAQ,GAAG,CAAC,6CAA6C,CAAG,WACxD,IAAMR,EAAM,AAAkB,aAAlB,OAAO5E,OAAyB,KAAOA,OACnD,OAAOgF,EAAWJ,GAAO,EAAIvB,EAAqBuB,EACtD,EACAQ,EAAQ,GAAG,CAAC,+BAA+B,CAAG,SAASM,CAAI,EAEvD,OADYA,EAAK,QAAQ,EAE7B,EACAN,EAAQ,GAAG,CAAC,oBAAoB,CAAG,WAE/B,MADY,EAAE,AAElB,EACAA,EAAQ,GAAG,CAAC,qBAAqB,CAAG,SAASM,CAAI,CAAEC,CAAI,EACnDD,EAAK,IAAI,CAACC,EACd,EACAP,EAAQ,GAAG,CAAC,sBAAsB,CAAG,SAASM,CAAI,EAG9C,MADY,AAAc,WAAd,OADFA,EAC6BvK,AAD7BuK,EACiC,EAAI,EAAK,CAExD,EACAN,EAAQ,GAAG,CAAC,oBAAoB,CAAG,SAASM,CAAI,CAAEC,CAAI,EAElD,OADY,AAAI5O,MAAM+M,EAAmB4B,EAAMC,GAEnD,EACAP,EAAQ,GAAG,CAAC,+BAA+B,CAAG,WAC1C,IAAMiB,EAAQ,EAAK,mBAAmB,CAChC3B,EAAS2B,EAAM,IAAI,CAAC,GAC1BA,EAAM,GAAG,CAAC,EAAGzN,KAAAA,GACbyN,EAAM,GAAG,CAAC3B,EAAS,EAAG9L,KAAAA,GACtByN,EAAM,GAAG,CAAC3B,EAAS,EAAG,MACtB2B,EAAM,GAAG,CAAC3B,EAAS,EAAG,IACtB2B,EAAM,GAAG,CAAC3B,EAAS,EAAG,GAE1B,EACAU,EAAQ,GAAG,CAAC,sBAAsB,CAAG,SAASM,CAAI,EAE9C,MADY,AAAiB,YAAjB,OAAOA,CAEvB,EACAN,EAAQ,GAAG,CAAC,uBAAuB,CAAG,SAASM,CAAI,EAE/C,OADYA,AAAS9M,KAAAA,IAAT8M,CAEhB,EACAN,EAAQ,GAAG,CAAC,qBAAqB,CAAG,SAASM,CAAI,EAE7C,OADYA,CAEhB,EACAN,EAAQ,GAAG,CAAC,qBAAqB,CAAG,SAASM,CAAI,CAAEC,CAAI,EAEnD,IAAMf,EAAM,AAAgB,UAAhB,OADAe,EAAAA,EACiC/M,KAAAA,EAC7C,IAAIoN,EAAOhB,EAAWJ,GAAO,EAAIN,EAAkBM,EAAK,EAAK,iBAAiB,CAAE,EAAK,kBAAkB,EACnGuB,EAAOlC,EACXa,IAAqB,QAAQ,CAACY,EAAO,EAAOS,EAAM,IAClDrB,IAAqB,QAAQ,CAACY,EAAO,EAAOM,EAAM,GACtD,EACAZ,EAAQ,GAAG,CAAC,qBAAqB,CAAG,SAASM,CAAI,CAAEC,CAAI,EAEnD,OADY7B,EAAmB4B,EAAMC,EAEzC,EACAP,EAAQ,GAAG,CAAC,gBAAgB,CAAG,SAASM,CAAI,CAAEC,CAAI,EAC9C,MAAM,AAAI5O,MAAM+M,EAAmB4B,EAAMC,GAC7C,EACAP,EAAQ,GAAG,CAAC,0BAA0B,CAAG,SAASM,CAAI,CAAEC,CAAI,EACxD,IAjNqB5B,EAAKC,EAiNtBsC,EAAKC,CAjNYxC,EAiNQ2B,EAjNH1B,EAiNS2B,EAhNvC5B,KAAc,EACPH,IAAuB,QAAQ,CAACG,EAAM,EAAGA,EAAM,EAAIC,IA+Mb,KAAK,UAC9C,EAAK,eAAe,CAAC0B,EAAMC,AAAO,EAAPA,EAAU,GACzBW,CAEhB,EAEOlB,CACX,CAEA,SAASoB,EAAkBpB,CAAO,CAAEqB,CAAM,EACtCrB,EAAQ,GAAG,CAAC,MAAM,CAAGqB,GAAU,IAAInB,YAAY,MAAM,CAAC,CAAC,QAAQ,GAAG,QAAQ,MAAM,OAAO,EAAI,EAC/F,CAEA,SAASoB,EAAoBlB,CAAQ,CAAElM,CAAM,CAAEqN,CAAiB,EAM5D,GALA,EAAOnB,EAAS,OAAO,CACvBoB,EAAW,sBAAsB,CAAGtN,EACpCuL,EAAwB,KACxBlB,EAA0B,KAEtB,AAA6B,SAAtBgD,GAAsC,CAA6B,UAA7B,OAAOA,GAAkCA,AAAsB,IAAtBA,GAA2BA,EAAoB,OAAU,GAAM,KAAM,qBAE/J,OADA,EAAK,gBAAgB,CAACA,GACf,CACX,CA2BA,eAAeC,EAAWC,CAAc,CAAEJ,CAAM,MAGxCE,EAFJ,GAAI,AAAS/N,KAAAA,IAAT,EAAoB,OAAO,CAGD,UAAnBiO,IACH9L,OAAO,cAAc,CAAC8L,KAAoB9L,OAAO,SAAS,CACzD,CAAC8L,eAAAA,CAAc,CAAEJ,OAAAA,CAAM,CAAEE,kBAAAA,CAAiB,CAAC,CAAGE,EAE/C/P,QAAQ,IAAI,CAAC,8FAIS,SAAnB+P,GACPA,CAAAA,EAAiB,IAAIhO,IAAI,eAAgB,GAAE,EAE/C,IAAMuM,EAAUK,IAEZ,CAA0B,UAA1B,OAAOoB,GAAgC,AAAmB,YAAnB,OAAOC,SAA0BD,aAA0BC,SAAa,AAAe,YAAf,OAAOjO,KAAsBgO,aAA0BhO,GAAG,GACzKgO,CAAAA,EAAiBE,MAAMF,EAAc,EAGzCL,EAAkBpB,EAASqB,GAE3B,GAAM,CAAEjB,SAAAA,CAAQ,CAAElM,OAAAA,CAAM,CAAE,CAAG,MAAM6L,EAAW,MAAM0B,EAAgBzB,GAEpE,OAAOsB,EAAoBlB,EAAUlM,EAAQqN,EACjD,EEvXAK,AFoUA,SAAkB1N,CAAM,CAAEmN,CAAM,MAGxBE,EAFJ,GAAI,AAAS/N,KAAAA,IAAT,EAAoB,MAGF,UAAXU,IACHyB,OAAO,cAAc,CAACzB,KAAYyB,OAAO,SAAS,CACjD,CAACzB,OAAAA,CAAM,CAAEmN,OAAAA,CAAM,CAAEE,kBAAAA,CAAiB,CAAC,CAAGrN,EAEvCxC,QAAQ,IAAI,CAAC,+EAIrB,IAAMsO,EAAUK,IAEhBe,EAAkBpB,EAASqB,GAEvB,CAAEnN,CAAAA,aAAkBgM,YAAY,MAAM,AAAD,GACrChM,CAAAA,EAAS,IAAIgM,YAAY,MAAM,CAAChM,EAAM,EAKnCoN,EAFU,IAAIpB,YAAY,QAAQ,CAAChM,EAAQ8L,GAEb9L,EAAQqN,EACjD,EE3VS,CACR,OAAQ,IAAIrB,YAAY,MAAM,CAC7BzB,WAAW,IAAI,CAAC9F,KAAK1C,KAAK,IAAI,EAAG,AAAC4K,GAAMA,EAAE,UAAU,CAAC,IAEvD,GAEAlP,MAAM,eAAe,CAAG,GAExB,IAAMkQ,EAAU,IAAIvD,YCXpB,SAASwD,EAAexO,CAAW,CAAEyO,CAAqB,EACzD,GAAI,CACH,OAAO,IAAItO,IAAIH,EAAKyO,EACrB,CAAE,KAAM,CACP,OAAO,IACR,CACD,CCVe,SAAS,EAAC3O,CAAsB,CAAE6C,CAAU,EAC1D,IAAM0K,EAAWvN,EAAO,OAAO,CAAC,KAAK,CAAC,QAAW,AAEjD6C,CAAAA,CAAI,CAACP,EAAAA,EAAAA,CAAAA,OAAAA,CAAAA,QAAuB,CAAC,CAAG,SAAUrC,CAAY,EACrD,OAAO,SAAUC,CAAW,EAC3B,IAAM0O,EAAW,IAAIvO,IAAIH,EAAKD,GAAM,IAAI,CAExC,OAAOsN,EACN,CAAC,eAAe,EAAEpM,ADgBf,SAAoBjB,CAAiB,CAAE2O,CAAa,EAK1D,GAJI3O,aAAeG,KAClBH,CAAAA,EAAMA,EAAI,QAAQ,EAAC,EAGhBA,EAAI,UAAU,CAAC,eAClB,MACC,cAAgBgF,AD8BZ,SACNwE,CAAwB,CACxBxJ,CAAkB,CAClB2O,CAAa,EAEb,GAAIzI,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAY,iBAAkByI,EAAK,MAAM,EAAG,CAC/C,IAAMC,EAAO,AAAc,UAAd,OAAOpF,EAAkBA,EAAK,IAAIwB,cAAc,MAAM,CAACxB,GAIpE,OAFApL,QAAQ,GAAG,CAAC,UAELyQ,AAcF,SAAyBrF,CAAwB,EAKvD,MAJkB,UAAd,OAAOA,GACVA,CAAAA,EAAK,IAAIwB,cAAc,MAAM,CAACxB,EAAE,EAG1B;QACA,EAAEsF,EAAAA,EAAAA,CAAAA,MAAAA,CAAAA,OAAAA,CAAAA,MAA+B,CAAC;;GAEvC,EAAEtF;;;CAGJ,CAAC,AACF,EA1ByBoF,EACxB,CAIA,OAFApF,EAAKuF,AAzDN,SACCC,CAA2B,CAC3BhP,CAAkB,CAClB2O,CAAa,MAETM,EACJ,IAAMC,EAASC,YAAY,GAAG,GAE7BF,EADG,AAAiB,UAAjB,OAAOD,EACJI,AF0FD,SAAoB5F,CAAE,CAAExJ,CAAG,CAAEqP,CAAU,CAAEC,CAAQ,EACpD,IAAMC,EAAO3D,EAAkBpC,EAAI,EAAK,iBAAiB,CAAE,EAAK,kBAAkB,EAC5EgG,EAAOjE,EACP+B,EAAO1B,EAAkB5L,EAAK,EAAK,iBAAiB,CAAE,EAAK,kBAAkB,EAC7EyN,EAAOlC,EACPkE,EAAO7D,EAAkByD,EAAY,EAAK,iBAAiB,CAAE,EAAK,kBAAkB,EACpFK,EAAOnE,EACPW,EAAM,EAAK,UAAU,CAACqD,EAAMC,EAAMlC,EAAMG,EAAMgC,EAAMC,EAAMJ,GAChE,GAAIpD,CAAG,CAAC,EAAE,CACN,MAAMM,EAAwBN,CAAG,CAAC,EAAE,EAExC,OAAOM,EAAwBN,CAAG,CAAC,EAAE,CACzC,EEtGmB8C,EAAOL,EAAK,IAAI,CAAC,IAAI,CAAE3O,GAAO,YAAa8O,EAAAA,EAASA,EAE/Da,AFmHD,SAAqCnG,CAAE,CAAExJ,CAAG,CAAEqP,CAAU,CAAEC,CAAQ,EACrE,IAAMC,EAAOK,AAdjB,SAA2BjH,CAAG,CAAEkD,CAAM,EAClC,IAAMR,EAAMQ,EAAOlD,AAAa,EAAbA,EAAI,MAAM,CAAM,KAAO,EAG1C,OAFAuC,IAAuB,GAAG,CAACvC,EAAK0C,EAAM,GACtCE,EAAkB5C,EAAI,MAAM,CACrB0C,CACX,EASmC7B,EAAI,EAAK,iBAAiB,EACnDgG,EAAOjE,EACP+B,EAAO1B,EAAkB5L,EAAK,EAAK,iBAAiB,CAAE,EAAK,kBAAkB,EAC7EyN,EAAOlC,EACPkE,EAAO7D,EAAkByD,EAAY,EAAK,iBAAiB,CAAE,EAAK,kBAAkB,EACpFK,EAAOnE,EACPW,EAAM,EAAK,2BAA2B,CAACqD,EAAMC,EAAMlC,EAAMG,EAAMgC,EAAMC,EAAMJ,GACjF,GAAIpD,CAAG,CAAC,EAAE,CACN,MAAMM,EAAwBN,CAAG,CAAC,EAAE,EAExC,OAAOM,EAAwBN,CAAG,CAAC,EAAE,CACzC,EE9HG,IAAIf,WAAW6D,GACfL,EAAK,IAAI,CAAC,IAAI,CACd3O,GAAO,YACP8O,EAAAA,EAASA,EAGX,IAAMe,EAAQV,YAAY,GAAG,GACvB,CAAE3F,GAAAA,CAAE,CAAEsG,OAAAA,CAAM,CAAEC,SAAAA,CAAQ,CAAE,CAAGd,EAEjC,GAAI/I,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAY,eAAgByI,EAAK,IAAI,EACxC,IAAK,IAAM1F,KAAS6G,EACnB1R,QAAQ,KAAK,CAAC,kBAAmB6K,GAInC,GAAI/C,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAY,eAAgByI,EAAK,IAAI,EAAG,KACvCqB,EAEHA,EADGD,EAAW,CAAE,AAAF,CAAE,CACL,iBACDA,EAAW,GAAI,AAAJ,CAAI,CACd,eAEA,cAEZ,IAAME,EAAYJ,AAAAA,CAAAA,EAAQX,EAAS9L,OAAO2M,EAAQ,EAAG,OAAO,CAAC,GAC7D3R,QAAQ,GAAG,CACV,CAAC,iBAAiB,EAAE4B,GAAO,YAAY,MAAM,EAAEgQ,EAAS,EAAE,EAAED,EAAS,IAAI,EAAEE,EAAS,YAAY,CAAC,CAEnG,CAEA,MAAO,AAAiB,UAAjB,OAAOjB,EAAqBT,EAAQ,MAAM,CAAC/E,GAAMA,CACzD,EAeuBA,EC3CuC,KD2C9BmF,EAGhC,EC9C6B3O,EAAI,KAAK,CAAC,IAAuB,KAAM2O,GAE5D,GAAI3O,EAAI,UAAU,CAAC,SACzB,OAAOmC,SAAS,MAAM,CAAG2M,EAAAA,EAAAA,CAAAA,MAAAA,CAAAA,MAAuB,CAAG9O,EAC7C,GAAIA,EAAI,UAAU,CAAC,SACzB,OAAOmC,SAAS,MAAM,CAAG2M,EAAAA,EAAAA,CAAAA,MAAAA,CAAAA,MAAuB,CAAG9O,MAG7C,CAFA,GAAIA,EAAI,UAAU,CAAC,YAAcA,EAAI,UAAU,CAAC,UACtD,OAAOA,EAEP,IAAID,EAAO4O,EAAK,IAAI,CAAC,IAAI,CAErB5O,EAAK,UAAU,CAAC,WAAWA,CAAAA,EAAOe,AAYjC,SAAsBd,CAAiB,EACzCA,aAAeG,KAClBH,CAAAA,EAAMA,EAAI,QAAQ,EAAC,EAGpB,IAAMkQ,EAAW/N,SAAS,MAAM,CAAG2M,EAAAA,EAAAA,CAAAA,MAAAA,CAAAA,MAAuB,CAE1D,GAAI9O,EAAI,UAAU,CAAC,eAElB,OAAOA,EACD,GAAIA,EAAI,UAAU,CAAC,SAEzB,OAAOA,EACD,GAAIA,EAAI,UAAU,CAACkQ,EAAW,SACpC,OAAOlQ,EAAI,SAAS,CAACkQ,EAAS,MAAM,OAC9B,GAAIlQ,EAAI,UAAU,CAACkQ,EAAW,SACpC,OAAOlQ,EAAI,SAAS,CAACkQ,EAAS,MAAM,OAC9B,GAAIlQ,EAAI,UAAU,CAAC,YAAcA,EAAI,UAAU,CAAC,UACtD,OAAOA,OACD,GAAIwO,EAAexO,GACzB,OAAO8O,EAAAA,EAAAA,CAAAA,KAAAA,CAAAA,MAAsB,CAC5B9O,EAAI,KAAK,CAAEmC,AAAAA,CAAAA,SAAS,MAAM,CAAG2M,EAAAA,EAAAA,CAAAA,MAAAA,CAAAA,MAAsB,AAAtBA,EAAyB,MAAM,QAG7D,OAAO9O,CAET,EAtCqD2C,KAAK,QAAQ,CAAC,IAAI,GACrE,IAAMwN,EAAU3B,EAAexO,EAAKD,UACpC,AAAKoQ,EAGJhO,SAAS,MAAM,CACf2M,EAAAA,EAAAA,CAAAA,MAAAA,CAAAA,MAAuB,CACvBA,EAAAA,EAAAA,CAAAA,KAAAA,CAAAA,MAAsB,CAACqB,EAAQ,IAAI,EALfnQ,CAOtB,CACD,EC5CiC0O,EAAU5O,EAAO,IAAI,EAAE,EAAE,CAAC,GAEzD,CACD,EAEA6C,CAAI,CAACP,EAAAA,EAAAA,CAAAA,OAAAA,CAAAA,MAAqB,CAAC,CAAG,SAAUrC,CAAY,EACnD,MAAO,CACN,IAAKA,EACL,QAAS,SAAUC,CAAW,EAC7B,OAAO,IAAIG,IAAIH,EAAKD,GAAM,IAAI,AAC/B,CACD,CACD,CACD,C,oCCvBe,SAAS,EAACD,CAAsB,EAC9CA,EAAO,KAAK,CAAC,4BAA6B,CACzC,MAAM8B,CAAG,EACRA,EAAI,IAAI,CAAC,EAAE,CAAG,CAAC,EAAE9B,EAAO,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE8B,EAAI,IAAI,CAAC,EAAE,CAAC,CAAC,AACpD,CACD,GAEA9B,EAAO,IAAI,CAAC,6BAA8B,CACzC,IAAI8B,CAAG,EACN,IAAMV,EAAOU,EAAI,GAAG,GAEpB,OAAOV,EAAK,SAAS,CAACA,EAAK,OAAO,CAAC,KAAO,EAC3C,CACD,EACD,C,+JCXe,SAAS,EAACpB,CAAsB,EAC1CxB,EAAAA,QAAQA,EACXwB,EAAO,KAAK,CAAC,qBAAsB,CAClC,MAAM8B,CAAG,MAOJwO,EAkBJ,GAAM,CACL,YAAa,CAAE,YAAa/C,CAAQ,CAAE,CACtC,CAjBA+C,EADG,AAAuB,UAAvB,OAAOxO,EAAI,IAAI,CAAC,EAAE,EAAiBA,AAAgB,OAAhBA,EAAI,IAAI,CAAC,EAAE,CACrCA,EAAI,IAAI,CAAC,EAAE,CACb,AAAuB,UAAvB,OAAOA,EAAI,IAAI,CAAC,EAAE,EAAiBA,AAAgB,OAAhBA,EAAI,IAAI,CAAC,EAAE,CAC5CA,EAAI,IAAI,CAAC,EAAE,CAEvBA,EAAI,IAAI,EACRyO,EAAAA,SAASA,IAAIzO,EAAI,IAAI,EACrB,AAA+B,UAA/B,OAAOA,EAAI,IAAI,CAACyO,EAAAA,SAASA,CAAC,EAC1BzO,AAAwB,OAAxBA,EAAI,IAAI,CAACyO,EAAAA,SAASA,CAAC,CAEPzO,EAAI,IAAI,CAACyO,EAAAA,SAASA,CAAC,CAEnB,CAAC,EAURC,EAAeC,AADiBlD,EAAS,sBACH,CAAClP,EAAAA,CAAcA,CAAC,CAKtDqS,EAAqBnD,EAAS,UAAW,gBAE/CzL,CAAAA,EAAI,IAAI,CAAC,EAAE,CAAG,CACb,sBAAuB,SACvB,iBAAkB0O,EAAa,GAAG,CAAC,MAAM,CACzC,eAAgB1O,EAAI,IAAI,CAAC,EAAE,AAC5B,EAG2B,UAAvB,OAAOA,EAAI,IAAI,CAAC,EAAE,EAAeA,CAAAA,EAAI,IAAI,CAAC,EAAE,CAAG,GAAE,EAC1B,UAAvB,OAAOA,EAAI,IAAI,CAAC,EAAE,EAAeA,CAAAA,EAAI,IAAI,CAAC,EAAE,CAAC,YAAY,CAAG,GAAE,EAElEA,EAAI,MAAM,CAAC4O,EAAmB,IAAI,CAAC5O,EAAI,EAAE,IAAKA,EAAI,IAAI,EACvD,CACD,GAED,IAAM6O,EAAU,CAAC,oCAAoC,AAEjD9N,CAAAA,KAAK,MAAM,EAAE8N,EAAQ,IAAI,CAAC,gCAC1B,CAACnS,EAAAA,QAAQA,EAAEmS,EAAQ,IAAI,CAAC,oBAE5B3Q,EAAO,KAAK,CAAC2Q,EAAS,CACrB,MAAM7O,CAAG,EAGRA,EAAI,IAAI,CAAC,EAAE,CAAG,CACb,sBAAuB,SACvB,eAAgBA,EAAI,IAAI,CAAC,EAAE,AAC5B,CACD,CACD,EACD,C,8HCxEO,IAAMyO,EAAYxH,OAAO,GAAG,CAAC,4BAErB,SAAS,EAAC/I,CAAsB,CAAE6C,CAAuB,EAIvEN,OAAO,cAAc,CAACM,EAAK,MAAM,CAAC,SAAS,CAAEP,EAAAA,EAAAA,CAAAA,OAAAA,CAAAA,UAAyB,CAAE,CACvE,MAAMsO,CAAiB,EAStB,OAPArO,OAAO,cAAc,CAAC,IAAI,CAAEgO,EAAW,CACtC,MAAOK,EACP,SAAU,GACV,aAAc,GACd,WAAY,EACb,GAEO,IAAI,AACZ,EACA,SAAU,GACV,aAAc,GACd,WAAY,EACb,EACD,C,+FCtBe,SAAS,EAAC5Q,CAAsB,EAC9CA,EAAO,KAAK,CAAC,cAAe,CAC3B,UAAU8B,CAAG,EACZA,EAAI,IAAI,CAAC,EAAE,CAAGX,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAWW,EAAI,IAAI,CAAC,EAAE,CAAE9B,EAAO,IAAI,CAClD,CACD,GAEAA,EAAO,IAAI,CAAC,4BAA6B,CACxC,IAAI8B,CAAG,EACNd,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAac,EAAI,GAAG,GACrB,CACD,EACD,C,wGCRe,SAAS,EAAC9B,CAAsB,CAAE+C,CAAwB,EACxE/C,EAAO,KAAK,CAAC,QAAS,CACrB,MAAM8B,CAAG,EACJ,CAAuB,UAAvB,OAAOA,EAAI,IAAI,CAAC,EAAE,EAAiBA,EAAI,IAAI,CAAC,EAAE,WAAYzB,GAAE,IAC/DyB,EAAI,IAAI,CAAC,EAAE,CAAGX,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAWW,EAAI,IAAI,CAAC,EAAE,CAAE9B,EAAO,IAAI,EAE7C8H,EAAAA,YAAYA,EAAEhG,CAAAA,EAAI,IAAI,CAAC,EAAE,EAAI,iBAAgB,EAEnD,CACD,GAEA9B,EAAO,KAAK,CAAC,UAAW,CACvB,UAAU8B,CAAG,EACR,CAAuB,UAAvB,OAAOA,EAAI,IAAI,CAAC,EAAE,EAAiBA,EAAI,IAAI,CAAC,EAAE,WAAYzB,GAAE,IAC/DyB,EAAI,IAAI,CAAC,EAAE,CAAGX,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAWW,EAAI,IAAI,CAAC,EAAE,CAAE9B,EAAO,IAAI,EAE7C8H,EAAAA,YAAYA,EAAEhG,CAAAA,EAAI,IAAI,CAAC,EAAE,EAAI,iBAAgB,EAEnD,CACD,GAEA9B,EAAO,IAAI,CAAC,yBAA0B,CACrC,IAAI8B,GACId,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAac,EAAI,GAAG,GAE7B,GAEA9B,EAAO,IAAI,CAAC,wBAAyB,CACpC,IAAI8B,GACId,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAac,EAAI,GAAG,GAE7B,EACD,C,oCCrBe,SAAS,EAAC9B,CAAsB,CAAE6C,CAAuB,EACvE,IAAMgO,EAAoD,IAAIpK,QAC9DzG,EAAO,KAAK,CAAC,YAAa,CACzB,UAAU8B,CAAG,EACZ,IAAMgP,EAAgB,IAAIlK,YAC1BrE,OAAO,cAAc,CAACuO,EAAehP,EAAI,EAAE,CAAC,SAAS,EACrDgP,EAAc,WAAW,CAAGhP,EAAI,EAAE,CAElC,IAAMiP,EAAa,AAAC9P,GACnB,IAAI/B,MAAM+B,EAAI,CACb,KAAI9B,EAAQC,IACX,AAAa,cAATA,GAEGO,QAAQ,GAAG,CAACR,EAAQC,EAE7B,GAEK4R,EAAShR,EAAO,IAAI,CAAC,eAAe,CACzC8B,EAAI,IAAI,CAAC,EAAE,CACXA,EAAI,IAAI,CAAC,EAAE,CACX,KACA,CACC,aAAce,EAAK,SAAS,CAAC,SAAS,CACtC,OAAQ7C,EAAO,GAAG,CAAC,MAAM,AAC1B,GAGK+G,EAA4B,CACjC,WAAY,GACZ,SAAU,GACV,IAAKjF,EAAI,IAAI,CAAC,EAAE,CAChB,WAAY,OACZkP,OAAAA,EAKA,QAAS,KACT,QAAS,KACT,UAAW,KACX,OAAQ,IACT,EAEA,SAASC,EAAcC,CAAa,EACnCnK,CAAK,CAAC,KAAOmK,EAAO,IAAI,CAAC,GAAGH,EAAWG,IACvCJ,EAAc,aAAa,CAACI,EAC7B,CAEAF,EAAO,gBAAgB,CAAC,OAAQ,KAC/BC,EAAc,IAAI3J,MAAM,QACzB,GACA0J,EAAO,gBAAgB,CAAC,QAAS,AAAC/P,IACjCgQ,EAAc,IAAIE,WAAW,QAASlQ,GACvC,GACA+P,EAAO,gBAAgB,CAAC,UAAW,MAAO/P,IACzC,IAAImQ,EAAUnQ,EAAG,IAAI,AACE,WAAnB,OAAOmQ,IAEA,eAAgBA,EAEtBrK,AAAqB,SAArBA,EAAM,UAAU,CACnBqK,EAAU,IAAIC,KAAK,CAACD,EAAQ,EAE5B7O,OAAO,cAAc,CAAC6O,EAASE,YAAY,SAAS,EAE3C,gBAAiBF,GAEF,gBAArBrK,EAAM,UAAU,EAEnBxE,OAAO,cAAc,CADrB6O,EAAU,MAAMA,EAAQ,WAAW,GACJE,YAAY,SAAS,GAYtDL,EARe,IAAIM,aAAa,UAAW,CAC1C,KAAMH,EACN,OAAQnQ,EAAG,MAAM,CACjB,YAAaA,EAAG,WAAW,CAC3B,OAAQA,EAAG,MAAM,CACjB,MAAOA,EAAG,KAAK,AAChB,GAGD,GACA+P,EAAO,gBAAgB,CAAC,QAAS,KAChCC,EAAc,IAAI3J,MAAM,SACzB,GAEAuJ,EAAU,GAAG,CAACC,EAAe/J,GAC7BjF,EAAI,MAAM,CAACgP,EACZ,CACD,GAqDA9Q,EAAO,IAAI,CAAC,iCAAkC,CAC7C,IAAI8B,GAGI0P,AAFIX,EAAU,GAAG,CAAC/O,EAAI,IAAI,EAEvB,UAAU,CAErB,IAAIA,CAAG,CAAEa,CAAS,EACjB,IAAM6O,EAAKX,EAAU,GAAG,CAAC/O,EAAI,IAAI,EAC7Ba,CAAAA,AAAM,SAANA,GAAgBA,AAAM,gBAANA,CAAkB,GAAG6O,CAAAA,EAAG,UAAU,CAAG7O,CAAAA,CAC1D,CACD,GAEA3C,EAAO,IAAI,CAAC,qCAAsC,CACjD,QACQ,CAET,GAEAA,EAAO,IAAI,CAAC,iCAAkC,CAC7C,IAAI8B,GAGI0P,AAFIX,EAAU,GAAG,CAAC/O,EAAI,IAAI,EAEvB,UAAU,AAEtB,GAEA9B,EAAO,IAAI,CAAC,8BAA+B,CAC1C,IAAI8B,GAGI0P,AAFIX,EAAU,GAAG,CAAC/O,EAAI,IAAI,EAEvB,OAAO,CAElB,IAAIA,CAAG,CAAEa,CAA0B,EAElC6O,AADWX,EAAU,GAAG,CAAC/O,EAAI,IAAI,EAC9B,OAAO,CAAGa,CACd,CACD,GAEA3C,EAAO,IAAI,CAAC,8BAA+B,CAC1C,IAAI8B,GAGI0P,AAFIX,EAAU,GAAG,CAAC/O,EAAI,IAAI,EAEvB,OAAO,CAElB,IAAIA,CAAG,CAAEa,CAAqB,EAE7B6O,AADWX,EAAU,GAAG,CAAC/O,EAAI,IAAI,EAC9B,OAAO,CAAGa,CACd,CACD,GAEA3C,EAAO,IAAI,CAAC,gCAAiC,CAC5C,IAAI8B,GAGI0P,AAFIX,EAAU,GAAG,CAAC/O,EAAI,IAAI,EAEvB,SAAS,CAEpB,IAAIA,CAAG,CAAEa,CAA4B,EAEpC6O,AADWX,EAAU,GAAG,CAAC/O,EAAI,IAAI,EAC9B,SAAS,CAAGa,CAChB,CACD,GAEA3C,EAAO,IAAI,CAAC,6BAA8B,CACzC,IAAI8B,GAGI0P,AAFIX,EAAU,GAAG,CAAC/O,EAAI,IAAI,EAEvB,MAAM,CAEjB,IAAIA,CAAG,CAAEa,CAAqB,EAE7B6O,AADWX,EAAU,GAAG,CAAC/O,EAAI,IAAI,EAC9B,MAAM,CAAGa,CACb,CACD,GAEA3C,EAAO,IAAI,CAAC,0BAA2B,CACtC,IAAI8B,GAGI0P,AAFIX,EAAU,GAAG,CAAC/O,EAAI,IAAI,EAEvB,GAAG,AAEf,GAEA9B,EAAO,IAAI,CAAC,+BAAgC,CAC3C,IAAI8B,GAGI0P,AAFIX,EAAU,GAAG,CAAC/O,EAAI,IAAI,EAEvB,QAAQ,AAEpB,GAEA9B,EAAO,IAAI,CAAC,iCAAkC,CAC7C,IAAI8B,GAGI0P,AAFIX,EAAU,GAAG,CAAC/O,EAAI,IAAI,EAEvB,MAAM,CAAC,UAAU,AAE7B,GAEA9B,EAAO,KAAK,CAAC,2BAA4B,CACxC,MAAM8B,CAAG,EACR,IAAM0P,EAAKX,EAAU,GAAG,CAAC/O,EAAI,IAAI,EAEjCA,EAAI,MAAM,CAAC0P,EAAG,MAAM,CAAC,IAAI,CAAC1P,EAAI,IAAI,CAAC,EAAE,EACtC,CACD,GAEA9B,EAAO,KAAK,CAAC,4BAA6B,CACzC,MAAM8B,CAAG,EACR,IAAM0P,EAAKX,EAAU,GAAG,CAAC/O,EAAI,IAAI,CACb1B,MAAAA,IAAhB0B,EAAI,IAAI,CAAC,EAAE,EAAgBA,CAAAA,EAAI,IAAI,CAAC,EAAE,CAAG,GAAG,EAC5B1B,KAAAA,IAAhB0B,EAAI,IAAI,CAAC,EAAE,EAAgBA,CAAAA,EAAI,IAAI,CAAC,EAAE,CAAG,EAAC,EAC9CA,EAAI,MAAM,CAAC0P,EAAG,MAAM,CAAC,KAAK,CAAC1P,EAAI,IAAI,CAAC,EAAE,CAAEA,EAAI,IAAI,CAAC,EAAE,EACpD,CACD,EACD,C,qJC/Qe,SAAS,EAAC9B,CAAsB,CAAE6C,CAAU,MACtDiE,CACAjE,CAAAA,EAAK,MAAM,EAAIuD,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAY,UAAWpG,EAAO,GAAG,GACnD8G,CAAAA,EAAS9G,EAAO,OAAO,CAAC,SAAS,CAAC,SAAUsC,EAAAA,EAAAA,CAAAA,KAAAA,CAAAA,IAAiB,GAE9D,IAAMmP,EAAO1I,OAAO,qBACd2I,EAAU3I,OAAO,eAEvB/I,EAAO,KAAK,CAAC,gCAAiC,CAC7C,MAAM8B,CAAG,EACJA,EAAI,IAAI,CAAC,EAAE,EAAEA,CAAAA,EAAI,IAAI,CAAC,EAAE,CAAGX,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAWW,EAAI,IAAI,CAAC,EAAE,CAAE9B,EAAO,IAAI,GAC9CI,KAAAA,IAAhB0B,EAAI,IAAI,CAAC,EAAE,EAAgBA,CAAAA,EAAI,IAAI,CAAC,EAAE,CAAG,EAAG,EAChDA,EAAI,IAAI,CAAC2P,EAAK,CAAG3P,EAAI,IAAI,AAC1B,CACD,GAEA9B,EAAO,KAAK,CAAC,4CAA6C,CACzD,MAAM8B,CAAG,EAER6P,AADgB7P,CAAAA,EAAI,IAAI,CAAC4P,EAAQ,EAAK5P,CAAAA,EAAI,IAAI,CAAC4P,EAAQ,CAAG,CAAC,EAAC,CACrD,CAAC5P,EAAI,IAAI,CAAC,EAAE,CAAC,CAAGA,EAAI,IAAI,CAAC,EAAE,AACnC,CACD,GAEA9B,EAAO,KAAK,CAAC,gCAAiC,CAC7C,MAAM8B,CAAG,EACR,IAAMlC,EAAOkC,EAAI,IAAI,CAAC2P,EAAK,CAC3B,GAAI,CAAC7R,GAAQA,CAAI,CAAC,EAAE,CAAE,OAEtB,GAAI,CAACwG,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAY,UAAWpG,EAAO,GAAG,EAGrC,OAFA1B,QAAQ,IAAI,CAAC,iDAENwD,EAAI,MAAM,CAAC1B,KAAAA,GAQnB,IAAMwR,EAAM,IAAIC,kBAAkB,KAAM,CAAE,cAAe,UAAW,GAC9DjG,EAAO,IAAIW,SAASqF,GAE1B5R,EAAO,OAAO,CAAC,IAAI,CAAC,+BAAgC8G,EAAQ,CAC3D8K,IAAAA,EACAhS,KAAAA,EACA,QAASkC,EAAI,IAAI,CAAC4P,EAAQ,CAC1B,KAAM5P,EAAI,IAAI,CAAC,EAAE,AAClB,GAEA,IAAMgQ,EAAMzC,YAAY,GAAG,GAC3B,KAAOzD,AAAqB,IAArBA,EAAK,QAAQ,CAAC,IACpB,GAAIyD,YAAY,GAAG,GAAKyC,EAAM,IAC7B,MAAM,AAAIvT,MAAM,eAKlB,IAAMwT,EAASnG,EAAK,SAAS,CAAC,GACxBoG,EAAgBpG,EAAK,SAAS,CAAC,GAE/BqG,EAAY,IAAI5G,WAAW2G,GACjCC,EAAU,GAAG,CAAC,IAAI5G,WAAWuG,EAAI,KAAK,CAAC,EAAG,EAAII,KAC9C,IAAML,EAAU,IAAIzG,cAAc,MAAM,CAAC+G,GAEnCC,EAAatG,EAAK,SAAS,CAAC,EAAIoG,GAChCG,EAAS,IAAI9G,WAAW6G,GAC9BC,EAAO,GAAG,CACT,IAAI9G,WACHuG,EAAI,KAAK,CAAC,GAAKI,EAAe,GAAKA,EAAgBE,KAGrD,IAAME,EAAO,IAAIlH,cAAc,MAAM,CAACiH,GAGtCnS,EAAO,OAAO,CAAC8B,EAAI,IAAI,CAAE,SAAU,CAClC,QACQiQ,CAET,GACA/R,EAAO,OAAO,CAAC8B,EAAI,IAAI,CAAE,eAAgB,CACxC,QACQsQ,CAET,GACApS,EAAO,OAAO,CAAC8B,EAAI,IAAI,CAAE,WAAY,CACpC,QACC,AAAIA,AAA0B,gBAA1BA,EAAI,IAAI,CAAC,YAAY,CAA2BqQ,EAAO,MAAM,CAE1DC,CAET,GACApS,EAAO,OAAO,CAAC8B,EAAI,IAAI,CAAE,cAAe,CACvC,QAGQuQ,AAFQ,IAAIC,YAEL,eAAe,CAACF,EAAM,WAEtC,GACApS,EAAO,OAAO,CAAC8B,EAAI,IAAI,CAAE,wBAAyB,CACjD,QACQ,IAAM6P,CAEf,GACA3R,EAAO,OAAO,CAAC8B,EAAI,IAAI,CAAE,oBAAqB,CAC7C,QACQ,AAACyQ,IAEP,IAAMC,EAAQC,AADH,AAAIC,OAAO,CAAC,CAAC,EAAEH,EAAO,OAAO,CAAC,CAAE,KAC1B,IAAI,CAACZ,GAEtB,OAAOa,EAAQA,CAAK,CAAC,EAAE,CAAG,IAC3B,CAEF,GAGA1Q,EAAI,MAAM,CAAC1B,KAAAA,EACZ,CACD,GAEAJ,EAAO,IAAI,CAAC,uCAAwC,CACnD,IAAI8B,GACId,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAac,EAAI,GAAG,GAE7B,EACD,C,4HC3HA,IAAM6Q,EAAwC,CAAC,EAElCxM,EAAU,AAACnG,GACvBoG,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAY,aAAcpG,EAAO,GAAG,EAEtB,SAAS,EAACA,CAAsB,CAAE6C,CAAU,EAE1DN,OAAO,cAAc,CAACM,EAAM,0BAA2B,CACtD,MAAO,CAAC+P,EAAiBC,KACxBF,CAAU,CAACE,EAAI,CAAGD,CACnB,EACA,WAAY,GACZ,SAAU,GACV,aAAc,EACf,GAEA,IAAME,EAAiB,cAIvB9S,EAAO,KAAK,CAAC,8BAA+B,CAC3C,MAAM8B,CAAG,EACR,IAAIiR,EAAsBjR,EAAI,EAAE,CAAC,IAAI,CAACA,EAAI,IAAI,EAC1CkR,EAAY,GAKVC,EAAgBF,EAAY,OAAO,CAAC,OAE1C,GAAIE,AAAkB,KAAlBA,EAAsB,OAAOnR,EAAI,MAAM,CAACiR,GAE5C,IAAMG,EAAaH,EAAY,OAAO,CACrC,IACAE,EAAgBH,EAAe,MAAM,EAQhCK,EAAWC,AALGC,SACnBN,EAAY,SAAS,CAACE,EAAgBH,EAAe,MAAM,CAAEI,IAI/BD,EAEzBK,EAAcP,EAAY,OAAO,CAAC,KAAME,GACxCJ,EAAME,EAAY,SAAS,CAACG,EAAa,EAAGI,GAGlDP,EAAcA,EAAY,OAAO,CAAC,uBAAwB,IAE1D,IAAMH,EAAOD,CAAU,CAACE,EAAI,CAExBtO,EAAI,EACJ2H,EAAS,EAETqH,EAAI,EACR,KAAOA,EAAIX,EAAK,MAAM,EAAE,CACvB,GAAM,CAACY,EAAKC,EAAOC,EAAI,CAAGd,CAAI,CAACW,EAAE,CACjC,GAAIE,EAAQN,EAAU,CACrBI,IACA,QACD,CACA,GAAIE,EAAQN,EAAWjH,EAAS6G,EAAY,MAAM,CAAE,MAGpDC,GAAaD,EAAY,KAAK,CAACxO,EAAGkP,EAAQN,EAAWjH,GACrD8G,GAAaQ,EACbtH,GAAUwH,EAAMD,EAAQD,EAAI,MAAM,CAClCjP,EAAIkP,EAAQN,EAAWjH,EAASsH,EAAI,MAAM,CAE1CD,GACD,CAIA,OAFAP,GAAaD,EAAY,KAAK,CAACxO,GAExBzC,EAAI,MAAM,CAACkR,EACnB,CACD,EACD,C,oCCnFe,SAAS,EAAChT,CAAM,CAAE6C,CAAI,EACpC,OAAOA,EAAK,WAAW,CACvB,OAAOA,EAAK,aAAa,CACzB,OAAOA,EAAK,gBAAgB,CAC5B,OAAOA,EAAK,iBAAiB,CAC7B,OAAOA,EAAK,wBAAwB,CACpCA,EAAK,gBAAgB,CAAC,eAAgB,IAAMzC,KAAAA,EAC7C,C,mMCHO,IAAM8F,EAAQ,EAEN,SAAS,EAAClG,CAAsB,CAAE6C,CAAmB,EAKnE,IAAK,IAAM1D,IAAU,CAAC0D,EAAK,CAC1B,IAAK,IAAMzD,KAAQD,EAClB,GAAI,CACyB,YAAxB,OAAOA,CAAM,CAACC,EAAK,EACtBY,EAAO,QAAQ,CAACb,EAAQC,EAAM,CAC7B,MAAM0C,CAAG,EACRuI,EAAQvI,EAAK9B,EACd,CACD,EAEF,CAAE,KAAM,CAAC,CAIX,GAAKxB,EAAAA,QAAQA,EAEb,IAAK,IAAMW,IAAU,CACpB0D,EAAK,IAAI,CAAC,SAAS,CACnBA,EAAK,gBAAgB,CAAC,SAAS,CAC/BA,EAAK,QAAQ,CACbA,EAAK,UAAU,CAAC,SAAS,CACzBA,EAAK,KAAK,CAAC,SAAS,CACpB,CACA,IAAK,IAAMzD,KAAQD,EAClB,GAAI,CACyB,YAAxB,OAAOA,CAAM,CAACC,EAAK,EACtBY,EAAO,QAAQ,CAACb,EAAQC,EAAM,CAC7B,MAAM0C,CAAG,EACRuI,EAAQvI,EAAK9B,EACd,CACD,EAEF,CAAE,KAAM,CAAC,CAIXA,EAAO,KAAK,CAAC,wBAAyB,CACrC,MAAM8B,CAAG,EACRuI,EAAQvI,EAAK9B,EACd,CACD,GAEAA,EAAO,KAAK,CAAC,kCAAmC,CAC/C,MAAM8B,CAAG,EACR,IAAMc,EAAOd,EAAI,IAAI,GAEhBc,IAEDA,EAAK,GAAG,EACX5C,EAAO,QAAQ,CAAC4C,EAAM,MAAO,CAC5B,MAAM+Q,CAAM,EAEXtJ,EAAQsJ,EAAQ3T,EACjB,CACD,GAGG4C,EAAK,GAAG,EACX5C,EAAO,QAAQ,CAAC4C,EAAM,MAAO,CAC5B,MAAMgR,CAAM,EACXvJ,EAAQuJ,EAAQ5T,EACjB,CACD,GAKD8B,EAAI,MAAM,CAACc,GACZ,CACD,GACD,CAEO,SAASyH,EAAQvI,CAAa,CAAE9B,CAAsB,EAC5D,IAAM6C,EAAO7C,EAAO,MAAM,CAI1B,IAAK,IAAMuE,KAHPzC,EAAI,IAAI,GAAK9B,EAAO,WAAW,EAAE8B,CAAAA,EAAI,IAAI,CAAGe,CAAG,EAC/Cf,EAAI,IAAI,GAAK9B,EAAO,aAAa,EAAE8B,CAAAA,EAAI,IAAI,CAAGe,EAAK,QAAQ,AAAD,EAE9Cf,EAAI,IAAI,CACnBA,EAAI,IAAI,CAACyC,EAAE,GAAKvE,EAAO,aAAa,EAAE8B,CAAAA,EAAI,IAAI,CAACyC,EAAE,CAAG1B,EAAK,QAAQ,AAAD,EAChEf,EAAI,IAAI,CAACyC,EAAE,GAAKvE,EAAO,WAAW,EAAE8B,CAAAA,EAAI,IAAI,CAACyC,EAAE,CAAG1B,CAAG,CAE3D,C,+FCxFe,SAAS,EAAC7C,CAAsB,CAAE+C,CAAwB,EACxE/C,EAAO,KAAK,CAAC,SAAU,CACtB,UAAU,CAAEJ,KAAAA,CAAI,CAAEiU,KAAAA,CAAI,CAAE,EACvBjU,CAAI,CAAC,EAAE,CAAGuB,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAWvB,CAAI,CAAC,EAAE,CAAEI,EAAO,IAAI,EAAI,eAEzCJ,CAAI,CAAC,EAAE,EAAIA,AAAiB,WAAjBA,CAAI,CAAC,EAAE,CAAC,IAAI,EAC1BA,CAAAA,CAAI,CAAC,EAAE,EAAI,cAAa,EAGzB,IAAMkH,EAAS+M,IACTC,EAAO,IAAIC,EAAAA,EAAiBA,CAEjC,WACA,IAAMC,EAAO,MAAMF,EAAK,YAAY,GACpC9T,EAAO,OAAO,CAAC,IAAI,CAClB,+BACA8G,EACA,CACC,eAAgB,cAChBkN,KAAAA,CACD,EACA,CAACA,EAAK,CAER,IACD,CACD,GAGAhU,EAAO,KAAK,CAAC,eAAgB,CAC5B,UAAU,CAAEJ,KAAAA,CAAI,CAAEiU,KAAAA,CAAI,CAAE,EACvBjU,CAAI,CAAC,EAAE,CAAGuB,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAWvB,CAAI,CAAC,EAAE,CAAEI,EAAO,IAAI,EAAI,eAEzCJ,CAAI,CAAC,EAAE,EAAI,AAAmB,UAAnB,OAAOA,CAAI,CAAC,EAAE,EAC5BA,CAAAA,CAAI,CAAC,EAAE,CAAG,CAAC,EAAEI,EAAO,GAAG,CAAC,MAAM,CAAC,CAAC,EAAEJ,CAAI,CAAC,EAAE,CAAC,CAAC,AAAD,EAEvCA,CAAI,CAAC,EAAE,EAAI,AAAmB,UAAnB,OAAOA,CAAI,CAAC,EAAE,GACP,WAAjBA,CAAI,CAAC,EAAE,CAAC,IAAI,EACfA,CAAAA,CAAI,CAAC,EAAE,EAAI,cAAa,EAGrBA,CAAI,CAAC,EAAE,CAAC,IAAI,EACfA,CAAAA,CAAI,CAAC,EAAE,CAAC,IAAI,CAAG,CAAC,EAAEI,EAAO,GAAG,CAAC,MAAM,CAAC,CAAC,EAAEJ,CAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,AAAD,GAItD,IAAMkH,EAAS+M,IACTC,EAAO,IAAIC,EAAAA,EAAiBA,CAEjC,WACA,IAAMC,EAAO,MAAMF,EAAK,YAAY,GACpC9T,EAAO,OAAO,CAAC,IAAI,CAClB,oCACA8G,EAAO,IAAI,CACX,CACC,eAAgB,cAChBkN,KAAAA,CACD,EACA,CAACA,EAAK,CAER,IACD,CACD,GAEAhU,EAAO,KAAK,CAAC,8BAA+B,CAC3C,MAAM8B,CAAG,EACJA,EAAI,IAAI,CAAC,EAAE,EAAEA,CAAAA,EAAI,IAAI,CAAC,EAAE,CAAGX,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAWW,EAAI,IAAI,CAAC,EAAE,CAAE9B,EAAO,IAAI,EACnE,CACD,EACD,C,0LCjEO,SAASpB,EAAaoB,CAAsB,CAAE6C,CAAuB,EAC3E,OAAO,SAAUoR,CAAe,EAC/B,GAAIA,IAAepR,EAAM,OAAO7C,EAAO,WAAW,CAClD,GAAIiU,IAAepR,EAAK,QAAQ,CAAE,OAAO7C,EAAO,aAAa,CAC7D,GAAIiU,IAAeC,KAAM,OAAOvK,EAAAA,YAAAA,CAAAA,IAAiB,CAAC3J,GAElD,GAAIxB,EAAAA,QAAQA,CAAE,CACb,GAAIyV,IAAepR,EAAK,MAAM,QAC7B,AAAIxE,EAAAA,CAAcA,IAAIwE,EAAK,MAAM,CAEzBA,EAAK,MAAM,CAACxE,EAAAA,CAAcA,CAAC,CAAC,WAAW,CAGvC2B,EAAO,WAAW,CAEpB,GAAIiU,IAAepR,EAAK,QAAQ,CACtC,OAAO7C,EAAO,aAAa,MACrB,GAAIiU,IAAepR,EAAK,GAAG,CAAE,CAEnC,IAAIsR,EAAUtR,EAEd,OAAS,CACR,IAAMuR,EAAOD,EAAQ,MAAM,CAAC,IAAI,CAChC,GAAIC,IAASD,GAGT,CAAE9V,CAAAA,EAAAA,CAAcA,IAAI+V,CAAG,EAHL,MAMtBD,EAAUC,CACX,CAEA,OAAOD,CAAO,CAAC9V,EAAAA,CAAcA,CAAC,CAAC,WAAW,AAC3C,CACD,CAEA,OAAO4V,CACR,CACD,CAEO,IAAM/N,EAAQ,EACN,SAAS,EAAClG,CAAsB,CAAE6C,CAAuB,EAIvEN,OAAO,cAAc,CAACM,EAAMP,EAAAA,EAAAA,CAAAA,OAAAA,CAAAA,MAAqB,CAAE,CAClD,MAAOtC,EAAO,MAAM,CACpB,SAAU,GACV,aAAc,EACf,GACAuC,OAAO,cAAc,CAACM,EAAMP,EAAAA,EAAAA,CAAAA,OAAAA,CAAAA,UAAyB,CAAE,CACtD,MAAO,SAAUiC,CAAC,SACjB,AAAIA,IAAM1B,EAAa7C,EAAO,WAAW,CAElCuE,CACR,EACA,SAAU,GACV,aAAc,EACf,GAEA1B,EAAK,WAAW,CAAG,SAAUF,CAAC,EAa7B,MAZI,AAAa,UAAb,OAAOA,GAAkBA,EAAE,QAAQ,CAAC,YAIpC,AAAa,UAAb,OAAOA,GAAkBA,EAAE,QAAQ,CAACN,SAAS,MAAM,EAInD7D,EAAAA,QAAQA,EAAImE,aAAakD,UAAYlD,EAAE,WAAW,CAAC,SAAS,CAIzDA,CACR,EAMAJ,OAAO,cAAc,CAACM,EAAMP,EAAAA,EAAAA,CAAAA,OAAAA,CAAAA,QAAuB,CAAE,CACpD,MAAO,SAAU+R,CAAQ,CAAEC,CAAU,CAAEC,CAAQ,EAC9C,GAAIF,aAAelM,SAIlB,OAFAqM,cAAc,IAAI,CAAGD,EAEd,EAET,EACA,SAAU,GACV,aAAc,EACf,EACD,C,8HChGO,OAAMrM,E,MACZ,SAAsB,AACtB,aAAmBlI,CAAsB,CAAE,C,KAAxBA,MAAM,CAANA,EAElB6C,KAAK,SAAS,CAAG,AAAC4R,IACjB,IAAMT,EAAOS,EAAO,KAAK,CAAC,EAAE,CAC5B1M,EAAI,GAAG,CAAC,KAAM,aAEdiM,EAAK,gBAAgB,CAAC,UAAW,AAACU,IACjCpW,QAAQ,GAAG,CAAC,KAAMoW,EAAM,IAAI,EACxB,kBAAmBA,EAAM,IAAI,GAC5BA,AAA6B,SAA7BA,EAAM,IAAI,CAAC,aAAa,EAC3B,IAAI,CAAC,QAAQ,CAAGA,EAAM,IAAI,CAAC,aAAa,CACxC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAE,cAAe,MAAO,IAElDC,EAAc,IAAI,CAAC,IAAI,CAAE3U,EAAQ0U,EAAM,IAAI,EAG9C,GAEAV,EAAK,KAAK,EACX,CACD,CAEA,MAAO,CACN,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAG,CAEjC,MAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAC3B,OAAQ,CACP,UAAW,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAC/B,MAAO,YACP,cAAe,KACf,QAAS,KAET,YAAa,KAAO,EACpB,iBAAkB,KAAO,EACzB,oBAAqB,KAAO,EAC5B,cAAe,AAACY,IAAe,CAChC,EACA,iBAAkB,UAAa,EAC/B,WAAY,SAAY,GACxB,OAAQ,UAAa,EACrB,WAAY,KACZ,QAAS,IACV,EAGA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,wBAAwB,CAAG,IAAI,CAAC,MAAM,CAAC,MAAM,AACjE,CACD,CAEA,SAASD,EAER3U,CAAsB,CACtBf,CAAgB,EAEhB,IAAM+U,EAAO,IAAI,CAAC,QAAQ,CACpB9J,EAAOjL,EAAK,aAAa,CACzB4V,EAAQ5V,EAAK,cAAc,CAC3B6K,EAAW9J,EAAO,cAAc,CAAC,GAAG,CAAC6C,MAE3C,GAAIqH,AAAS,UAATA,EAAkB,CACrBnC,EAAI,GAAG,CAAC,KAAM9I,GACd,IAAM6V,EAAgBhL,EAAS,MAAM,CAAC,AAAC4K,GAAUA,AAAgB,UAAhBA,EAAM,KAAK,EAC5D,GAAI,CAACI,EAAe,OAEpB,IAAK,IAAMzT,KAAWyT,EAAe,CACpC,IAAMC,EAAU9V,EAAK,gBAAgB,CAG/B+V,EAAc,IADJhV,EAAO,OAAO,CAAC,OAAU,CACTgB,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAa+T,EAAQ,GAAG,EAAG,CAC1D,KAAMA,EAAQ,IAAI,CAClB,QAAS,IAAIE,QAAQF,EAAQ,OAAO,EACpC,OAAQA,EAAQ,MAAM,CACtB,KAAM,aACP,GAEAxS,OAAO,cAAc,CAACyS,EAAa,cAAe,CACjD,MAAOD,EAAQ,aAAa,AAC7B,GAGA,IAAMG,EAAsB,IAAI5N,MAAM,QACtC4N,CAAAA,EAAe,OAAO,CAAGF,EACzB,IAAIG,EAAY,EAChBD,CAAAA,EAAe,WAAW,CAAG,AAACE,IAC7BD,EAAY,GACX,WAEA,IAAME,EAAsB,CAC3B,cAAe,QACf,eAAgBR,EAChB,kBAAmB,CAClB,KAAMO,AALRA,CAAAA,EAAW,MAAMA,CAAO,EAKP,IAAI,CACnB,QAAS9T,MAAM,IAAI,CAAC8T,EAAS,OAAO,CAAC,OAAO,IAC5C,OAAQA,EAAS,MAAM,CACvB,WAAYA,EAAS,UAAU,AAChC,CACD,EAEArN,EAAI,GAAG,CAAC,KAAM,aAAcsN,GAC5BrB,EAAK,WAAW,CAACqB,EAAS,CAACD,EAAS,IAAI,CAAC,CAC1C,IACD,EAEArN,EAAI,GAAG,CAAC,QAASmN,GACjB7T,EAAQ,eAAe,CAAC0P,AAa3B,SAAoB2D,CAAY,EAC/B,OAAO,IAAIxV,MAAMwV,EAAO,CACvB,KAAIvV,EAAQC,EAAMkW,IACjB,AAAa,cAATlW,GAEGO,QAAQ,GAAG,CAACR,EAAQC,EAE7B,EACD,EArBsC8V,IAC/B,CAACC,IACJ7W,QAAQ,GAAG,CAAC,KAAM,eAClB0V,EAAK,WAAW,CAAC,CAChB,cAAe,QACf,eAAgBa,EAChB,kBAAmB,EACpB,GAEF,CACD,CACD,C,+FCrHe,SAAS,EAAC7U,CAAsB,CAAE+C,CAAW,EAC3D/C,EAAO,KAAK,CAAC,gBAAiB,CAC7B,MAAM8B,CAAG,EACR,IAAK,IAAMyC,KAAKzC,EAAI,IAAI,CACvBA,EAAI,IAAI,CAACyC,EAAE,CAAGpD,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAWW,EAAI,IAAI,CAACyC,EAAE,CAAEvE,EAAO,IAAI,CAEnD,CACD,EACD,C,oECXA,MAAe,CACd,IAAK,SAAUuV,CAAgB,CAAEF,CAAe,CAAE,GAAGzV,CAAW,EAC/D,IAAM4V,EAAMjX,MAAM,iBAAiB,AAEnCA,CAAAA,MAAM,iBAAiB,CAAG,CAACkX,EAAGrM,KAC7BA,EAAM,KAAK,GACXA,EAAM,KAAK,GACXA,EAAM,KAAK,GAEX,IAAIsM,EAAM,GACV,IAAK,IAAInR,EAAI,EAAGA,EAAIoR,KAAK,GAAG,CAAC,EAAGvM,EAAM,MAAM,EAAG7E,IAC1C6E,CAAK,CAAC7E,EAAE,CAAC,eAAe,IAG3BmR,CAAAA,GAAO,CAAC,EAAEtM,CAAK,CAAC7E,EAAE,CAAC,eAAe,GAAG,IAAI,CAAC,CAAGmR,CAAE,EAKjD,OAFAA,GAAOtM,CAAK,CAAC,EAAE,CAAC,eAAe,IAAM,WAGtC,EAEA,IAAMsM,EAAO,WACZ,GAAI,CACH,MAAM,AAAInX,OACX,CAAE,MAAO0K,EAAG,CACX,OAAOA,EAAE,KAAK,AACf,CACD,GAEA1K,CAAAA,MAAM,iBAAiB,CAAGiX,EAE1B,IAAMxT,EAAK1D,OAAO,CAACiX,EAAS,EAAIjX,QAAQ,GAAG,CAoB3C0D,EACC,CAAC,EAAE,EAAE0T,EAAI,GAAG,EAAEL,EAAQ,CAAC,CACvB;oBACiB,EAtBP,CACV,IAAK,OACL,KAAM,OACN,MAAO,OACP,MAAO,aACR,CAAC,CAACE,EAAS,CAiBY;SAChB,EAjBI,CACV,IAAK,OACL,KAAM,OACN,MAAO,OACP,MAAO,MACR,CAAC,CAACA,EAAS,CAYC;WACH,EAZO,CACf,IAAK,EACL,KAAM,EACN,MAAO,EACP,MAAO,CACR,CAAC,CAACA,EAAS,CAOQ;;;;CAIpB,CAAC,CACC,CAAC,EAAEA,AAAa,UAAbA,EAAuB,cAAgB,GAAG,CAAC,IAC3C3V,EAEL,EACA,IAAK,SAAUyV,CAAe,CAAE,GAAGzV,CAAW,EAC7C,IAAI,CAAC,GAAG,CAAC,MAAOyV,KAAYzV,EAC7B,EACA,KAAM,SAAUyV,CAAe,CAAE,GAAGzV,CAAW,EAC9C,IAAI,CAAC,GAAG,CAAC,OAAQyV,KAAYzV,EAC9B,EACA,MAAO,SAAUyV,CAAe,CAAE,GAAGzV,CAAW,EAC/C,IAAI,CAAC,GAAG,CAAC,QAASyV,KAAYzV,EAC/B,EACA,MAAO,SAAUyV,CAAe,CAAE,GAAGzV,CAAW,EAC/C,IAAI,CAAC,GAAG,CAAC,QAASyV,KAAYzV,EAC/B,CACD,C,qHC5EI,CAAE,eAAeiD,IAAG,GAEvBA,CAAAA,KAAK,SAAS,CAAG,CAChB,QAAS,CACR,MAAO+S,UACP,QAASC,WACV,EACA,MAAO,CAAC,EACRzP,YAAAA,CACD,GAGM,IAAM4I,EAAYnM,KAAK,SAAS,CAEjC0F,EAAiBgF,SAChB,SAASvF,IACfgH,EAAU,KAAK,CAAC,MAAM,CAAGzG,EACxB,MACAyG,EAAU,MAAM,CAAC,KAAK,CAAC,MAAM,EAE9BA,EAAU,KAAK,CAAC,MAAM,CAAGzG,EACxB,MACAyG,EAAU,MAAM,CAAC,KAAK,CAAC,MAAM,CAE/B,CAEO,SAAS5I,EAAY0P,CAAyB,CAAE5V,CAAQ,EAC9D,IAAMH,EAAQiP,EAAU,MAAM,CAAC,KAAK,CAAC8G,EAAK,CAC1C,IAAK,IAAMC,KAAS/G,EAAU,MAAM,CAAC,SAAS,CAAE,CAC/C,IAAMgH,EAAehH,EAAU,MAAM,CAAC,SAAS,CAAC+G,EAAM,CACtD,GAAI,IAAIrD,OAAOqD,GAAO,IAAI,CAAC7V,EAAI,IAAI,GAAK4V,KAAQE,EAC/C,OAAOA,CAAY,CAACF,EAAK,AAE3B,CAEA,OAAO/V,CACR,C,2YCpCO,GAAM,CACZ,KAAM,CAAElB,WAAAA,CAAU,CAAEoX,gBAAAA,CAAe,CAAElC,kBAAAA,CAAiB,CAAE,CACxD,IAAK,CAAE5S,WAAAA,CAAU,CAAEH,aAAAA,CAAY,CAAE0H,YAAAA,CAAW,CAAEC,cAAAA,CAAa,CAAE,CAC7D,QAAS,CACRlF,WAAAA,CAAU,CACVC,aAAAA,CAAY,CACZK,YAAAA,CAAW,CACXyB,cAAAA,CAAa,CACb0Q,cAAAA,CAAa,CACbhR,UAAAA,CAAS,CACTiR,eAAAA,CAAc,CACdC,eAAAA,CAAc,CACdvR,UAAAA,CAAS,CACT,CACD1G,YAAAA,CAAW,CACX,CAAG6Q,EAAAA,EAAAA,CAAAA,MAAgB,CAEP1M,EAAS0M,EAAAA,EAAAA,CAAAA,MAAgB,A,2FClB/B,IAAM3Q,EAAiB0K,OAAO,GAAG,CAAC,0BAC5BvI,EAAgBuI,OAAO,GAAG,CAAC,wB"}
\ No newline at end of file
diff --git a/public/scram/scramjet.controller.js b/public/scram/scramjet.controller.js
index 72350e9..4e3a63d 100644
--- a/public/scram/scramjet.controller.js
+++ b/public/scram/scramjet.controller.js
@@ -5,7 +5,7 @@
font-weight: bold;
font-family: monospace;
font-size: 0.9em;
- `,`${"debug"===e?"color: gray":""}`,...t)},log:function(e,...r){this.fmt("log",e,...r)},warn:function(e,...r){this.fmt("warn",e,...r)},error:function(e,...r){this.fmt("error",e,...r)},debug:function(e,...r){this.fmt("debug",e,...r)}}}},r={};function t(o){var n=r[o];if(void 0!==n)return n.exports;var c=r[o]={exports:{}};return e[o](c,c.exports,t),c.exports}t.d=function(e,r){for(var o in r)t.o(r,o)&&!t.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:r[o]})},t.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)};let o=Symbol.for("scramjet client global"),n=Symbol.for("scramjet frame handle");var c=t(1762).Z;class s extends EventTarget{controller;frame;constructor(e,r){super(),this.controller=e,this.frame=r,r[n]=this}get client(){return this.frame.contentWindow.window[o]}go(e){e instanceof URL&&(e=e.toString()),c.log("navigated to",e),this.frame.src=this.controller.encodeUrl(e)}back(){this.frame.contentWindow?.history.back()}forward(){this.frame.contentWindow?.history.forward()}reload(){this.frame.contentWindow?.location.reload()}}!("$scramjet"in self)&&(self.$scramjet={version:{build:"e4a0ee9",version:"1.0.2-dev"},codec:{},flagEnabled:function(e,r){let t=a.config.defaultFlags[e];for(let t in a.config.siteFlags){let o=a.config.siteFlags[t];if(new RegExp(t).test(r.href)&&e in o)return o[e]}return t}});let a=self.$scramjet,i=Function;function f(){a.codec.encode=i("url",a.config.codec.encode),a.codec.decode=i("url",a.config.codec.decode)}var l=t(1762).Z;window.ScramjetController=class e{db;constructor(e){let r={prefix:"/scramjet/",globals:{wrapfn:"$scramjet$wrap",wrapthisfn:"$scramjet$wrapthis",trysetfn:"$scramjet$tryset",importfn:"$scramjet$import",rewritefn:"$scramjet$rewrite",metafn:"$scramjet$meta",setrealmfn:"$scramjet$setrealm",pushsourcemapfn:"$scramjet$pushsourcemap"},files:{wasm:"/scramjet.wasm.js",shared:"/scramjet.shared.js",worker:"/scramjet.worker.js",client:"/scramjet.client.js",sync:"/scramjet.sync.js"},defaultFlags:{serviceworkers:!1,naiiveRewriter:!1,captureErrors:!0,strictRewrites:!0,syncxhr:!1,cleanerrors:!1,scramitize:!1,sourcemaps:!1},siteFlags:{},codec:{encode:`if (!url) return url;
+ `,`${"debug"===e?"color: gray":""}`,...t)},log:function(e,...r){this.fmt("log",e,...r)},warn:function(e,...r){this.fmt("warn",e,...r)},error:function(e,...r){this.fmt("error",e,...r)},debug:function(e,...r){this.fmt("debug",e,...r)}}}},r={};function t(o){var n=r[o];if(void 0!==n)return n.exports;var c=r[o]={exports:{}};return e[o](c,c.exports,t),c.exports}t.d=function(e,r){for(var o in r)t.o(r,o)&&!t.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:r[o]})},t.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)};let o=Symbol.for("scramjet client global"),n=Symbol.for("scramjet frame handle");var c=t(1762).Z;class s extends EventTarget{controller;frame;constructor(e,r){super(),this.controller=e,this.frame=r,r[n]=this}get client(){return this.frame.contentWindow.window[o]}go(e){e instanceof URL&&(e=e.toString()),c.log("navigated to",e),this.frame.src=this.controller.encodeUrl(e)}back(){this.frame.contentWindow?.history.back()}forward(){this.frame.contentWindow?.history.forward()}reload(){this.frame.contentWindow?.location.reload()}}!("$scramjet"in self)&&(self.$scramjet={version:{build:"b658a79",version:"1.0.2-dev"},codec:{},flagEnabled:function(e,r){let t=a.config.flags[e];for(let t in a.config.siteFlags){let o=a.config.siteFlags[t];if(new RegExp(t).test(r.href)&&e in o)return o[e]}return t}});let a=self.$scramjet,i=Function;function f(){a.codec.encode=i("url",a.config.codec.encode),a.codec.decode=i("url",a.config.codec.decode)}var l=t(1762).Z;window.ScramjetController=class e{db;constructor(e){let r={prefix:"/scramjet/",globals:{wrapfn:"$scramjet$wrap",wrapthisfn:"$scramjet$wrapthis",trysetfn:"$scramjet$tryset",importfn:"$scramjet$import",rewritefn:"$scramjet$rewrite",metafn:"$scramjet$meta",setrealmfn:"$scramjet$setrealm",pushsourcemapfn:"$scramjet$pushsourcemap"},files:{wasm:"/scramjet.wasm.js",shared:"/scramjet.shared.js",worker:"/scramjet.worker.js",client:"/scramjet.client.js",sync:"/scramjet.sync.js"},flags:{serviceworkers:!1,naiiveRewriter:!1,captureErrors:!0,strictRewrites:!0,syncxhr:!1,cleanerrors:!1,scramitize:!1,sourcemaps:!1,rewriterLogs:!0},siteFlags:{},codec:{encode:`if (!url) return url;
return encodeURIComponent(url);`,decode:`if (!url) return url;
return decodeURIComponent(url);`}},t=(e,r)=>{for(let o in r)r[o]instanceof Object&&o in e&&Object.assign(r[o],t(e[o],r[o]));return Object.assign(e||{},r)};a.config=t(r,e)}async init(e){f(),await this.openIDB();let r=await navigator.serviceWorker.register(e);return l.log("service worker registered"),r}createFrame(e){return!e&&(e=document.createElement("iframe")),new s(this,e)}encodeUrl(e){return e instanceof URL&&(e=e.toString()),a.config.prefix+a.codec.encode(e)}async openIDB(){let e=indexedDB.open("$scramjet",1);return new Promise((r,t)=>{e.onsuccess=async()=>{this.db=e.result,await this.#e(),r(e.result)},e.onupgradeneeded=()=>{let r=e.result;!r.objectStoreNames.contains("config")&&r.createObjectStore("config"),!r.objectStoreNames.contains("cookies")&&r.createObjectStore("cookies")},e.onerror=()=>t(e.error)})}async #e(){if(!this.db){console.error("Store not ready!");return}let e=this.db.transaction("config","readwrite").objectStore("config").put(a.config,"config");return new Promise((r,t)=>{e.onsuccess=r,e.onerror=t})}async modifyConfig(e){a.config=Object.assign({},a.config,e),f(),await this.#e()}}})();
//# sourceMappingURL=scramjet.controller.js.map
\ No newline at end of file
diff --git a/public/scram/scramjet.controller.js.map b/public/scram/scramjet.controller.js.map
index ab56fa9..19ea7cf 100644
--- a/public/scram/scramjet.controller.js.map
+++ b/public/scram/scramjet.controller.js.map
@@ -1 +1 @@
-{"version":3,"file":"scramjet.controller.js","sources":["webpack://@mercuryworkshop/scramjet/./src/log.ts","webpack://@mercuryworkshop/scramjet/./src/symbols.ts","webpack://@mercuryworkshop/scramjet/./src/controller/frame.ts","webpack://@mercuryworkshop/scramjet/./src/scramjet.ts","webpack://@mercuryworkshop/scramjet/./src/controller/index.ts"],"sourcesContent":["export default {\n\tfmt: function (severity: string, message: string, ...args: any[]) {\n\t\tconst old = Error.prepareStackTrace;\n\n\t\tError.prepareStackTrace = (_, stack) => {\n\t\t\tstack.shift(); // stack();\n\t\t\tstack.shift(); // fmt();\n\t\t\tstack.shift();\n\n\t\t\tlet fmt = \"\";\n\t\t\tfor (let i = 1; i < Math.min(2, stack.length); i++) {\n\t\t\t\tif (stack[i].getFunctionName()) {\n\t\t\t\t\t// const f = stack[i].getThis()?.constructor?.name;\n\t\t\t\t\t// if (f) fmt += `${f}.`\n\t\t\t\t\tfmt += `${stack[i].getFunctionName()} -> ` + fmt;\n\t\t\t\t}\n\t\t\t}\n\t\t\tfmt += stack[0].getFunctionName() || \"Anonymous\";\n\n\t\t\treturn fmt;\n\t\t};\n\n\t\tconst fmt = (function stack() {\n\t\t\ttry {\n\t\t\t\tthrow new Error();\n\t\t\t} catch (e) {\n\t\t\t\treturn e.stack;\n\t\t\t}\n\t\t})();\n\n\t\tError.prepareStackTrace = old;\n\n\t\tconst fn = console[severity] || console.log;\n\t\tconst bg = {\n\t\t\tlog: \"#000\",\n\t\t\twarn: \"#f80\",\n\t\t\terror: \"#f00\",\n\t\t\tdebug: \"transparent\",\n\t\t}[severity];\n\t\tconst fg = {\n\t\t\tlog: \"#fff\",\n\t\t\twarn: \"#fff\",\n\t\t\terror: \"#fff\",\n\t\t\tdebug: \"gray\",\n\t\t}[severity];\n\t\tconst padding = {\n\t\t\tlog: 2,\n\t\t\twarn: 4,\n\t\t\terror: 4,\n\t\t\tdebug: 0,\n\t\t}[severity];\n\n\t\tfn(\n\t\t\t`%c${fmt}%c ${message}`,\n\t\t\t`\n\t\tbackground-color: ${bg};\n\t\tcolor: ${fg};\n\t\tpadding: ${padding}px;\n\t\tfont-weight: bold;\n\t\tfont-family: monospace;\n\t\tfont-size: 0.9em;\n\t`,\n\t\t\t`${severity === \"debug\" ? \"color: gray\" : \"\"}`,\n\t\t\t...args\n\t\t);\n\t},\n\tlog: function (message: string, ...args: any[]) {\n\t\tthis.fmt(\"log\", message, ...args);\n\t},\n\twarn: function (message: string, ...args: any[]) {\n\t\tthis.fmt(\"warn\", message, ...args);\n\t},\n\terror: function (message: string, ...args: any[]) {\n\t\tthis.fmt(\"error\", message, ...args);\n\t},\n\tdebug: function (message: string, ...args: any[]) {\n\t\tthis.fmt(\"debug\", message, ...args);\n\t},\n};\n","// see types.d.ts for what these mean\nexport const SCRAMJETCLIENT = Symbol.for(\"scramjet client global\");\nexport const SCRAMJETFRAME = Symbol.for(\"scramjet frame handle\");\n","import { ScramjetController } from \".\";\nimport type { ScramjetClient } from \"../client/client\";\nimport { SCRAMJETCLIENT, SCRAMJETFRAME } from \"../symbols\";\n\nexport class ScramjetFrame extends EventTarget {\n\tconstructor(\n\t\tprivate controller: ScramjetController,\n\t\tpublic frame: HTMLIFrameElement\n\t) {\n\t\tsuper();\n\t\tframe[SCRAMJETFRAME] = this;\n\t}\n\n\tget client(): ScramjetClient {\n\t\treturn this.frame.contentWindow.window[SCRAMJETCLIENT];\n\t}\n\n\tgo(url: string | URL) {\n\t\tif (url instanceof URL) url = url.toString();\n\n\t\tdbg.log(\"navigated to\", url);\n\n\t\tthis.frame.src = this.controller.encodeUrl(url);\n\t}\n\n\tback() {\n\t\tthis.frame.contentWindow?.history.back();\n\t}\n\n\tforward() {\n\t\tthis.frame.contentWindow?.history.forward();\n\t}\n\n\treload() {\n\t\tthis.frame.contentWindow?.location.reload();\n\t}\n}\n","import { ScramjetFlags } from \"./types\";\n\nif (!(\"$scramjet\" in self)) {\n\t// @ts-expect-error ts stuff\n\tself.$scramjet = {\n\t\tversion: {\n\t\t\tbuild: COMMITHASH,\n\t\t\tversion: VERSION,\n\t\t},\n\t\tcodec: {},\n\t\tflagEnabled,\n\t};\n}\n\nexport const $scramjet = self.$scramjet;\n\nconst nativeFunction = Function;\nexport function loadCodecs() {\n\t$scramjet.codec.encode = nativeFunction(\n\t\t\"url\",\n\t\t$scramjet.config.codec.encode\n\t) as any;\n\t$scramjet.codec.decode = nativeFunction(\n\t\t\"url\",\n\t\t$scramjet.config.codec.decode\n\t) as any;\n}\n\nexport function flagEnabled(flag: keyof ScramjetFlags, url: URL): boolean {\n\tconst value = $scramjet.config.defaultFlags[flag];\n\tfor (const regex in $scramjet.config.siteFlags) {\n\t\tconst partialflags = $scramjet.config.siteFlags[regex];\n\t\tif (new RegExp(regex).test(url.href) && flag in partialflags) {\n\t\t\treturn partialflags[flag];\n\t\t}\n\t}\n\n\treturn value;\n}\n","import { ScramjetConfig } from \"../types\";\nimport { ScramjetFrame } from \"./frame\";\nimport { $scramjet, loadCodecs } from \"../scramjet\";\n\nexport class ScramjetController {\n\tprivate db: IDBDatabase;\n\n\tconstructor(config: Partial) {\n\t\t// sane ish defaults\n\t\tconst defaultConfig: Partial = {\n\t\t\tprefix: \"/scramjet/\",\n\t\t\tglobals: {\n\t\t\t\twrapfn: \"$scramjet$wrap\",\n\t\t\t\twrapthisfn: \"$scramjet$wrapthis\",\n\t\t\t\ttrysetfn: \"$scramjet$tryset\",\n\t\t\t\timportfn: \"$scramjet$import\",\n\t\t\t\trewritefn: \"$scramjet$rewrite\",\n\t\t\t\tmetafn: \"$scramjet$meta\",\n\t\t\t\tsetrealmfn: \"$scramjet$setrealm\",\n\t\t\t\tpushsourcemapfn: \"$scramjet$pushsourcemap\",\n\t\t\t},\n\t\t\tfiles: {\n\t\t\t\twasm: \"/scramjet.wasm.js\",\n\t\t\t\tshared: \"/scramjet.shared.js\",\n\t\t\t\tworker: \"/scramjet.worker.js\",\n\t\t\t\tclient: \"/scramjet.client.js\",\n\t\t\t\tsync: \"/scramjet.sync.js\",\n\t\t\t},\n\t\t\tdefaultFlags: {\n\t\t\t\tserviceworkers: false,\n\t\t\t\tnaiiveRewriter: false,\n\t\t\t\tcaptureErrors: true,\n\t\t\t\tstrictRewrites: true,\n\t\t\t\tsyncxhr: false,\n\t\t\t\tcleanerrors: false,\n\t\t\t\tscramitize: false,\n\t\t\t\tsourcemaps: false,\n\t\t\t},\n\t\t\tsiteFlags: {},\n\t\t\tcodec: {\n\t\t\t\tencode: `if (!url) return url;\n\t\t\t\t\treturn encodeURIComponent(url);`,\n\t\t\t\tdecode: `if (!url) return url;\n\t\t\t\t\treturn decodeURIComponent(url);`,\n\t\t\t},\n\t\t};\n\n\t\tconst deepMerge = (target: any, source: any): any => {\n\t\t\tfor (const key in source) {\n\t\t\t\tif (source[key] instanceof Object && key in target) {\n\t\t\t\t\tObject.assign(source[key], deepMerge(target[key], source[key]));\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn Object.assign(target || {}, source);\n\t\t};\n\n\t\t$scramjet.config = deepMerge(defaultConfig, config);\n\t}\n\n\tasync init(serviceWorkerPath: string): Promise {\n\t\tloadCodecs();\n\n\t\tawait this.openIDB();\n\n\t\tconst reg = await navigator.serviceWorker.register(serviceWorkerPath);\n\t\tdbg.log(\"service worker registered\");\n\n\t\treturn reg;\n\t}\n\n\tcreateFrame(frame?: HTMLIFrameElement): ScramjetFrame {\n\t\tif (!frame) {\n\t\t\tframe = document.createElement(\"iframe\");\n\t\t}\n\n\t\treturn new ScramjetFrame(this, frame);\n\t}\n\n\tencodeUrl(url: string | URL): string {\n\t\tif (url instanceof URL) url = url.toString();\n\n\t\treturn $scramjet.config.prefix + $scramjet.codec.encode(url);\n\t}\n\n\tasync openIDB(): Promise {\n\t\tconst db = indexedDB.open(\"$scramjet\", 1);\n\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tdb.onsuccess = async () => {\n\t\t\t\tthis.db = db.result;\n\t\t\t\tawait this.#saveConfig();\n\t\t\t\tresolve(db.result);\n\t\t\t};\n\t\t\tdb.onupgradeneeded = () => {\n\t\t\t\tconst res = db.result;\n\t\t\t\tif (!res.objectStoreNames.contains(\"config\")) {\n\t\t\t\t\tres.createObjectStore(\"config\");\n\t\t\t\t}\n\t\t\t\tif (!res.objectStoreNames.contains(\"cookies\")) {\n\t\t\t\t\tres.createObjectStore(\"cookies\");\n\t\t\t\t}\n\t\t\t};\n\t\t\tdb.onerror = () => reject(db.error);\n\t\t});\n\t}\n\n\tasync #saveConfig() {\n\t\tif (!this.db) {\n\t\t\tconsole.error(\"Store not ready!\");\n\n\t\t\treturn;\n\t\t}\n\t\tconst tx = this.db.transaction(\"config\", \"readwrite\");\n\t\tconst store = tx.objectStore(\"config\");\n\t\tconst req = store.put($scramjet.config, \"config\");\n\n\t\treturn new Promise((resolve, reject) => {\n\t\t\treq.onsuccess = resolve;\n\t\t\treq.onerror = reject;\n\t\t});\n\t}\n\n\tasync modifyConfig(config: ScramjetConfig) {\n\t\t$scramjet.config = Object.assign({}, $scramjet.config, config);\n\t\tloadCodecs();\n\n\t\tawait this.#saveConfig();\n\t}\n}\n\nwindow.ScramjetController = ScramjetController;\n"],"names":["severity","message","args","old","Error","_","stack","fmt","i","Math","SCRAMJETCLIENT","Symbol","SCRAMJETFRAME","ScramjetFrame","EventTarget","self","COMMITHASH","VERSION","flagEnabled","flag","url","value","$scramjet","regex","partialflags","RegExp","nativeFunction","Function","loadCodecs","window","ScramjetController","config","defaultConfig","deepMerge","target","source","key","Object","serviceWorkerPath","reg","navigator","dbg","frame","document","URL","db","indexedDB","Promise","resolve","reject","res","console","req","store","tx"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"scramjet.controller.js","sources":["webpack://@mercuryworkshop/scramjet/./src/log.ts","webpack://@mercuryworkshop/scramjet/./src/symbols.ts","webpack://@mercuryworkshop/scramjet/./src/controller/frame.ts","webpack://@mercuryworkshop/scramjet/./src/scramjet.ts","webpack://@mercuryworkshop/scramjet/./src/controller/index.ts"],"sourcesContent":["export default {\n\tfmt: function (severity: string, message: string, ...args: any[]) {\n\t\tconst old = Error.prepareStackTrace;\n\n\t\tError.prepareStackTrace = (_, stack) => {\n\t\t\tstack.shift(); // stack();\n\t\t\tstack.shift(); // fmt();\n\t\t\tstack.shift();\n\n\t\t\tlet fmt = \"\";\n\t\t\tfor (let i = 1; i < Math.min(2, stack.length); i++) {\n\t\t\t\tif (stack[i].getFunctionName()) {\n\t\t\t\t\t// const f = stack[i].getThis()?.constructor?.name;\n\t\t\t\t\t// if (f) fmt += `${f}.`\n\t\t\t\t\tfmt += `${stack[i].getFunctionName()} -> ` + fmt;\n\t\t\t\t}\n\t\t\t}\n\t\t\tfmt += stack[0].getFunctionName() || \"Anonymous\";\n\n\t\t\treturn fmt;\n\t\t};\n\n\t\tconst fmt = (function stack() {\n\t\t\ttry {\n\t\t\t\tthrow new Error();\n\t\t\t} catch (e) {\n\t\t\t\treturn e.stack;\n\t\t\t}\n\t\t})();\n\n\t\tError.prepareStackTrace = old;\n\n\t\tconst fn = console[severity] || console.log;\n\t\tconst bg = {\n\t\t\tlog: \"#000\",\n\t\t\twarn: \"#f80\",\n\t\t\terror: \"#f00\",\n\t\t\tdebug: \"transparent\",\n\t\t}[severity];\n\t\tconst fg = {\n\t\t\tlog: \"#fff\",\n\t\t\twarn: \"#fff\",\n\t\t\terror: \"#fff\",\n\t\t\tdebug: \"gray\",\n\t\t}[severity];\n\t\tconst padding = {\n\t\t\tlog: 2,\n\t\t\twarn: 4,\n\t\t\terror: 4,\n\t\t\tdebug: 0,\n\t\t}[severity];\n\n\t\tfn(\n\t\t\t`%c${fmt}%c ${message}`,\n\t\t\t`\n\t\tbackground-color: ${bg};\n\t\tcolor: ${fg};\n\t\tpadding: ${padding}px;\n\t\tfont-weight: bold;\n\t\tfont-family: monospace;\n\t\tfont-size: 0.9em;\n\t`,\n\t\t\t`${severity === \"debug\" ? \"color: gray\" : \"\"}`,\n\t\t\t...args\n\t\t);\n\t},\n\tlog: function (message: string, ...args: any[]) {\n\t\tthis.fmt(\"log\", message, ...args);\n\t},\n\twarn: function (message: string, ...args: any[]) {\n\t\tthis.fmt(\"warn\", message, ...args);\n\t},\n\terror: function (message: string, ...args: any[]) {\n\t\tthis.fmt(\"error\", message, ...args);\n\t},\n\tdebug: function (message: string, ...args: any[]) {\n\t\tthis.fmt(\"debug\", message, ...args);\n\t},\n};\n","// see types.d.ts for what these mean\nexport const SCRAMJETCLIENT = Symbol.for(\"scramjet client global\");\nexport const SCRAMJETFRAME = Symbol.for(\"scramjet frame handle\");\n","import { ScramjetController } from \".\";\nimport type { ScramjetClient } from \"../client/client\";\nimport { SCRAMJETCLIENT, SCRAMJETFRAME } from \"../symbols\";\n\nexport class ScramjetFrame extends EventTarget {\n\tconstructor(\n\t\tprivate controller: ScramjetController,\n\t\tpublic frame: HTMLIFrameElement\n\t) {\n\t\tsuper();\n\t\tframe[SCRAMJETFRAME] = this;\n\t}\n\n\tget client(): ScramjetClient {\n\t\treturn this.frame.contentWindow.window[SCRAMJETCLIENT];\n\t}\n\n\tgo(url: string | URL) {\n\t\tif (url instanceof URL) url = url.toString();\n\n\t\tdbg.log(\"navigated to\", url);\n\n\t\tthis.frame.src = this.controller.encodeUrl(url);\n\t}\n\n\tback() {\n\t\tthis.frame.contentWindow?.history.back();\n\t}\n\n\tforward() {\n\t\tthis.frame.contentWindow?.history.forward();\n\t}\n\n\treload() {\n\t\tthis.frame.contentWindow?.location.reload();\n\t}\n}\n","import { ScramjetFlags } from \"./types\";\n\nif (!(\"$scramjet\" in self)) {\n\t// @ts-expect-error ts stuff\n\tself.$scramjet = {\n\t\tversion: {\n\t\t\tbuild: COMMITHASH,\n\t\t\tversion: VERSION,\n\t\t},\n\t\tcodec: {},\n\t\tflagEnabled,\n\t};\n}\n\nexport const $scramjet = self.$scramjet;\n\nconst nativeFunction = Function;\nexport function loadCodecs() {\n\t$scramjet.codec.encode = nativeFunction(\n\t\t\"url\",\n\t\t$scramjet.config.codec.encode\n\t) as any;\n\t$scramjet.codec.decode = nativeFunction(\n\t\t\"url\",\n\t\t$scramjet.config.codec.decode\n\t) as any;\n}\n\nexport function flagEnabled(flag: keyof ScramjetFlags, url: URL): boolean {\n\tconst value = $scramjet.config.flags[flag];\n\tfor (const regex in $scramjet.config.siteFlags) {\n\t\tconst partialflags = $scramjet.config.siteFlags[regex];\n\t\tif (new RegExp(regex).test(url.href) && flag in partialflags) {\n\t\t\treturn partialflags[flag];\n\t\t}\n\t}\n\n\treturn value;\n}\n","import { ScramjetConfig } from \"../types\";\nimport { ScramjetFrame } from \"./frame\";\nimport { $scramjet, loadCodecs } from \"../scramjet\";\n\nexport class ScramjetController {\n\tprivate db: IDBDatabase;\n\n\tconstructor(config: Partial) {\n\t\t// sane ish defaults\n\t\tconst defaultConfig: ScramjetConfig = {\n\t\t\tprefix: \"/scramjet/\",\n\t\t\tglobals: {\n\t\t\t\twrapfn: \"$scramjet$wrap\",\n\t\t\t\twrapthisfn: \"$scramjet$wrapthis\",\n\t\t\t\ttrysetfn: \"$scramjet$tryset\",\n\t\t\t\timportfn: \"$scramjet$import\",\n\t\t\t\trewritefn: \"$scramjet$rewrite\",\n\t\t\t\tmetafn: \"$scramjet$meta\",\n\t\t\t\tsetrealmfn: \"$scramjet$setrealm\",\n\t\t\t\tpushsourcemapfn: \"$scramjet$pushsourcemap\",\n\t\t\t},\n\t\t\tfiles: {\n\t\t\t\twasm: \"/scramjet.wasm.js\",\n\t\t\t\tshared: \"/scramjet.shared.js\",\n\t\t\t\tworker: \"/scramjet.worker.js\",\n\t\t\t\tclient: \"/scramjet.client.js\",\n\t\t\t\tsync: \"/scramjet.sync.js\",\n\t\t\t},\n\t\t\tflags: {\n\t\t\t\tserviceworkers: false,\n\t\t\t\tnaiiveRewriter: false,\n\t\t\t\tcaptureErrors: true,\n\t\t\t\tstrictRewrites: true,\n\t\t\t\tsyncxhr: false,\n\t\t\t\tcleanerrors: false,\n\t\t\t\tscramitize: false,\n\t\t\t\tsourcemaps: false,\n\t\t\t\trewriterLogs: true,\n\t\t\t},\n\t\t\tsiteFlags: {},\n\t\t\tcodec: {\n\t\t\t\tencode: `if (!url) return url;\n\t\t\t\t\treturn encodeURIComponent(url);`,\n\t\t\t\tdecode: `if (!url) return url;\n\t\t\t\t\treturn decodeURIComponent(url);`,\n\t\t\t},\n\t\t};\n\n\t\tconst deepMerge = (target: any, source: any): any => {\n\t\t\tfor (const key in source) {\n\t\t\t\tif (source[key] instanceof Object && key in target) {\n\t\t\t\t\tObject.assign(source[key], deepMerge(target[key], source[key]));\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn Object.assign(target || {}, source);\n\t\t};\n\n\t\t$scramjet.config = deepMerge(defaultConfig, config);\n\t}\n\n\tasync init(serviceWorkerPath: string): Promise {\n\t\tloadCodecs();\n\n\t\tawait this.openIDB();\n\n\t\tconst reg = await navigator.serviceWorker.register(serviceWorkerPath);\n\t\tdbg.log(\"service worker registered\");\n\n\t\treturn reg;\n\t}\n\n\tcreateFrame(frame?: HTMLIFrameElement): ScramjetFrame {\n\t\tif (!frame) {\n\t\t\tframe = document.createElement(\"iframe\");\n\t\t}\n\n\t\treturn new ScramjetFrame(this, frame);\n\t}\n\n\tencodeUrl(url: string | URL): string {\n\t\tif (url instanceof URL) url = url.toString();\n\n\t\treturn $scramjet.config.prefix + $scramjet.codec.encode(url);\n\t}\n\n\tasync openIDB(): Promise {\n\t\tconst db = indexedDB.open(\"$scramjet\", 1);\n\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tdb.onsuccess = async () => {\n\t\t\t\tthis.db = db.result;\n\t\t\t\tawait this.#saveConfig();\n\t\t\t\tresolve(db.result);\n\t\t\t};\n\t\t\tdb.onupgradeneeded = () => {\n\t\t\t\tconst res = db.result;\n\t\t\t\tif (!res.objectStoreNames.contains(\"config\")) {\n\t\t\t\t\tres.createObjectStore(\"config\");\n\t\t\t\t}\n\t\t\t\tif (!res.objectStoreNames.contains(\"cookies\")) {\n\t\t\t\t\tres.createObjectStore(\"cookies\");\n\t\t\t\t}\n\t\t\t};\n\t\t\tdb.onerror = () => reject(db.error);\n\t\t});\n\t}\n\n\tasync #saveConfig() {\n\t\tif (!this.db) {\n\t\t\tconsole.error(\"Store not ready!\");\n\n\t\t\treturn;\n\t\t}\n\t\tconst tx = this.db.transaction(\"config\", \"readwrite\");\n\t\tconst store = tx.objectStore(\"config\");\n\t\tconst req = store.put($scramjet.config, \"config\");\n\n\t\treturn new Promise((resolve, reject) => {\n\t\t\treq.onsuccess = resolve;\n\t\t\treq.onerror = reject;\n\t\t});\n\t}\n\n\tasync modifyConfig(config: ScramjetConfig) {\n\t\t$scramjet.config = Object.assign({}, $scramjet.config, config);\n\t\tloadCodecs();\n\n\t\tawait this.#saveConfig();\n\t}\n}\n\nwindow.ScramjetController = ScramjetController;\n"],"names":["severity","message","args","old","Error","_","stack","fmt","i","Math","e","fn","console","SCRAMJETCLIENT","Symbol","SCRAMJETFRAME","ScramjetFrame","EventTarget","controller","frame","url","URL","dbg","self","COMMITHASH","VERSION","flagEnabled","flag","value","$scramjet","regex","partialflags","RegExp","nativeFunction","Function","loadCodecs","window","ScramjetController","config","defaultConfig","deepMerge","target","source","key","Object","serviceWorkerPath","reg","navigator","document","db","indexedDB","Promise","resolve","reject","res","req","store","tx"],"mappings":"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"}
\ No newline at end of file
diff --git a/public/scram/scramjet.shared.js b/public/scram/scramjet.shared.js
index ce48ebb..4b06874 100644
--- a/public/scram/scramjet.shared.js
+++ b/public/scram/scramjet.shared.js
@@ -1,38 +1,30 @@
-(()=>{"use strict";let e,a,t;var i,s,o,n,r,c,l,u,d,m,h,g,p,b,f,k,y={8213:function(e){var a={decodeValues:!0,map:!1,silent:!1};function t(e){return"string"==typeof e&&!!e.trim()}function i(e,i){var s=e.split(";").filter(t),o=function(e){var a="",t="",i=e.split("=");return i.length>1?(a=i.shift(),t=i.join("=")):t=e,{name:a,value:t}}(s.shift()),n=o.name,r=o.value;i=i?Object.assign({},a,i):a;try{r=i.decodeValues?decodeURIComponent(r):r}catch(e){console.error("set-cookie-parser encountered an error while decoding a cookie with value '"+r+"'. Set options.decodeValues to false to disable this feature.",e)}var c={name:n,value:r};return s.forEach(function(e){var a=e.split("="),t=a.shift().trimLeft().toLowerCase(),i=a.join("=");"expires"===t?c.expires=new Date(i):"max-age"===t?c.maxAge=parseInt(i,10):"secure"===t?c.secure=!0:"httponly"===t?c.httpOnly=!0:"samesite"===t?c.sameSite=i:"partitioned"===t?c.partitioned=!0:c[t]=i}),c}function s(e,s){if(s=s?Object.assign({},a,s):a,!e)return s.map?{}:[];if(e.headers){if("function"==typeof e.headers.getSetCookie)e=e.headers.getSetCookie();else if(e.headers["set-cookie"])e=e.headers["set-cookie"];else{var o=e.headers[Object.keys(e.headers).find(function(e){return"set-cookie"===e.toLowerCase()})];!o&&e.headers.cookie&&!s.silent&&console.warn("Warning: set-cookie-parser appears to have been called on a request object. It is designed to parse Set-Cookie headers from responses, not Cookie headers from requests. Set the option {silent: true} to suppress this warning."),e=o}}return(!Array.isArray(e)&&(e=[e]),(s=s?Object.assign({},a,s):a).map)?e.filter(t).reduce(function(e,a){var t=i(a,s);return e[t.name]=t,e},{}):e.filter(t).map(function(e){return i(e,s)})}e.exports=s,e.exports.parse=s,e.exports.parseString=i,e.exports.splitCookiesString=function(e){if(Array.isArray(e))return e;if("string"!=typeof e)return[];var a,t,i,s,o,n=[],r=0;function c(){for(;r=e.length)&&n.push(e.substring(a,e.length))}return n}},1762:function(e,a,t){t.d(a,{Z:function(){return i}});let i={fmt:function(e,a,...t){let i=Error.prepareStackTrace;Error.prepareStackTrace=(e,a)=>{a.shift(),a.shift(),a.shift();let t="";for(let e=1;e `+t);return t+=a[0].getFunctionName()||"Anonymous"};let s=function(){try{throw Error()}catch(e){return e.stack}}();Error.prepareStackTrace=i;let o=console[e]||console.log;o(`%c${s}%c ${a}`,`
- background-color: ${{log:"#000",warn:"#f80",error:"#f00",debug:"transparent"}[e]};
- color: ${{log:"#fff",warn:"#fff",error:"#fff",debug:"gray"}[e]};
- padding: ${{log:2,warn:4,error:4,debug:0}[e]}px;
- font-weight: bold;
- font-family: monospace;
- font-size: 0.9em;
- `,`${"debug"===e?"color: gray":""}`,...t)},log:function(e,...a){this.fmt("log",e,...a)},warn:function(e,...a){this.fmt("warn",e,...a)},error:function(e,...a){this.fmt("error",e,...a)},debug:function(e,...a){this.fmt("debug",e,...a)}}}},w={};function v(e){var a=w[e];if(void 0!==a)return a.exports;var t=w[e]={exports:{}};return y[e](t,t.exports,v),t.exports}v.n=function(e){var a=e&&e.__esModule?function(){return e.default}:function(){return e};return v.d(a,{a:a}),a},v.d=function(e,a){for(var t in a)v.o(a,t)&&!v.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:a[t]})},v.o=function(e,a){return Object.prototype.hasOwnProperty.call(e,a)};!("$scramjet"in self)&&(self.$scramjet={version:{build:"e4a0ee9",version:"1.0.2-dev"},codec:{},flagEnabled:z});let x=self.$scramjet;function z(e,a){let t=x.config.defaultFlags[e];for(let t in x.config.siteFlags){let i=x.config.siteFlags[t];if(new RegExp(t).test(a.href)&&e in i)return i[e]}return t}let j=0,S=null;function q(){return(null===S||S.buffer!==e.memory.buffer)&&(S=new Uint8Array(e.memory.buffer)),S}let A="undefined"!=typeof TextEncoder?new TextEncoder("utf-8"):{encode:()=>{throw Error("TextEncoder not available")}},E=function(e,a){let t=A.encode(e);return a.set(t),{read:e.length,written:t.length}};function _(e,a,t){if(void 0===t){let t=A.encode(e),i=a(t.length,1)>>>0;return q().subarray(i,i+t.length).set(t),j=t.length,i}let i=e.length,s=a(i,1)>>>0,o=q(),n=0;for(;n127)break;o[s+n]=a}if(n!==i){0!==n&&(e=e.slice(n)),s=t(s,i,i=n+3*e.length,1)>>>0;let a=E(e,q().subarray(s+n,s+i));n+=a.written,s=t(s,i,n,1)>>>0}return j=n,s}let T=null;function I(){return(null===T||T.buffer!==e.memory.buffer)&&(T=new DataView(e.memory.buffer)),T}let N="undefined"!=typeof TextDecoder?new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}):{decode:()=>{throw Error("TextDecoder not available")}};function C(e,a){return e>>>=0,N.decode(q().slice(e,e+a))}"undefined"!=typeof TextDecoder&&N.decode();function L(a){let t=e.__wbindgen_export_4.get(a);return e.__externref_table_dealloc(a),t}function D(a,t){try{return a.apply(this,t)}catch(t){let a=function(a){let t=e.__externref_table_alloc();return e.__wbindgen_export_4.set(t,a),t}(t);e.__wbindgen_exn_store(a)}}async function R(e,a){if("function"==typeof Response&&e instanceof Response){if("function"==typeof WebAssembly.instantiateStreaming)try{return await WebAssembly.instantiateStreaming(e,a)}catch(a){if("application/wasm"!=e.headers.get("Content-Type"))console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",a);else throw a}let t=await e.arrayBuffer();return await WebAssembly.instantiate(t,a)}{let t=await WebAssembly.instantiate(e,a);return t instanceof WebAssembly.Instance?{instance:t,module:e}:t}}function M(){let a={};return a.wbg={},a.wbg.__wbindgen_string_get=function(a,t){let i="string"==typeof t?t:void 0;var s,o=null==(s=i)?0:_(i,e.__wbindgen_malloc,e.__wbindgen_realloc),n=j;I().setInt32(a+4,n,!0),I().setInt32(a+0,o,!0)},a.wbg.__wbindgen_error_new=function(e,a){return Error(C(e,a))},a.wbg.__wbindgen_string_new=function(e,a){return C(e,a)},a.wbg.__wbg_now_d3cbc9581625f686=function(e){return e.now()},a.wbg.__wbg_set_e864d25d9b399c9f=function(){return D(function(e,a,t){return Reflect.set(e,a,t)},arguments)},a.wbg.__wbg_new_1cabf49927794f50=function(){return D(function(e,a){return new URL(C(e,a))},arguments)},a.wbg.__wbg_call_5fb7c8066a4a4825=function(){return D(function(e,a,t,i){return e.call(a,t,i)},arguments)},a.wbg.__wbindgen_boolean_get=function(e){return"boolean"==typeof e?e?1:0:2},a.wbg.__wbg_new_e69b5f66fda8f13c=function(){return{}},a.wbg.__wbindgen_uint8_array_new=function(a,t){var i,s,o=(i=a,s=t,i>>>=0,q().subarray(i/1,i/1+s)).slice();return e.__wbindgen_free(a,1*t,1),o},a.wbg.__wbindgen_array_new=function(){return[]},a.wbg.__wbindgen_array_push=function(e,a){e.push(a)},a.wbg.__wbindgen_number_new=function(e){return e},a.wbg.__wbg_new_abda76e883ba8a5f=function(){return Error()},a.wbg.__wbg_stack_658279fe44541cf6=function(a,t){let i=_(t.stack,e.__wbindgen_malloc,e.__wbindgen_realloc),s=j;I().setInt32(a+4,s,!0),I().setInt32(a+0,i,!0)},a.wbg.__wbg_error_f851667af71bcfc6=function(a,t){let i,s;try{i=a,s=t,console.error(C(a,t))}finally{e.__wbindgen_free(i,s,1)}},a.wbg.__wbindgen_is_object=function(e){return"object"==typeof e&&null!==e},a.wbg.__wbg_crypto_1d1f22824a6a080c=function(e){return e.crypto},a.wbg.__wbg_process_4a72847cc503995b=function(e){return e.process},a.wbg.__wbg_versions_f686565e586dd935=function(e){return e.versions},a.wbg.__wbg_node_104a2ff8d6ea03a2=function(e){return e.node},a.wbg.__wbindgen_is_string=function(e){return"string"==typeof e},a.wbg.__wbg_require_cca90b1a94a0255b=function(){return D(function(){return module.require},arguments)},a.wbg.__wbg_msCrypto_eb05e62b530a1508=function(e){return e.msCrypto},a.wbg.__wbg_newwithlength_76462a666eca145f=function(e){return new Uint8Array(e>>>0)},a.wbg.__wbindgen_is_function=function(e){return"function"==typeof e},a.wbg.__wbg_get_ef828680c64da212=function(){return D(function(e,a){return Reflect.get(e,a)},arguments)},a.wbg.__wbg_self_bf91bf94d9e04084=function(){return D(function(){return self.self},arguments)},a.wbg.__wbg_window_52dd9f07d03fd5f8=function(){return D(function(){return window.window},arguments)},a.wbg.__wbg_globalThis_05c129bf37fcf1be=function(){return D(function(){return globalThis.globalThis},arguments)},a.wbg.__wbg_global_3eca19bb09e9c484=function(){return D(function(){return global.global},arguments)},a.wbg.__wbindgen_is_undefined=function(e){return void 0===e},a.wbg.__wbg_newnoargs_1ede4bf2ebbaaf43=function(e,a){return Function(C(e,a))},a.wbg.__wbg_call_a9ef466721e824f2=function(){return D(function(e,a){return e.call(a)},arguments)},a.wbg.__wbg_call_3bfa248576352471=function(){return D(function(e,a,t){return e.call(a,t)},arguments)},a.wbg.__wbindgen_memory=function(){return e.memory},a.wbg.__wbg_buffer_ccaed51a635d8a2d=function(e){return e.buffer},a.wbg.__wbg_newwithbyteoffsetandlength_7e3eb787208af730=function(e,a,t){return new Uint8Array(e,a>>>0,t>>>0)},a.wbg.__wbg_randomFillSync_5c9c955aa56b6049=function(){return D(function(e,a){e.randomFillSync(a)},arguments)},a.wbg.__wbg_subarray_975a06f9dbd16995=function(e,a,t){return e.subarray(a>>>0,t>>>0)},a.wbg.__wbg_getRandomValues_3aa56aa6edec874c=function(){return D(function(e,a){e.getRandomValues(a)},arguments)},a.wbg.__wbg_new_fec2611eb9180f95=function(e){return new Uint8Array(e)},a.wbg.__wbg_set_ec2fcf81bc573fd9=function(e,a,t){e.set(a,t>>>0)},a.wbg.__wbindgen_throw=function(e,a){throw Error(C(e,a))},a.wbg.__wbindgen_debug_string=function(a,t){let i=_(function e(a){let t;let i=typeof a;if("number"==i||"boolean"==i||null==a)return`${a}`;if("string"==i)return`"${a}"`;if("symbol"==i){let e=a.description;return null==e?"Symbol":`Symbol(${e})`}if("function"==i){let e=a.name;return"string"==typeof e&&e.length>0?`Function(${e})`:"Function"}if(Array.isArray(a)){let t=a.length,i="[";t>0&&(i+=e(a[0]));for(let s=1;s1))return toString.call(a);t=s[1];if("Object"==t)try{return"Object("+JSON.stringify(a)+")"}catch(e){return"Object"}return a instanceof Error?`${a.name}: ${a.message}
-${a.stack}`:t}(t),e.__wbindgen_malloc,e.__wbindgen_realloc),s=j;I().setInt32(a+4,s,!0),I().setInt32(a+0,i,!0)},a.wbg.__wbindgen_init_externref_table=function(){let a=e.__wbindgen_export_4,t=a.grow(4);a.set(0,void 0),a.set(t+0,void 0),a.set(t+1,null),a.set(t+2,!0),a.set(t+3,!1)},a}function B(e,a){e.wbg.memory=a||new WebAssembly.Memory({initial:22,maximum:16384,shared:!0})}function $(a,t,i){if(e=a.exports,O.__wbindgen_wasm_module=t,T=null,S=null,void 0!==i&&("number"!=typeof i||0===i||i%65536!=0))throw"invalid stack size";return e.__wbindgen_start(i),e}async function O(a,t){let i;if(void 0!==e)return e;void 0!==a&&(Object.getPrototypeOf(a)===Object.prototype?{module_or_path:a,memory:t,thread_stack_size:i}=a:console.warn("using deprecated parameters for the initialization function; pass a single object instead")),void 0===a&&(a=new URL("rewriter_bg.wasm",""));let s=M();("string"==typeof a||"function"==typeof Request&&a instanceof Request||"function"==typeof URL&&a instanceof URL)&&(a=fetch(a)),B(s,t);let{instance:o,module:n}=await R(await a,s);return $(o,n,i)}!function(a,t){let i;if(void 0!==e)return;void 0!==a&&(Object.getPrototypeOf(a)===Object.prototype?{module:a,memory:t,thread_stack_size:i}=a:console.warn("using deprecated parameters for `initSync()`; pass a single object instead"));let s=M();B(s,t),!(a instanceof WebAssembly.Module)&&(a=new WebAssembly.Module(a)),$(new WebAssembly.Instance(a,s),a,i)}({module:new WebAssembly.Module(Uint8Array.from(atob(self.WASM),e=>e.charCodeAt(0)))}),e.init(),Error.stackTraceLimit=50;let U=new TextDecoder;function V(a,t,i){if(z("naiiveRewriter",i.origin)){let e="string"==typeof a?a:new TextDecoder().decode(a);return console.log("naiive"),function(e){return"string"!=typeof e&&(e=new TextDecoder().decode(e)),`
+(()=>{"use strict";let e,a,t;var i,s,o,n,r,c,l,u,d,m,h,g,p,b,k,f,y={799:function(e){var a={decodeValues:!0,map:!1,silent:!1};function t(e){return"string"==typeof e&&!!e.trim()}function i(e,i){var s=e.split(";").filter(t),o=function(e){var a="",t="",i=e.split("=");return i.length>1?(a=i.shift(),t=i.join("=")):t=e,{name:a,value:t}}(s.shift()),n=o.name,r=o.value;i=i?Object.assign({},a,i):a;try{r=i.decodeValues?decodeURIComponent(r):r}catch(e){console.error("set-cookie-parser encountered an error while decoding a cookie with value '"+r+"'. Set options.decodeValues to false to disable this feature.",e)}var c={name:n,value:r};return s.forEach(function(e){var a=e.split("="),t=a.shift().trimLeft().toLowerCase(),i=a.join("=");"expires"===t?c.expires=new Date(i):"max-age"===t?c.maxAge=parseInt(i,10):"secure"===t?c.secure=!0:"httponly"===t?c.httpOnly=!0:"samesite"===t?c.sameSite=i:"partitioned"===t?c.partitioned=!0:c[t]=i}),c}function s(e,s){if(s=s?Object.assign({},a,s):a,!e)return s.map?{}:[];if(e.headers){if("function"==typeof e.headers.getSetCookie)e=e.headers.getSetCookie();else if(e.headers["set-cookie"])e=e.headers["set-cookie"];else{var o=e.headers[Object.keys(e.headers).find(function(e){return"set-cookie"===e.toLowerCase()})];!o&&e.headers.cookie&&!s.silent&&console.warn("Warning: set-cookie-parser appears to have been called on a request object. It is designed to parse Set-Cookie headers from responses, not Cookie headers from requests. Set the option {silent: true} to suppress this warning."),e=o}}return(!Array.isArray(e)&&(e=[e]),s.map)?e.filter(t).reduce(function(e,a){var t=i(a,s);return e[t.name]=t,e},{}):e.filter(t).map(function(e){return i(e,s)})}e.exports=s,e.exports.parse=s,e.exports.parseString=i,e.exports.splitCookiesString=function(e){if(Array.isArray(e))return e;if("string"!=typeof e)return[];var a,t,i,s,o,n=[],r=0;function c(){for(;r=e.length)&&n.push(e.substring(a,e.length))}return n}}},w={};function v(e){var a=w[e];if(void 0!==a)return a.exports;var t=w[e]={exports:{}};return y[e](t,t.exports,v),t.exports}v.n=function(e){var a=e&&e.__esModule?function(){return e.default}:function(){return e};return v.d(a,{a:a}),a},v.d=function(e,a){for(var t in a)v.o(a,t)&&!v.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:a[t]})},v.o=function(e,a){return Object.prototype.hasOwnProperty.call(e,a)},!("$scramjet"in self)&&(self.$scramjet={version:{build:"b658a79",version:"1.0.2-dev"},codec:{},flagEnabled:z});let x=self.$scramjet;function z(e,a){let t=x.config.flags[e];for(let t in x.config.siteFlags){let i=x.config.siteFlags[t];if(new RegExp(t).test(a.href)&&e in i)return i[e]}return t}function j(a){let t=e.__externref_table_alloc();return e.__wbindgen_export_2.set(t,a),t}function S(a,t){try{return a.apply(this,t)}catch(t){let a=j(t);e.__wbindgen_exn_store(a)}}let q="undefined"!=typeof TextDecoder?new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}):{decode:()=>{throw Error("TextDecoder not available")}};"undefined"!=typeof TextDecoder&&q.decode();let A=null;function E(){return(null===A||A.buffer!==e.memory.buffer)&&(A=new Uint8Array(e.memory.buffer)),A}function T(e,a){return e>>>=0,q.decode(E().slice(e,e+a))}let I=0,N="undefined"!=typeof TextEncoder?new TextEncoder("utf-8"):{encode:()=>{throw Error("TextEncoder not available")}},C=function(e,a){let t=N.encode(e);return a.set(t),{read:e.length,written:t.length}};function _(e,a,t){if(void 0===t){let t=N.encode(e),i=a(t.length,1)>>>0;return E().subarray(i,i+t.length).set(t),I=t.length,i}let i=e.length,s=a(i,1)>>>0,o=E(),n=0;for(;n127)break;o[s+n]=a}if(n!==i){0!==n&&(e=e.slice(n)),s=t(s,i,i=n+3*e.length,1)>>>0;let a=C(e,E().subarray(s+n,s+i));n+=a.written,s=t(s,i,n,1)>>>0}return I=n,s}let L=null;function D(){return(null===L||L.buffer!==e.memory.buffer)&&(L=new DataView(e.memory.buffer)),L}function R(e){return null==e}function B(a){let t=e.__wbindgen_export_2.get(a);return e.__externref_table_dealloc(a),t}async function M(e,a){if("function"==typeof Response&&e instanceof Response){if("function"==typeof WebAssembly.instantiateStreaming)try{return await WebAssembly.instantiateStreaming(e,a)}catch(a){if("application/wasm"!=e.headers.get("Content-Type"))console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",a);else throw a}let t=await e.arrayBuffer();return await WebAssembly.instantiate(t,a)}{let t=await WebAssembly.instantiate(e,a);return t instanceof WebAssembly.Instance?{instance:t,module:e}:t}}function O(){let a={};return a.wbg={},a.wbg.__wbg_call_3b770f0d6eb4720e=function(){return S(function(e,a,t,i){return e.call(a,t,i)},arguments)},a.wbg.__wbg_call_500db948e69c7330=function(){return S(function(e,a,t){return e.call(a,t)},arguments)},a.wbg.__wbg_call_b0d8e36992d9900d=function(){return S(function(e,a){return e.call(a)},arguments)},a.wbg.__wbg_get_bbccf8970793c087=function(){return S(function(e,a){return Reflect.get(e,a)},arguments)},a.wbg.__wbg_new_17f755666e48d1d8=function(){return S(function(e,a){return new URL(T(e,a))},arguments)},a.wbg.__wbg_new_688846f374351c92=function(){return{}},a.wbg.__wbg_newnoargs_fd9e4bf8be2bc16d=function(e,a){return Function(T(e,a))},a.wbg.__wbg_now_62a101fe35b60230=function(e){return e.now()},a.wbg.__wbg_scramtag_bd98edaa0eaec45e=function(a){let t=_("10000000000".replace(/[018]/g,e=>(e^crypto.getRandomValues(new Uint8Array(1))[0]&15>>e/4).toString(16)),e.__wbindgen_malloc,e.__wbindgen_realloc),i=I;D().setInt32(a+4,i,!0),D().setInt32(a+0,t,!0)},a.wbg.__wbg_set_4e647025551483bd=function(){return S(function(e,a,t){return Reflect.set(e,a,t)},arguments)},a.wbg.__wbg_static_accessor_GLOBAL_0be7472e492ad3e3=function(){let e="undefined"==typeof global?null:global;return R(e)?0:j(e)},a.wbg.__wbg_static_accessor_GLOBAL_THIS_1a6eb482d12c9bfb=function(){let e="undefined"==typeof globalThis?null:globalThis;return R(e)?0:j(e)},a.wbg.__wbg_static_accessor_SELF_1dc398a895c82351=function(){let e="undefined"==typeof self?null:self;return R(e)?0:j(e)},a.wbg.__wbg_static_accessor_WINDOW_ae1c80c7eea8d64a=function(){let e="undefined"==typeof window?null:window;return R(e)?0:j(e)},a.wbg.__wbg_toString_cbcf95f260c441ae=function(e){return e.toString()},a.wbg.__wbindgen_array_new=function(){return[]},a.wbg.__wbindgen_array_push=function(e,a){e.push(a)},a.wbg.__wbindgen_boolean_get=function(e){return"boolean"==typeof e?e?1:0:2},a.wbg.__wbindgen_error_new=function(e,a){return Error(T(e,a))},a.wbg.__wbindgen_init_externref_table=function(){let a=e.__wbindgen_export_2,t=a.grow(4);a.set(0,void 0),a.set(t+0,void 0),a.set(t+1,null),a.set(t+2,!0),a.set(t+3,!1)},a.wbg.__wbindgen_is_function=function(e){return"function"==typeof e},a.wbg.__wbindgen_is_undefined=function(e){return void 0===e},a.wbg.__wbindgen_number_new=function(e){return e},a.wbg.__wbindgen_string_get=function(a,t){let i="string"==typeof t?t:void 0;var s=R(i)?0:_(i,e.__wbindgen_malloc,e.__wbindgen_realloc),o=I;D().setInt32(a+4,o,!0),D().setInt32(a+0,s,!0)},a.wbg.__wbindgen_string_new=function(e,a){return T(e,a)},a.wbg.__wbindgen_throw=function(e,a){throw Error(T(e,a))},a.wbg.__wbindgen_uint8_array_new=function(a,t){var i,s,o=(i=a,s=t,i>>>=0,E().subarray(i/1,i/1+s)).slice();return e.__wbindgen_free(a,1*t,1),o},a}function $(e,a){e.wbg.memory=a||new WebAssembly.Memory({initial:21,maximum:16384,shared:!0})}function U(a,t,i){if(e=a.exports,V.__wbindgen_wasm_module=t,L=null,A=null,void 0!==i&&("number"!=typeof i||0===i||i%65536!=0))throw"invalid stack size";return e.__wbindgen_start(i),e}async function V(a,t){let i;if(void 0!==e)return e;void 0!==a&&(Object.getPrototypeOf(a)===Object.prototype?{module_or_path:a,memory:t,thread_stack_size:i}=a:console.warn("using deprecated parameters for the initialization function; pass a single object instead")),void 0===a&&(a=new URL("wasm_bg.wasm",""));let s=O();("string"==typeof a||"function"==typeof Request&&a instanceof Request||"function"==typeof URL&&a instanceof URL)&&(a=fetch(a)),$(s,t);let{instance:o,module:n}=await M(await a,s);return U(o,n,i)}!function(a,t){let i;if(void 0!==e)return;void 0!==a&&(Object.getPrototypeOf(a)===Object.prototype?{module:a,memory:t,thread_stack_size:i}=a:console.warn("using deprecated parameters for `initSync()`; pass a single object instead"));let s=O();$(s,t),!(a instanceof WebAssembly.Module)&&(a=new WebAssembly.Module(a)),U(new WebAssembly.Instance(a,s),a,i)}({module:new WebAssembly.Module(Uint8Array.from(atob(self.WASM),e=>e.charCodeAt(0)))}),Error.stackTraceLimit=50;let P=new TextDecoder;function W(a,t,i){if(z("naiiveRewriter",i.origin)){let e="string"==typeof a?a:new TextDecoder().decode(a);return console.log("naiive"),function(e){return"string"!=typeof e&&(e=new TextDecoder().decode(e)),`
with (${x.config.globals.wrapfn}(globalThis)) {
${e}
}
- `}(e)}return a=function(a,t,i){let s;let{js:o,errors:n,duration:r}=s="string"==typeof a?function(a,t,i,s){let o=_(a,e.__wbindgen_malloc,e.__wbindgen_realloc),n=j,r=_(t,e.__wbindgen_malloc,e.__wbindgen_realloc),c=j,l=_(i,e.__wbindgen_malloc,e.__wbindgen_realloc),u=j,d=e.rewrite_js(o,n,r,c,l,u,s);if(d[2])throw L(d[1]);return L(d[0])}(a,i.base.href,t||"(unknown)",x):function(a,t,i,s){let o=function(e,a){let t=a(1*e.length,1)>>>0;return q().set(e,t/1),j=e.length,t}(a,e.__wbindgen_malloc),n=j,r=_(t,e.__wbindgen_malloc,e.__wbindgen_realloc),c=j,l=_(i,e.__wbindgen_malloc,e.__wbindgen_realloc),u=j,d=e.rewrite_js_from_arraybuffer(o,n,r,c,l,u,s);if(d[2])throw L(d[1]);return L(d[0])}(new Uint8Array(a),i.base.href,t||"(unknown)",x);for(let e of n)console.error("oxc parse error",e);{let e;e=r<1n?"BLAZINGLY FAST":r<500n?"decent speed":"really slow",console.log(`oxc rewrite was ${e} (${r}ms)`)}return"string"==typeof a?U.decode(o):o}(a,t,i)}function P(e){let a=new URL(e.substring(5));return"blob:"+location.origin+a.pathname}function F(e,a){if(e instanceof URL&&(e=e.href),e.startsWith("javascript:"))return"javascript:"+V(e.slice(11),null,a);if(e.startsWith("blob:"))return location.origin+x.config.prefix+e;if(e.startsWith("data:"))return location.origin+x.config.prefix+e;else{if(e.startsWith("mailto:")||e.startsWith("about:"))return e;let t=a.base.href;return t.startsWith("about:")&&(t=W(self.location.href)),location.origin+x.config.prefix+x.codec.encode(new URL(e,t).href)}}function W(e){e instanceof URL&&(e=e.href);let a=location.origin+x.config.prefix;if(e.startsWith("javascript:"))return e;if(e.startsWith("blob:"))return e;if(e.startsWith(a+"blob:"))return e.substring(a.length);else if(e.startsWith(a+"data:"))return e.substring(a.length);else if(e.startsWith("mailto:")||e.startsWith("about:"))return e;else if(function(e,a){try{return new URL(e,void 0)}catch{return null}}(e))return x.codec.decode(e.slice((location.origin+x.config.prefix).length));else return e}function G(e,a){return H("rewrite",e,a)}function H(e,a,t){return a=(a=(a=new String(a).toString()).replace(/url\(['"]?(.+?)['"]?\)/gm,(a,i)=>{let s="rewrite"===e?F(i.trim(),t):W(i.trim());return a.replace(i,s)})).replace(/@import\s+(url\s*?\(.{0,9999}?\)|['"].{0,9999}?['"]|.{0,9999}?)($|\s|;)/gm,(a,i)=>a.replace(i,i.replace(/^(url\(['"]?|['"]|)(.+?)(['"]|['"]?\)|)$/gm,(a,i,s,o)=>{if(i.startsWith("url"))return a;let n="rewrite"===e?F(s.trim(),t):W(s.trim());return`${i}${n}${o}`})))}let Q=new Uint16Array('ᵁ<\xd5ıʊҝջאٵ۞ޢߖࠏઑඡ༉༦ረዡᐕᒝᓃᓟᔥ\0\0\0\0\0\0ᕫᛍᦍᰒᷝ↰⊍⏀⏻⑂⠤⤒ⴈ⹈⿎〖㊺㘹㞬㣾㨨㩱㫠㬮ࠀEMabcfglmnoprstu\\bfms\x7f\x84\x8b\x90\x95\x98\xa6\xb3\xb9\xc8\xcflig耻\xc6䃆P耻&䀦cute耻\xc1䃁reve;䄂Āiyx}rc耻\xc2䃂;䐐r;쀀\ud835\udd04rave耻\xc0䃀pha;䎑acr;䄀d;橓Āgp\x9d\xa1on;䄄f;쀀\ud835\udd38plyFunction;恡ing耻\xc5䃅Ācs\xbe\xc3r;쀀\ud835\udc9cign;扔ilde耻\xc3䃃ml耻\xc4䃄Ѐaceforsu\xe5\xfb\xfeėĜĢħĪĀcr\xea\xf2kslash;或Ŷ\xf6\xf8;櫧ed;挆y;䐑ƀcrtąċĔause;戵noullis;愬a;䎒r;쀀\ud835\udd05pf;쀀\ud835\udd39eve;䋘c\xf2ēmpeq;扎܀HOacdefhilorsuōőŖƀƞƢƵƷƺǜȕɳɸɾcy;䐧PY耻\xa9䂩ƀcpyŝŢźute;䄆Ā;iŧŨ拒talDifferentialD;慅leys;愭ȀaeioƉƎƔƘron;䄌dil耻\xc7䃇rc;䄈nint;戰ot;䄊ĀdnƧƭilla;䂸terDot;䂷\xf2ſi;䎧rcleȀDMPTLJNjǑǖot;抙inus;抖lus;投imes;抗oĀcsǢǸkwiseContourIntegral;戲eCurlyĀDQȃȏoubleQuote;思uote;怙ȀlnpuȞȨɇɕonĀ;eȥȦ户;橴ƀgitȯȶȺruent;扡nt;戯ourIntegral;戮ĀfrɌɎ;愂oduct;成nterClockwiseContourIntegral;戳oss;樯cr;쀀\ud835\udc9epĀ;Cʄʅ拓ap;才րDJSZacefiosʠʬʰʴʸˋ˗ˡ˦̳ҍĀ;oŹʥtrahd;椑cy;䐂cy;䐅cy;䐏ƀgrsʿ˄ˇger;怡r;憡hv;櫤Āayː˕ron;䄎;䐔lĀ;t˝˞戇a;䎔r;쀀\ud835\udd07Āaf˫̧Ācm˰̢riticalȀADGT̖̜̀̆cute;䂴oŴ̋̍;䋙bleAcute;䋝rave;䁠ilde;䋜ond;拄ferentialD;慆Ѱ̽\0\0\0͔͂\0Ѕf;쀀\ud835\udd3bƀ;DE͈͉͍䂨ot;惜qual;扐blèCDLRUVͣͲϏϢϸontourIntegra\xecȹoɴ\0\0ͻ\xbb͉nArrow;懓Āeo·ΤftƀARTΐΖΡrrow;懐ightArrow;懔e\xe5ˊngĀLRΫτeftĀARγιrrow;柸ightArrow;柺ightArrow;柹ightĀATϘϞrrow;懒ee;抨pɁϩ\0\0ϯrrow;懑ownArrow;懕erticalBar;戥ǹABLRTaВЪаўѿͼrrowƀ;BUНОТ憓ar;椓pArrow;懵reve;䌑eft˒к\0ц\0ѐightVector;楐eeVector;楞ectorĀ;Bљњ憽ar;楖ightǔѧ\0ѱeeVector;楟ectorĀ;BѺѻ懁ar;楗eeĀ;A҆҇护rrow;憧ĀctҒҗr;쀀\ud835\udc9frok;䄐ࠀNTacdfglmopqstuxҽӀӄӋӞӢӧӮӵԡԯԶՒ՝ՠեG;䅊H耻\xd0䃐cute耻\xc9䃉ƀaiyӒӗӜron;䄚rc耻\xca䃊;䐭ot;䄖r;쀀\ud835\udd08rave耻\xc8䃈ement;戈ĀapӺӾcr;䄒tyɓԆ\0\0ԒmallSquare;旻erySmallSquare;斫ĀgpԦԪon;䄘f;쀀\ud835\udd3csilon;䎕uĀaiԼՉlĀ;TՂՃ橵ilde;扂librium;懌Āci՚r;愰m;橳a;䎗ml耻\xcb䃋Āipժկsts;戃onentialE;慇ʀcfiosօֈ֍ֲy;䐤r;쀀\ud835\udd09lledɓ֗\0\0֣mallSquare;旼erySmallSquare;斪Ͱֺ\0ֿ\0\0ׄf;쀀\ud835\udd3dAll;戀riertrf;愱c\xf2JTabcdfgorstרׯؒؖ؛؝أ٬ٲcy;䐃耻>䀾mmaĀ;d䎓;䏜reve;䄞ƀeiy؇،ؐdil;䄢rc;䄜;䐓ot;䄠r;쀀\ud835\udd0a;拙pf;쀀\ud835\udd3eeater̀EFGLSTصلَٖٛ٦qualĀ;Lؾؿ扥ess;招ullEqual;执reater;檢ess;扷lantEqual;橾ilde;扳cr;쀀\ud835\udca2;扫ЀAacfiosuڅڋږڛڞڪھۊRDcy;䐪Āctڐڔek;䋇;䁞irc;䄤r;愌lbertSpace;愋ǰگ\0ڲf;愍izontalLine;攀Āctۃۅ\xf2کrok;䄦mpńېۘownHum\xf0įqual;扏܀EJOacdfgmnostuۺ۾܃܇ܚܞܡܨ݄ݸދޏޕcy;䐕lig;䄲cy;䐁cute耻\xcd䃍Āiyܓܘrc耻\xce䃎;䐘ot;䄰r;愑rave耻\xcc䃌ƀ;apܠܯܿĀcgܴܷr;䄪inaryI;慈lie\xf3ϝǴ݉\0ݢĀ;eݍݎ戬Āgrݓݘral;戫section;拂isibleĀCTݬݲomma;恣imes;恢ƀgptݿރވon;䄮f;쀀\ud835\udd40a;䎙cr;愐ilde;䄨ǫޚ\0ޞcy;䐆l耻\xcf䃏ʀcfosuެ߂ߐĀiyޱrc;䄴;䐙r;쀀\ud835\udd0dpf;쀀\ud835\udd41ǣ߇\0ߌr;쀀\ud835\udca5rcy;䐈kcy;䐄HJacfosߤߨ߽߬߱ࠂࠈcy;䐥cy;䐌ppa;䎚Āey߶dil;䄶;䐚r;쀀\ud835\udd0epf;쀀\ud835\udd42cr;쀀\ud835\udca6րJTaceflmostࠥࠩࠬࡐࡣসে্ੇcy;䐉耻<䀼ʀcmnpr࠷࠼ࡁࡄࡍute;䄹bda;䎛g;柪lacetrf;愒r;憞ƀaeyࡗࡡron;䄽dil;䄻;䐛Āfsࡨ॰tԀACDFRTUVarࡾࢩࢱࣦ࣠ࣼयज़ΐ४ĀnrࢃgleBracket;柨rowƀ;BR࢙࢚࢞憐ar;懤ightArrow;懆eiling;挈oǵࢷ\0ࣃbleBracket;柦nǔࣈ\0࣒eeVector;楡ectorĀ;Bࣛࣜ懃ar;楙loor;挊ightĀAV࣯ࣵrrow;憔ector;楎Āerँगeƀ;AVउऊऐ抣rrow;憤ector;楚iangleƀ;BEतथऩ抲ar;槏qual;抴pƀDTVषूौownVector;楑eeVector;楠ectorĀ;Bॖॗ憿ar;楘ectorĀ;B॥०憼ar;楒ight\xe1Μs̀EFGLSTॾঋকঝঢভqualGreater;拚ullEqual;扦reater;扶ess;檡lantEqual;橽ilde;扲r;쀀\ud835\udd0fĀ;eঽা拘ftarrow;懚idot;䄿ƀnpwਖਛgȀLRlr৷ਂਐeftĀAR০৬rrow;柵ightArrow;柷ightArrow;柶eftĀarγਊight\xe1οight\xe1ϊf;쀀\ud835\udd43erĀLRਢਬeftArrow;憙ightArrow;憘ƀchtਾੀੂ\xf2ࡌ;憰rok;䅁;扪Ѐacefiosuਗ਼અઋp;椅y;䐜Ādl੯iumSpace;恟lintrf;愳r;쀀\ud835\udd10nusPlus;戓pf;쀀\ud835\udd44c\xf2੶;䎜ҀJacefostuણધભીଔଙඑඞcy;䐊cute;䅃ƀaeyહાron;䅇dil;䅅;䐝ƀgswે૰ativeƀMTV૨ediumSpace;怋hiĀcn૦\xeberyThi\xeetedĀGLଆreaterGreate\xf2ٳessLes\xf3ੈLine;䀊r;쀀\ud835\udd11ȀBnptଢନଷreak;恠BreakingSpace;䂠f;愕ڀ;CDEGHLNPRSTV୕ୖ୪௫ఄ಄ದൡඅ櫬Āoungruent;扢pCap;扭oubleVerticalBar;戦ƀlqxஃஊement;戉ualĀ;Tஒஓ扠ilde;쀀≂̸ists;戄reater;EFGLSTஶஷ扯qual;扱ullEqual;쀀≧̸reater;쀀≫̸ess;批lantEqual;쀀⩾̸ilde;扵umpń௲ownHump;쀀≎̸qual;쀀≏̸eĀfsఊధtTriangleƀ;BEచఛడ拪ar;쀀⧏̸qual;括s̀;EGLSTవశ఼ౄోౘ扮qual;扰reater;扸ess;쀀≪̸lantEqual;쀀⩽̸ilde;扴estedĀGL౨౹reaterGreater;쀀⪢̸essLess;쀀⪡̸recedesƀ;ESಒಓಛ技qual;쀀⪯̸lantEqual;拠ĀeiಫಹverseElement;戌ghtTriangleƀ;BEೋೌ拫ar;쀀⧐̸qual;拭ĀquೝഌuareSuĀbp೨setĀ;Eೳ쀀⊏̸qual;拢ersetĀ;Eഃആ쀀⊐̸qual;拣ƀbcpഓതൎsetĀ;Eഛഞ쀀⊂⃒qual;抈ceedsȀ;ESTലള഻െ抁qual;쀀⪰̸lantEqual;拡ilde;쀀≿̸ersetĀ;E൘൛쀀⊃⃒qual;抉ildeȀ;EFT൮൯൵ൿ扁qual;扄ullEqual;扇ilde;扉erticalBar;戤cr;쀀\ud835\udca9ilde耻\xd1䃑;䎝܀Eacdfgmoprstuvලෂෛ෧ขภยา฿ไlig;䅒cute耻\xd3䃓Āiyීrc耻\xd4䃔;䐞blac;䅐r;쀀\ud835\udd12rave耻\xd2䃒ƀaei෮ෲcr;䅌ga;䎩cron;䎟pf;쀀\ud835\udd46enCurlyĀDQฎบoubleQuote;怜uote;怘;橔Āclวฬr;쀀\ud835\udcaaash耻\xd8䃘iŬืde耻\xd5䃕es;樷ml耻\xd6䃖erĀBP๋Āar๐๓r;怾acĀek๚;揞et;掴arenthesis;揜ҀacfhilorsງຊຏຒດຝະrtialD;戂y;䐟r;쀀\ud835\udd13i;䎦;䎠usMinus;䂱Āipຢອncareplan\xe5ڝf;愙Ȁ;eio຺ູ檻cedesȀ;EST່້扺qual;檯lantEqual;扼ilde;找me;怳Ādpuct;戏ortionĀ;aȥl;戝Āci༁༆r;쀀\ud835\udcab;䎨ȀUfos༑༖༛༟OT耻"䀢r;쀀\ud835\udd14pf;愚cr;쀀\ud835\udcacBEacefhiorsu༾གྷཇའཱིྦྷྪྭ႖ႩႴႾarr;椐G耻\xae䂮ƀcnrཎནབute;䅔g;柫rĀ;tཛྷཝ憠l;椖ƀaeyཧཬཱron;䅘dil;䅖;䐠Ā;vླྀཹ愜erseĀEUྂྙĀlq྇ྎement;戋uilibrium;懋pEquilibrium;楯r\xbbཹo;䎡ghtЀACDFTUVa࿁ဢဨၛႇϘĀnr࿆࿒gleBracket;柩rowƀ;BL憒ar;懥eftArrow;懄eiling;按oǵ\0စbleBracket;柧nǔည\0နeeVector;楝ectorĀ;Bဝသ懂ar;楕loor;挋Āerိ၃eƀ;AVဵံြ抢rrow;憦ector;楛iangleƀ;BEၐၑၕ抳ar;槐qual;抵pƀDTVၣၮၸownVector;楏eeVector;楜ectorĀ;Bႂႃ憾ar;楔ectorĀ;B႑႒懀ar;楓Āpuႛ႞f;愝ndImplies;楰ightarrow;懛ĀchႹႼr;愛;憱leDelayed;槴ڀHOacfhimoqstuფჱჷჽᄙᄞᅑᅖᅡᅧᆵᆻᆿĀCcჩხHcy;䐩y;䐨FTcy;䐬cute;䅚ʀ;aeiyᄈᄉᄎᄓᄗ檼ron;䅠dil;䅞rc;䅜;䐡r;쀀\ud835\udd16ortȀDLRUᄪᄴᄾᅉownArrow\xbbОeftArrow\xbb࢚ightArrow\xbbpArrow;憑gma;䎣allCircle;战pf;쀀\ud835\udd4aɲᅭ\0\0ᅰt;戚areȀ;ISUᅻᅼᆉᆯ斡ntersection;抓uĀbpᆏᆞsetĀ;Eᆗᆘ抏qual;抑ersetĀ;Eᆨᆩ抐qual;抒nion;抔cr;쀀\ud835\udcaear;拆ȀbcmpᇈᇛሉላĀ;sᇍᇎ拐etĀ;Eᇍᇕqual;抆ĀchᇠህeedsȀ;ESTᇭᇮᇴᇿ扻qual;檰lantEqual;扽ilde;承Th\xe1ྌ;我ƀ;esሒሓሣ拑rsetĀ;Eሜም抃qual;抇et\xbbሓրHRSacfhiorsሾቄቕቱቶኟዂወዑORN耻\xde䃞ADE;愢ĀHcቒcy;䐋y;䐦Ābuቚቜ;䀉;䎤ƀaeyብቪቯron;䅤dil;䅢;䐢r;쀀\ud835\udd17ĀeiቻDzኀ\0ኇefore;戴a;䎘ĀcnኘkSpace;쀀 Space;怉ldeȀ;EFTካኬኲኼ戼qual;扃ullEqual;扅ilde;扈pf;쀀\ud835\udd4bipleDot;惛Āctዖዛr;쀀\ud835\udcafrok;䅦ૡዷጎጚጦ\0ጬጱ\0\0\0\0\0ጸጽ፷ᎅ\0ᐄᐊᐐĀcrዻጁute耻\xda䃚rĀ;oጇገ憟cir;楉rǣጓ\0y;䐎ve;䅬Āiyጞጣrc耻\xdb䃛;䐣blac;䅰r;쀀\ud835\udd18rave耻\xd9䃙acr;䅪Ādiፁ፩erĀBPፈ፝Āarፍፐr;䁟acĀekፗፙ;揟et;掵arenthesis;揝onĀ;P፰፱拃lus;抎Āgp፻on;䅲f;쀀\ud835\udd4cЀADETadps᎕ᎮᎸᏄϨᏒᏗᏳrrowƀ;BDᅐᎠᎤar;椒ownArrow;懅ownArrow;憕quilibrium;楮eeĀ;AᏋᏌ报rrow;憥own\xe1ϳerĀLRᏞᏨeftArrow;憖ightArrow;憗iĀ;lᏹᏺ䏒on;䎥ing;䅮cr;쀀\ud835\udcb0ilde;䅨ml耻\xdc䃜ҀDbcdefosvᐧᐬᐰᐳᐾᒅᒊᒐᒖash;披ar;櫫y;䐒ashĀ;lᐻᐼ抩;櫦Āerᑃᑅ;拁ƀbtyᑌᑐᑺar;怖Ā;iᑏᑕcalȀBLSTᑡᑥᑪᑴar;戣ine;䁼eparator;杘ilde;所ThinSpace;怊r;쀀\ud835\udd19pf;쀀\ud835\udd4dcr;쀀\ud835\udcb1dash;抪ʀcefosᒧᒬᒱᒶᒼirc;䅴dge;拀r;쀀\ud835\udd1apf;쀀\ud835\udd4ecr;쀀\ud835\udcb2Ȁfiosᓋᓐᓒᓘr;쀀\ud835\udd1b;䎞pf;쀀\ud835\udd4fcr;쀀\ud835\udcb3ҀAIUacfosuᓱᓵᓹᓽᔄᔏᔔᔚᔠcy;䐯cy;䐇cy;䐮cute耻\xdd䃝Āiyᔉᔍrc;䅶;䐫r;쀀\ud835\udd1cpf;쀀\ud835\udd50cr;쀀\ud835\udcb4ml;䅸ЀHacdefosᔵᔹᔿᕋᕏᕝᕠᕤcy;䐖cute;䅹Āayᕄᕉron;䅽;䐗ot;䅻Dzᕔ\0ᕛoWidt\xe8a;䎖r;愨pf;愤cr;쀀\ud835\udcb5ᖃᖊᖐ\0ᖰᖶᖿ\0\0\0\0ᗆᗛᗫᙟ᙭\0ᚕ᚛ᚲᚹ\0ᚾcute耻\xe1䃡reve;䄃̀;Ediuyᖜᖝᖡᖣᖨᖭ戾;쀀∾̳;房rc耻\xe2䃢te肻\xb4̆;䐰lig耻\xe6䃦Ā;r\xb2ᖺ;쀀\ud835\udd1erave耻\xe0䃠ĀepᗊᗖĀfpᗏᗔsym;愵\xe8ᗓha;䎱ĀapᗟcĀclᗤᗧr;䄁g;樿ɤᗰ\0\0ᘊʀ;adsvᗺᗻᗿᘁᘇ戧nd;橕;橜lope;橘;橚;elmrszᘘᘙᘛᘞᘿᙏᙙ戠;榤e\xbbᘙsdĀ;aᘥᘦ戡ѡᘰᘲᘴᘶᘸᘺᘼᘾ;榨;榩;榪;榫;榬;榭;榮;榯tĀ;vᙅᙆ戟bĀ;dᙌᙍ抾;榝Āptᙔᙗh;戢\xbb\xb9arr;捼Āgpᙣᙧon;䄅f;쀀\ud835\udd52;Eaeiopᙻᙽᚂᚄᚇᚊ;橰cir;橯;扊d;手s;䀧roxĀ;eᚒ\xf1ᚃing耻\xe5䃥ƀctyᚡᚦᚨr;쀀\ud835\udcb6;䀪mpĀ;eᚯ\xf1ʈilde耻\xe3䃣ml耻\xe4䃤Āciᛂᛈonin\xf4ɲnt;樑ࠀNabcdefiklnoprsu᛭ᛱᜰᝃᝈ០៦ᠹᡐᜍ᥈ᥰot;櫭ĀcrᛶkȀcepsᜀᜅᜍᜓong;扌psilon;䏶rime;怵imĀ;e戽q;拍Ŷᜢᜦee;抽edĀ;gᜬᜭ挅e\xbbᜭrkĀ;tbrk;掶Āoyᜁᝁ;䐱quo;怞ʀcmprtᝓᝡᝤᝨausĀ;eĊĉptyv;榰s\xe9ᜌno\xf5ēƀahwᝯᝳ;䎲;愶een;扬r;쀀\ud835\udd1fgcostuvwឍឝឳេ៕៛ƀaiuបពរ\xf0ݠrc;旯p\xbb፱ƀdptឤឨឭot;樀lus;樁imes;樂ɱឹ\0\0ើcup;樆ar;昅riangleĀdu៍្own;施p;斳plus;樄e\xe5ᑄ\xe5ᒭarow;植ƀakoᠦᠵĀcn៲ᠣkƀlst֫᠂ozenge;槫riangleȀ;dlr᠒᠓᠘斴own;斾eft;旂ight;斸k;搣Ʊᠫ\0ᠳƲᠯ\0ᠱ;斒;斑4;斓ck;斈ĀeoᠾᡍĀ;qᡃᡆ쀀=⃥uiv;쀀≡⃥t;挐Ȁptwxᡙᡞᡧᡬf;쀀\ud835\udd53Ā;tᏋᡣom\xbbᏌtie;拈DHUVbdhmptuvᢅᢖᢪᢻᣗᣛᣬᤅᤊᤐᤡȀLRlrᢎᢐᢒᢔ;敗;敔;敖;敓ʀ;DUduᢡᢢᢤᢦᢨ敐;敦;敩;敤;敧ȀLRlrᢳᢵᢷᢹ;敝;敚;敜;教;HLRhlrᣊᣋᣍᣏᣑᣓᣕ救;敬;散;敠;敫;敢;敟ox;槉ȀLRlrᣤᣦᣨᣪ;敕;敒;攐;攌ʀ;DUduڽ;敥;敨;攬;攴inus;抟lus;択imes;抠ȀLRlrᤙᤛᤝ;敛;敘;攘;攔;HLRhlrᤰᤱᤳᤵᤷ᤻᤹攂;敪;敡;敞;攼;攤;攜Āevģbar耻\xa6䂦Ȁceioᥑᥖᥚᥠr;쀀\ud835\udcb7mi;恏mĀ;elƀ;bhᥨᥩᥫ䁜;槅sub;柈ŬᥴlĀ;e怢t\xbbpƀ;Eeįᦅᦇ;檮Ā;qۜۛೡᦧ\0᧨ᨑᨕᨲ\0ᨷᩐ\0\0᪴\0\0᫁\0\0ᬡᬮ᭒\0᯽\0ᰌƀcprᦲute;䄇̀;abcdsᦿᧀᧄ᧕᧙戩nd;橄rcup;橉Āau᧒p;橋p;橇ot;橀;쀀∩︀Āeo᧢᧥t;恁\xeeړȀaeiu᧰᧻ᨁᨅǰ᧵\0᧸s;橍on;䄍dil耻\xe7䃧rc;䄉psĀ;sᨌᨍ橌m;橐ot;䄋ƀdmnᨛᨠᨦil肻\xb8ƭptyv;榲t脀\xa2;eᨭᨮ䂢r\xe4Ʋr;쀀\ud835\udd20ƀceiᨽᩀᩍy;䑇ckĀ;mᩇᩈ朓ark\xbbᩈ;䏇r;Ecefms᩠ᩢᩫ᪤᪪旋;槃ƀ;elᩩᩪᩭ䋆q;扗eɡᩴ\0\0᪈rrowĀlr᩼᪁eft;憺ight;憻ʀRSacd᪒᪔᪖\xbbཇ;擈st;抛irc;抚ash;抝nint;樐id;櫯cir;槂ubsĀ;u᪻᪼晣it\xbb᪼ˬ᫇\0ᬊonĀ;eᫍᫎ䀺Ā;q\xc7\xc6ɭ\0\0aĀ;t䀬;䁀ƀ;fl戁\xeeᅠeĀmxent\xbbe\xf3ɍǧ\0ᬇĀ;dኻᬂot;橭n\xf4Ɇƀfryᬐᬔᬗ;쀀\ud835\udd54o\xe4ɔ脀\xa9;sŕᬝr;愗Āaoᬥᬩrr;憵ss;朗Ācuᬲᬷr;쀀\ud835\udcb8Ābpᬼ᭄Ā;eᭁᭂ櫏;櫑Ā;eᭉᭊ櫐;櫒dot;拯delprvw᭠᭬᭷ᮂᮬᯔarrĀlr᭨᭪;椸;椵ɰ᭲\0\0᭵r;拞c;拟arrĀ;pᮀ憶;椽̀;bcdosᮏᮐᮖᮡᮥᮨ截rcap;橈Āauᮛᮞp;橆p;橊ot;抍r;橅;쀀∪︀Ȁalrv᮵ᮿᯞᯣrrĀ;mᮼᮽ憷;椼yƀevwᯇᯔᯘqɰᯎ\0\0ᯒre\xe3᭳u\xe3᭵ee;拎edge;拏en耻\xa4䂤earrowĀlrᯮ᯳eft\xbbᮀight\xbbᮽe\xe4ᯝĀciᰁᰇonin\xf4Ƿnt;戱lcty;挭ঀAHabcdefhijlorstuwz᰻᰿ᱝᱩᱵᲞᲬᲷᴍᵻᶑᶫᶻ᷆᷍r\xf2ar;楥Ȁglrs᱈ᱍ᱒᱔ger;怠eth;愸\xf2ᄳhĀ;vᱚᱛ怐\xbbऊūᱡᱧarow;椏a\xe3̕Āayᱮᱳron;䄏;䐴ƀ;ao̲ᱼᲄĀgrʿᲁr;懊tseq;橷ƀglmᲑᲔᲘ耻\xb0䂰ta;䎴ptyv;榱ĀirᲣᲨsht;楿;쀀\ud835\udd21arĀlrᲳᲵ\xbbࣜ\xbbသʀaegsv᳂᳖᳜᳠mƀ;oș᳔ndĀ;ș᳑uit;晦amma;䏝in;拲ƀ;io᳧᳨᳸䃷de脀\xf7;o᳧ᳰntimes;拇n\xf8᳷cy;䑒cɯᴆ\0\0ᴊrn;挞op;挍ʀlptuwᴘᴝᴢᵉᵕlar;䀤f;쀀\ud835\udd55ʀ;emps̋ᴭᴷᴽᵂqĀ;d͒ᴳot;扑inus;戸lus;戔quare;抡blebarwedg\xe5\xfanƀadhᄮᵝᵧownarrow\xf3ᲃarpoonĀlrᵲᵶef\xf4Ჴigh\xf4ᲶŢᵿᶅkaro\xf7གɯᶊ\0\0ᶎrn;挟op;挌ƀcotᶘᶣᶦĀryᶝᶡ;쀀\ud835\udcb9;䑕l;槶rok;䄑Ādrᶰᶴot;拱iĀ;fᶺ᠖斿Āah᷀᷃r\xf2Щa\xf2ྦangle;榦Āci᷒ᷕy;䑟grarr;柿ऀDacdefglmnopqrstuxḁḉḙḸոḼṉṡṾấắẽỡἪἷὄĀDoḆᴴo\xf4ĀcsḎḔute耻\xe9䃩ter;橮ȀaioyḢḧḱḶron;䄛rĀ;cḭḮ扖耻\xea䃪lon;払;䑍ot;䄗ĀDrṁṅot;扒;쀀\ud835\udd22ƀ;rsṐṑṗ檚ave耻\xe8䃨Ā;dṜṝ檖ot;檘Ȁ;ilsṪṫṲṴ檙nters;揧;愓Ā;dṹṺ檕ot;檗ƀapsẅẉẗcr;䄓tyƀ;svẒẓẕ戅et\xbbẓpĀ1;ẝẤijạả;怄;怅怃ĀgsẪẬ;䅋p;怂ĀgpẴẸon;䄙f;쀀\ud835\udd56ƀalsỄỎỒrĀ;sỊị拕l;槣us;橱iƀ;lvỚớở䎵on\xbbớ;䏵ȀcsuvỪỳἋἣĀioữḱrc\xbbḮɩỹ\0\0ỻ\xedՈantĀglἂἆtr\xbbṝess\xbbṺƀaeiἒἚls;䀽st;扟vĀ;DȵἠD;橸parsl;槥ĀDaἯἳot;打rr;楱ƀcdiἾὁỸr;愯o\xf4͒ĀahὉὋ;䎷耻\xf0䃰Āmrὓὗl耻\xeb䃫o;悬ƀcipὡὤὧl;䀡s\xf4ծĀeoὬὴctatio\xeeՙnential\xe5չৡᾒ\0ᾞ\0ᾡᾧ\0\0ῆῌ\0ΐ\0ῦῪ \0 ⁚llingdotse\xf1Ṅy;䑄male;晀ƀilrᾭᾳ῁lig;耀ffiɩᾹ\0\0᾽g;耀ffig;耀ffl;쀀\ud835\udd23lig;耀filig;쀀fjƀaltῙῡt;晭ig;耀flns;斱of;䆒ǰ΅\0ῳf;쀀\ud835\udd57ĀakֿῷĀ;vῼ´拔;櫙artint;樍Āao⁕Ācs‑⁒ႉ‸⁅⁈\0⁐β•‥‧\0耻\xbd䂽;慓耻\xbc䂼;慕;慙;慛Ƴ‴\0‶;慔;慖ʴ‾⁁\0\0⁃耻\xbe䂾;慗;慜5;慘ƶ⁌\0⁎;慚;慝8;慞l;恄wn;挢cr;쀀\ud835\udcbbࢀEabcdefgijlnorstv₂₉₥₰₴⃰℃ℒℸ̗ℾ⅒↞Ā;lٍ₇;檌ƀcmpₐₕute;䇵maĀ;dₜ᳚䎳;檆reve;䄟Āiy₪₮rc;䄝;䐳ot;䄡Ȁ;lqsؾق₽ƀ;qsؾٌlan\xf4٥Ȁ;cdl٥⃒⃥⃕c;檩otĀ;o⃜⃝檀Ā;l⃢⃣檂;檄Ā;e⃪⃭쀀⋛︀s;檔r;쀀\ud835\udd24Ā;gٳ؛mel;愷cy;䑓Ȁ;Eajٚℌℎℐ;檒;檥;檤ȀEaesℛℝ℩ℴ;扩pĀ;p℣ℤ檊rox\xbbℤĀ;q℮ℯ檈Ā;q℮ℛim;拧pf;쀀\ud835\udd58Āci⅃ⅆr;愊mƀ;el٫ⅎ⅐;檎;檐茀>;cdlqrⅠⅪⅮⅳⅹĀciⅥⅧ;檧r;橺ot;拗Par;榕uest;橼ʀadelsↄⅪ←ٖ↛ǰ↉\0pro\xf8r;楸qĀlqؿ↖les\xf3₈i\xed٫Āen↣↭rtneqq;쀀≩︀\xc5↪ԀAabcefkosy⇄⇇⇱⇵⇺∘∝∯≨≽r\xf2ΠȀilmr⇐⇔⇗⇛rs\xf0ᒄf\xbb․il\xf4کĀdr⇠⇤cy;䑊ƀ;cwࣴ⇫⇯ir;楈;憭ar;意irc;䄥ƀalr∁∎∓rtsĀ;u∉∊晥it\xbb∊lip;怦con;抹r;쀀\ud835\udd25sĀew∣∩arow;椥arow;椦ʀamopr∺∾≃≞≣rr;懿tht;戻kĀlr≉≓eftarrow;憩ightarrow;憪f;쀀\ud835\udd59bar;怕ƀclt≯≴≸r;쀀\ud835\udcbdas\xe8⇴rok;䄧Ābp⊂⊇ull;恃hen\xbbᱛૡ⊣\0⊪\0⊸⋅⋎\0⋕⋳\0\0⋸⌢⍧⍢⍿\0⎆⎪⎴cute耻\xed䃭ƀ;iyݱ⊰⊵rc耻\xee䃮;䐸Ācx⊼⊿y;䐵cl耻\xa1䂡ĀfrΟ⋉;쀀\ud835\udd26rave耻\xec䃬Ȁ;inoܾ⋝⋩⋮Āin⋢⋦nt;樌t;戭fin;槜ta;愩lig;䄳ƀaop⋾⌚⌝ƀcgt⌅⌈⌗r;䄫ƀelpܟ⌏⌓in\xe5ގar\xf4ܠh;䄱f;抷ed;䆵ʀ;cfotӴ⌬⌱⌽⍁are;愅inĀ;t⌸⌹戞ie;槝do\xf4⌙ʀ;celpݗ⍌⍐⍛⍡al;抺Āgr⍕⍙er\xf3ᕣ\xe3⍍arhk;樗rod;樼Ȁcgpt⍯⍲⍶⍻y;䑑on;䄯f;쀀\ud835\udd5aa;䎹uest耻\xbf䂿Āci⎊⎏r;쀀\ud835\udcbenʀ;EdsvӴ⎛⎝⎡ӳ;拹ot;拵Ā;v⎦⎧拴;拳Ā;iݷ⎮lde;䄩ǫ⎸\0⎼cy;䑖l耻\xef䃯̀cfmosu⏌⏗⏜⏡⏧⏵Āiy⏑⏕rc;䄵;䐹r;쀀\ud835\udd27ath;䈷pf;쀀\ud835\udd5bǣ⏬\0⏱r;쀀\ud835\udcbfrcy;䑘kcy;䑔Ѐacfghjos␋␖␢ppaĀ;v␓␔䎺;䏰Āey␛␠dil;䄷;䐺r;쀀\ud835\udd28reen;䄸cy;䑅cy;䑜pf;쀀\ud835\udd5ccr;쀀\ud835\udcc0ABEHabcdefghjlmnoprstuv⑰⒁⒆⒍⒑┎┽╚▀♎♞♥♹♽⚚⚲⛘❝❨➋⟀⠁⠒ƀart⑷⑺⑼r\xf2\xf2Εail;椛arr;椎Ā;gঔ⒋;檋ar;楢ॣ⒥\0⒪\0⒱\0\0\0\0\0⒵Ⓔ\0ⓆⓈⓍ\0⓹ute;䄺mptyv;榴ra\xeeࡌbda;䎻gƀ;dlࢎⓁⓃ;榑\xe5ࢎ;檅uo耻\xab䂫rЀ;bfhlpst࢙ⓞⓦⓩ⓫⓮⓱⓵Ā;f࢝ⓣs;椟s;椝\xeb≒p;憫l;椹im;楳l;憢ƀ;ae⓿─┄檫il;椙Ā;s┉┊檭;쀀⪭︀ƀabr┕┙┝rr;椌rk;杲Āak┢┬cĀek┨┪;䁻;䁛Āes┱┳;榋lĀdu┹┻;榏;榍Ȁaeuy╆╋╖╘ron;䄾Ādi═╔il;䄼\xecࢰ\xe2┩;䐻Ȁcqrs╣╦╭╽a;椶uoĀ;rนᝆĀdu╲╷har;楧shar;楋h;憲ʀ;fgqs▋▌উ◳◿扤tʀahlrt▘▤▷◂◨rrowĀ;t࢙□a\xe9⓶arpoonĀdu▯▴own\xbbњp\xbb०eftarrows;懇ightƀahs◍◖◞rrowĀ;sࣴࢧarpoon\xf3quigarro\xf7⇰hreetimes;拋ƀ;qs▋ও◺lan\xf4বʀ;cdgsব☊☍☝☨c;檨otĀ;o☔☕橿Ā;r☚☛檁;檃Ā;e☢☥쀀⋚︀s;檓ʀadegs☳☹☽♉♋ppro\xf8Ⓠot;拖qĀgq♃♅\xf4উgt\xf2⒌\xf4ছi\xedলƀilr♕࣡♚sht;楼;쀀\ud835\udd29Ā;Eজ♣;檑š♩♶rĀdu▲♮Ā;l॥♳;楪lk;斄cy;䑙ʀ;achtੈ⚈⚋⚑⚖r\xf2◁orne\xf2ᴈard;楫ri;旺Āio⚟⚤dot;䅀ustĀ;a⚬⚭掰che\xbb⚭ȀEaes⚻⚽⛉⛔;扨pĀ;p⛃⛄檉rox\xbb⛄Ā;q⛎⛏檇Ā;q⛎⚻im;拦Ѐabnoptwz⛩⛴⛷✚✯❁❇❐Ānr⛮⛱g;柬r;懽r\xebࣁgƀlmr⛿✍✔eftĀar০✇ight\xe1৲apsto;柼ight\xe1৽parrowĀlr✥✩ef\xf4⓭ight;憬ƀafl✶✹✽r;榅;쀀\ud835\udd5dus;樭imes;樴š❋❏st;戗\xe1ፎƀ;ef❗❘᠀旊nge\xbb❘arĀ;l❤❥䀨t;榓ʀachmt❳❶❼➅➇r\xf2ࢨorne\xf2ᶌarĀ;d➃;業;怎ri;抿̀achiqt➘➝ੀ➢➮➻quo;怹r;쀀\ud835\udcc1mƀ;egল➪➬;檍;檏Ābu┪➳oĀ;rฟ➹;怚rok;䅂萀<;cdhilqrࠫ⟒☹⟜⟠⟥⟪⟰Āci⟗⟙;檦r;橹re\xe5◲mes;拉arr;楶uest;橻ĀPi⟵⟹ar;榖ƀ;ef⠀भ旃rĀdu⠇⠍shar;楊har;楦Āen⠗⠡rtneqq;쀀≨︀\xc5⠞܀Dacdefhilnopsu⡀⡅⢂⢎⢓⢠⢥⢨⣚⣢⣤ઃ⣳⤂Dot;戺Ȁclpr⡎⡒⡣⡽r耻\xaf䂯Āet⡗⡙;時Ā;e⡞⡟朠se\xbb⡟Ā;sျ⡨toȀ;dluျ⡳⡷⡻ow\xeeҌef\xf4ए\xf0Ꮡker;斮Āoy⢇⢌mma;権;䐼ash;怔asuredangle\xbbᘦr;쀀\ud835\udd2ao;愧ƀcdn⢯⢴⣉ro耻\xb5䂵Ȁ;acdᑤ⢽⣀⣄s\xf4ᚧir;櫰ot肻\xb7Ƶusƀ;bd⣒ᤃ⣓戒Ā;uᴼ⣘;横ţ⣞⣡p;櫛\xf2−\xf0ઁĀdp⣩⣮els;抧f;쀀\ud835\udd5eĀct⣸⣽r;쀀\ud835\udcc2pos\xbbᖝƀ;lm⤉⤊⤍䎼timap;抸ఀGLRVabcdefghijlmoprstuvw⥂⥓⥾⦉⦘⧚⧩⨕⨚⩘⩝⪃⪕⪤⪨⬄⬇⭄⭿⮮ⰴⱧⱼ⳩Āgt⥇⥋;쀀⋙̸Ā;v⥐쀀≫⃒ƀelt⥚⥲⥶ftĀar⥡⥧rrow;懍ightarrow;懎;쀀⋘̸Ā;v⥻ే쀀≪⃒ightarrow;懏ĀDd⦎⦓ash;抯ash;抮ʀbcnpt⦣⦧⦬⦱⧌la\xbb˞ute;䅄g;쀀∠⃒ʀ;Eiop⦼⧀⧅⧈;쀀⩰̸d;쀀≋̸s;䅉ro\xf8urĀ;a⧓⧔普lĀ;s⧓ସdz⧟\0⧣p肻\xa0ଷmpĀ;e௹ఀʀaeouy⧴⧾⨃⨐⨓ǰ⧹\0⧻;橃on;䅈dil;䅆ngĀ;dൾ⨊ot;쀀⩭̸p;橂;䐽ash;怓;Aadqsxஒ⨩⨭⨻⩁⩅⩐rr;懗rĀhr⨳⨶k;椤Ā;oᏲᏰot;쀀≐̸ui\xf6ୣĀei⩊⩎ar;椨\xedistĀ;sடr;쀀\ud835\udd2bȀEest⩦⩹⩼ƀ;qs⩭ƀ;qs⩴lan\xf4i\xed௪Ā;rஶ⪁\xbbஷƀAap⪊⪍⪑r\xf2⥱rr;憮ar;櫲ƀ;svྍ⪜ྌĀ;d⪡⪢拼;拺cy;䑚AEadest⪷⪺⪾⫂⫅⫶⫹r\xf2⥦;쀀≦̸rr;憚r;急Ȁ;fqs⫎⫣⫯tĀar⫔⫙rro\xf7⫁ightarro\xf7⪐ƀ;qs⪺⫪lan\xf4ౕĀ;sౕ⫴\xbbశi\xedౝĀ;rవ⫾iĀ;eచథi\xe4ඐĀpt⬌⬑f;쀀\ud835\udd5f膀\xac;in⬙⬚⬶䂬nȀ;Edvஉ⬤⬨⬮;쀀⋹̸ot;쀀⋵̸ǡஉ⬳⬵;拷;拶iĀ;vಸ⬼ǡಸ⭁⭃;拾;拽ƀaor⭋⭣⭩rȀ;ast⭕⭚⭟lle\xecl;쀀⫽⃥;쀀∂̸lint;樔ƀ;ceಒ⭰⭳u\xe5ಥĀ;cಘ⭸Ā;eಒ⭽\xf1ಘȀAait⮈⮋⮝⮧r\xf2⦈rrƀ;cw⮔⮕⮙憛;쀀⤳̸;쀀↝̸ghtarrow\xbb⮕riĀ;eೋೖchimpqu⮽⯍⯙⬄⯤⯯Ȁ;cerല⯆ഷ⯉u\xe5;쀀\ud835\udcc3ortɭ⬅\0\0⯖ar\xe1⭖mĀ;e൮⯟Ā;q൴൳suĀbp⯫⯭\xe5\xe5ഋƀbcp⯶ⰑⰙȀ;Ees⯿ⰀഢⰄ抄;쀀⫅̸etĀ;eഛⰋqĀ;qണⰀcĀ;eലⰗ\xf1സȀ;EesⰢⰣൟⰧ抅;쀀⫆̸etĀ;e൘ⰮqĀ;qൠⰣȀgilrⰽⰿⱅⱇ\xecௗlde耻\xf1䃱\xe7ృiangleĀlrⱒⱜeftĀ;eచⱚ\xf1దightĀ;eೋⱥ\xf1Ā;mⱬⱭ䎽ƀ;esⱴⱵⱹ䀣ro;愖p;怇ҀDHadgilrsⲏⲔⲙⲞⲣⲰⲶⳓⳣash;抭arr;椄p;쀀≍⃒ash;抬ĀetⲨⲬ;쀀≥⃒;쀀>⃒nfin;槞ƀAetⲽⳁⳅrr;椂;쀀≤⃒Ā;rⳊⳍ쀀<⃒ie;쀀⊴⃒ĀAtⳘⳜrr;椃rie;쀀⊵⃒im;쀀∼⃒ƀAan⳰ⴂrr;懖rĀhr⳺⳽k;椣Ā;oᏧᏥear;椧ቓ᪕\0\0\0\0\0\0\0\0\0\0\0\0\0ⴭ\0ⴸⵈⵠⵥⶄᬇ\0\0ⶍⶫ\0ⷈⷎ\0ⷜ⸙⸫⸾⹃Ācsⴱ᪗ute耻\xf3䃳ĀiyⴼⵅrĀ;cⵂ耻\xf4䃴;䐾ʀabios᪠ⵒⵗLjⵚlac;䅑v;樸old;榼lig;䅓Ācrir;榿;쀀\ud835\udd2cͯ\0\0\0ⶂn;䋛ave耻\xf2䃲;槁Ābmⶈ෴ar;榵Ȁacitⶕⶥⶨr\xf2᪀Āirⶠr;榾oss;榻n\xe5๒;槀ƀaeiⶱⶵⶹcr;䅍ga;䏉ƀcdnⷀⷅǍron;䎿;榶pf;쀀\ud835\udd60ƀaelⷔǒr;榷rp;榹;adiosvⷪⷫⷮ⸈⸍⸐⸖戨r\xf2᪆Ȁ;efmⷷⷸ⸂⸅橝rĀ;oⷾⷿ愴f\xbbⷿ耻\xaa䂪耻\xba䂺gof;抶r;橖lope;橗;橛ƀclo⸟⸡⸧\xf2⸁ash耻\xf8䃸l;折iŬⸯ⸴de耻\xf5䃵esĀ;aǛ⸺s;樶ml耻\xf6䃶bar;挽ૡ\0\0⺀⺝\0⺢⺹\0\0⻋ຜ\0⼓\0\0⼫⾼\0⿈rȀ;astЃ脀\xb6;l䂶le\xecЃɩ\0\0m;櫳;櫽y;䐿rʀcimpt⺋⺏⺓ᡥ⺗nt;䀥od;䀮il;怰enk;怱r;쀀\ud835\udd2dƀimo⺨⺰⺴Ā;v⺭⺮䏆;䏕ma\xf4੶ne;明ƀ;tv⺿⻀⻈䏀chfork\xbb´;䏖Āau⻏⻟nĀck⻕⻝kĀ;h⇴⻛;愎\xf6⇴sҀ;abcdemst⻳ᤈ⼄⼆⼊⼎䀫cir;樣ir;樢Āouᵀ⼂;樥;橲n肻\xb1ຝim;樦wo;樧ƀipu⼙⼠⼥ntint;樕f;쀀\ud835\udd61nd耻\xa3䂣Ԁ;Eaceinosu່⼿⽁⽄⽇⾁⾉⾒⽾⾶;檳p;檷u\xe5໙Ā;c໎⽌̀;acens່⽙⽟⽦⽨⽾ppro\xf8⽃urlye\xf1໙\xf1໎ƀaes⽯⽶⽺pprox;檹qq;檵im;拨i\xedໟmeĀ;s⾈ຮ怲ƀEas⽸⾐⽺\xf0⽵ƀdfp⾙⾯ƀals⾠⾥⾪lar;挮ine;挒urf;挓Ā;t⾴\xefrel;抰Āci⿀⿅r;쀀\ud835\udcc5;䏈ncsp;怈̀fiopsu⋢⿱r;쀀\ud835\udd2epf;쀀\ud835\udd62rime;恗cr;쀀\ud835\udcc6ƀaeo⿸〉〓tĀei々rnion\xf3ڰnt;樖stĀ;e【】䀿\xf1Ἑ\xf4༔ABHabcdefhilmnoprstuxけさすムㄎㄫㅇㅢㅲㆎ㈆㈕㈤㈩㉘㉮㉲㊐㊰㊷ƀartぇおがr\xf2Ⴓ\xf2ϝail;検ar\xf2ᱥar;楤cdenqrtとふへみわゔヌĀeuねぱ;쀀∽̱te;䅕i\xe3ᅮmptyv;榳gȀ;del࿑らるろ;榒;榥\xe5࿑uo耻\xbb䂻rր;abcfhlpstwガクシスゼゾダッデナp;極Ā;fゴs;椠;椳s;椞\xeb≝\xf0✮l;楅im;楴l;憣;憝Āaiパフil;椚oĀ;nホボ戶al\xf3༞ƀabrョリヮr\xf2៥rk;杳ĀakンヽcĀekヹ・;䁽;䁝Āes;榌lĀduㄊㄌ;榎;榐Ȁaeuyㄗㄜㄧㄩron;䅙Ādiㄡㄥil;䅗\xec\xe2ヺ;䑀Ȁclqsㄴㄷㄽㅄa;椷dhar;楩uoĀ;rȎȍh;憳ƀacgㅎㅟངlȀ;ipsླྀㅘㅛႜn\xe5Ⴛar\xf4ྩt;断ƀilrㅩဣㅮsht;楽;쀀\ud835\udd2fĀaoㅷㆆrĀduㅽㅿ\xbbѻĀ;l႑ㆄ;楬Ā;vㆋㆌ䏁;䏱ƀgns㆕ㇹㇼht̀ahlrstㆤㆰ㇂㇘rrowĀ;tㆭa\xe9トarpoonĀduㆻㆿow\xeeㅾp\xbb႒eftĀah㇊㇐rrow\xf3arpoon\xf3Ցightarrows;應quigarro\xf7ニhreetimes;拌g;䋚ingdotse\xf1ἲƀahm㈍㈐㈓r\xf2a\xf2Ց;怏oustĀ;a㈞掱che\xbbmid;櫮Ȁabpt㈲㈽㉀㉒Ānr㈷㈺g;柭r;懾r\xebဃƀafl㉇㉊㉎r;榆;쀀\ud835\udd63us;樮imes;樵Āap㉝㉧rĀ;g㉣㉤䀩t;榔olint;樒ar\xf2㇣Ȁachq㉻㊀Ⴜ㊅quo;怺r;쀀\ud835\udcc7Ābu・㊊oĀ;rȔȓƀhir㊗㊛㊠re\xe5ㇸmes;拊iȀ;efl㊪ၙᠡ㊫方tri;槎luhar;楨;愞ൡ㋕㋛㋟㌬㌸㍱\0㍺㎤\0\0㏬㏰\0㐨㑈㑚㒭㒱㓊㓱\0㘖\0\0㘳cute;䅛qu\xef➺Ԁ;Eaceinpsyᇭ㋳㋵㋿㌂㌋㌏㌟㌦㌩;檴ǰ㋺\0㋼;檸on;䅡u\xe5ᇾĀ;dᇳ㌇il;䅟rc;䅝ƀEas㌖㌘㌛;檶p;檺im;择olint;樓i\xedሄ;䑁otƀ;be㌴ᵇ㌵担;橦Aacmstx㍆㍊㍗㍛㍞㍣㍭rr;懘rĀhr㍐㍒\xeb∨Ā;oਸ਼t耻\xa7䂧i;䀻war;椩mĀin㍩\xf0nu\xf3\xf1t;朶rĀ;o㍶⁕쀀\ud835\udd30Ȁacoy㎂㎆㎑㎠rp;景Āhy㎋㎏cy;䑉;䑈rtɭ㎙\0\0㎜i\xe4ᑤara\xec耻\xad䂭Āgm㎨㎴maƀ;fv㎱㎲㎲䏃;䏂Ѐ;deglnprካ㏅㏉㏎㏖㏞㏡㏦ot;橪Ā;qኰĀ;E㏓㏔檞;檠Ā;E㏛㏜檝;檟e;扆lus;樤arr;楲ar\xf2ᄽȀaeit㏸㐈㐏㐗Āls㏽㐄lsetm\xe9㍪hp;樳parsl;槤Ādlᑣ㐔e;挣Ā;e㐜㐝檪Ā;s㐢㐣檬;쀀⪬︀ƀflp㐮㐳㑂tcy;䑌Ā;b㐸㐹䀯Ā;a㐾㐿槄r;挿f;쀀\ud835\udd64aĀdr㑍ЂesĀ;u㑔㑕晠it\xbb㑕ƀcsu㑠㑹㒟Āau㑥㑯pĀ;sᆈ㑫;쀀⊓︀pĀ;sᆴ㑵;쀀⊔︀uĀbp㑿㒏ƀ;esᆗᆜ㒆etĀ;eᆗ㒍\xf1ᆝƀ;esᆨᆭ㒖etĀ;eᆨ㒝\xf1ᆮƀ;afᅻ㒦ְrť㒫ֱ\xbbᅼar\xf2ᅈȀcemt㒹㒾㓂㓅r;쀀\ud835\udcc8tm\xee\xf1i\xec㐕ar\xe6ᆾĀar㓎㓕rĀ;f㓔ឿ昆Āan㓚㓭ightĀep㓣㓪psilo\xeeỠh\xe9⺯s\xbb⡒ʀbcmnp㓻㕞ሉ㖋㖎Ҁ;Edemnprs㔎㔏㔑㔕㔞㔣㔬㔱㔶抂;櫅ot;檽Ā;dᇚ㔚ot;櫃ult;櫁ĀEe㔨㔪;櫋;把lus;檿arr;楹ƀeiu㔽㕒㕕tƀ;en㔎㕅㕋qĀ;qᇚ㔏eqĀ;q㔫㔨m;櫇Ābp㕚㕜;櫕;櫓c̀;acensᇭ㕬㕲㕹㕻㌦ppro\xf8㋺urlye\xf1ᇾ\xf1ᇳƀaes㖂㖈㌛ppro\xf8㌚q\xf1㌗g;晪ڀ123;Edehlmnps㖩㖬㖯ሜ㖲㖴㗀㗉㗕㗚㗟㗨㗭耻\xb9䂹耻\xb2䂲耻\xb3䂳;櫆Āos㖹㖼t;檾ub;櫘Ā;dሢ㗅ot;櫄sĀou㗏㗒l;柉b;櫗arr;楻ult;櫂ĀEe㗤㗦;櫌;抋lus;櫀ƀeiu㗴㘉㘌tƀ;enሜ㗼㘂qĀ;qሢ㖲eqĀ;q㗧㗤m;櫈Ābp㘑㘓;櫔;櫖ƀAan㘜㘠㘭rr;懙rĀhr㘦㘨\xeb∮Ā;oਫwar;椪lig耻\xdf䃟㙑㙝㙠ዎ㙳㙹\0㙾㛂\0\0\0\0\0㛛㜃\0㜉㝬\0\0\0㞇ɲ㙖\0\0㙛get;挖;䏄r\xebƀaey㙦㙫㙰ron;䅥dil;䅣;䑂lrec;挕r;쀀\ud835\udd31Ȁeiko㚆㚝㚵㚼Dz㚋\0㚑eĀ4fኄኁaƀ;sv㚘㚙㚛䎸ym;䏑Ācn㚢㚲kĀas㚨㚮ppro\xf8im\xbbኬs\xf0ኞĀas㚺㚮\xf0rn耻\xfe䃾Ǭ̟㛆⋧es膀\xd7;bd㛏㛐㛘䃗Ā;aᤏ㛕r;樱;樰ƀeps㛡㛣㜀\xe1⩍Ȁ;bcf҆㛬㛰㛴ot;挶ir;櫱Ā;o㛹㛼쀀\ud835\udd65rk;櫚\xe1㍢rime;怴ƀaip㜏㜒㝤d\xe5ቈadempst㜡㝍㝀㝑㝗㝜㝟ngleʀ;dlqr㜰㜱㜶㝀㝂斵own\xbbᶻeftĀ;e⠀㜾\xf1म;扜ightĀ;e㊪㝋\xf1ၚot;旬inus;樺lus;樹b;槍ime;樻ezium;揢ƀcht㝲㝽㞁Āry㝷㝻;쀀\ud835\udcc9;䑆cy;䑛rok;䅧Āio㞋㞎x\xf4headĀlr㞗㞠eftarro\xf7ࡏightarrow\xbbཝऀAHabcdfghlmoprstuw㟐㟓㟗㟤㟰㟼㠎㠜㠣㠴㡑㡝㡫㢩㣌㣒㣪㣶r\xf2ϭar;楣Ācr㟜㟢ute耻\xfa䃺\xf2ᅐrǣ㟪\0㟭y;䑞ve;䅭Āiy㟵㟺rc耻\xfb䃻;䑃ƀabh㠃㠆㠋r\xf2Ꭽlac;䅱a\xf2ᏃĀir㠓㠘sht;楾;쀀\ud835\udd32rave耻\xf9䃹š㠧㠱rĀlr㠬㠮\xbbॗ\xbbႃlk;斀Āct㠹㡍ɯ㠿\0\0㡊rnĀ;e㡅㡆挜r\xbb㡆op;挏ri;旸Āal㡖㡚cr;䅫肻\xa8͉Āgp㡢㡦on;䅳f;쀀\ud835\udd66̀adhlsuᅋ㡸㡽፲㢑㢠own\xe1ᎳarpoonĀlr㢈㢌ef\xf4㠭igh\xf4㠯iƀ;hl㢙㢚㢜䏅\xbbᏺon\xbb㢚parrows;懈ƀcit㢰㣄㣈ɯ㢶\0\0㣁rnĀ;e㢼㢽挝r\xbb㢽op;挎ng;䅯ri;旹cr;쀀\ud835\udccaƀdir㣙㣝㣢ot;拰lde;䅩iĀ;f㜰㣨\xbb᠓Āam㣯㣲r\xf2㢨l耻\xfc䃼angle;榧ހABDacdeflnoprsz㤜㤟㤩㤭㦵㦸㦽㧟㧤㧨㧳㧹㧽㨁㨠r\xf2ϷarĀ;v㤦㤧櫨;櫩as\xe8ϡĀnr㤲㤷grt;榜eknprst㓣㥆㥋㥒㥝㥤㦖app\xe1␕othin\xe7ẖƀhir㓫⻈㥙op\xf4⾵Ā;hᎷ㥢\xefㆍĀiu㥩㥭gm\xe1㎳Ābp㥲㦄setneqĀ;q㥽㦀쀀⊊︀;쀀⫋︀setneqĀ;q㦏㦒쀀⊋︀;쀀⫌︀Āhr㦛㦟et\xe1㚜iangleĀlr㦪㦯eft\xbbथight\xbbၑy;䐲ash\xbbံƀelr㧄㧒㧗ƀ;beⷪ㧋㧏ar;抻q;扚lip;拮Ābt㧜ᑨa\xf2ᑩr;쀀\ud835\udd33tr\xe9㦮suĀbp㧯㧱\xbbജ\xbb൙pf;쀀\ud835\udd67ro\xf0tr\xe9㦴Ācu㨆㨋r;쀀\ud835\udccbĀbp㨐㨘nĀEe㦀㨖\xbb㥾nĀEe㦒㨞\xbb㦐igzag;榚cefoprs㨶㨻㩖㩛㩔㩡㩪irc;䅵Ādi㩀㩑Ābg㩅㩉ar;機eĀ;qᗺ㩏;扙erp;愘r;쀀\ud835\udd34pf;쀀\ud835\udd68Ā;eᑹ㩦at\xe8ᑹcr;쀀\ud835\udcccૣណ㪇\0㪋\0㪐㪛\0\0㪝㪨㪫㪯\0\0㫃㫎\0㫘ៜtr\xe9៑r;쀀\ud835\udd35ĀAa㪔㪗r\xf2σr\xf2৶;䎾ĀAa㪡㪤r\xf2θr\xf2৫a\xf0✓is;拻ƀdptឤ㪵㪾Āfl㪺ឩ;쀀\ud835\udd69im\xe5ឲĀAa㫇㫊r\xf2ώr\xf2ਁĀcq㫒ីr;쀀\ud835\udccdĀpt៖㫜r\xe9។Ѐacefiosu㫰㫽㬈㬌㬑㬕㬛㬡cĀuy㫶㫻te耻\xfd䃽;䑏Āiy㬂㬆rc;䅷;䑋n耻\xa5䂥r;쀀\ud835\udd36cy;䑗pf;쀀\ud835\udd6acr;쀀\ud835\udcceĀcm㬦㬩y;䑎l耻\xff䃿Ԁacdefhiosw㭂㭈㭔㭘㭤㭩㭭㭴㭺㮀cute;䅺Āay㭍㭒ron;䅾;䐷ot;䅼Āet㭝㭡tr\xe6ᕟa;䎶r;쀀\ud835\udd37cy;䐶grarr;懝pf;쀀\ud835\udd6bcr;쀀\ud835\udccfĀjn㮅㮇;怍j;怌'.split("").map(e=>e.charCodeAt(0))),Z=new Uint16Array("Ȁaglq \x15\x18\x1bɭ\x0f\0\0\x12p;䀦os;䀧t;䀾t;䀼uot;䀢".split("").map(e=>e.charCodeAt(0))),J=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]),X=null!==(i=String.fromCodePoint)&&void 0!==i?i:function(e){let a="";return e>65535&&(e-=65536,a+=String.fromCharCode(e>>>10&1023|55296),e=56320|1023&e),a+=String.fromCharCode(e)};function Y(e){var a;return e>=55296&&e<=57343||e>1114111?65533:null!==(a=J.get(e))&&void 0!==a?a:e}!function(e){e[e.NUM=35]="NUM",e[e.SEMI=59]="SEMI",e[e.EQUALS=61]="EQUALS",e[e.ZERO=48]="ZERO",e[e.NINE=57]="NINE",e[e.LOWER_A=97]="LOWER_A",e[e.LOWER_F=102]="LOWER_F",e[e.LOWER_X=120]="LOWER_X",e[e.LOWER_Z=122]="LOWER_Z",e[e.UPPER_A=65]="UPPER_A",e[e.UPPER_F=70]="UPPER_F",e[e.UPPER_Z=90]="UPPER_Z"}(s||(s={}));function K(e){return e>=s.ZERO&&e<=s.NINE}!function(e){e[e.VALUE_LENGTH=49152]="VALUE_LENGTH",e[e.BRANCH_LENGTH=16256]="BRANCH_LENGTH",e[e.JUMP_TABLE=127]="JUMP_TABLE"}(o||(o={}));!function(e){e[e.EntityStart=0]="EntityStart",e[e.NumericStart=1]="NumericStart",e[e.NumericDecimal=2]="NumericDecimal",e[e.NumericHex=3]="NumericHex",e[e.NamedEntity=4]="NamedEntity"}(n||(n={})),!function(e){e[e.Legacy=0]="Legacy",e[e.Strict=1]="Strict",e[e.Attribute=2]="Attribute"}(r||(r={}));class ee{constructor(e,a,t){this.decodeTree=e,this.emitCodePoint=a,this.errors=t,this.state=n.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=r.Strict}startEntity(e){this.decodeMode=e,this.state=n.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1}write(e,a){switch(this.state){case n.EntityStart:if(e.charCodeAt(a)===s.NUM)return this.state=n.NumericStart,this.consumed+=1,this.stateNumericStart(e,a+1);return this.state=n.NamedEntity,this.stateNamedEntity(e,a);case n.NumericStart:return this.stateNumericStart(e,a);case n.NumericDecimal:return this.stateNumericDecimal(e,a);case n.NumericHex:return this.stateNumericHex(e,a);case n.NamedEntity:return this.stateNamedEntity(e,a)}}stateNumericStart(e,a){return a>=e.length?-1:(32|e.charCodeAt(a))===s.LOWER_X?(this.state=n.NumericHex,this.consumed+=1,this.stateNumericHex(e,a+1)):(this.state=n.NumericDecimal,this.stateNumericDecimal(e,a))}addToNumericResult(e,a,t,i){if(a!==t){let s=t-a;this.result=this.result*Math.pow(i,s)+parseInt(e.substr(a,s),i),this.consumed+=s}}stateNumericHex(e,a){let t=a;for(;a=s.UPPER_A)||!(i<=s.UPPER_F))&&(!(i>=s.LOWER_A)||!(i<=s.LOWER_F)))return this.addToNumericResult(e,t,a,16),this.emitNumericEntity(o,3);a+=1}return this.addToNumericResult(e,t,a,16),-1}stateNumericDecimal(e,a){let t=a;for(;a>14;for(;a>7,n=a&o.JUMP_TABLE;if(0===s)return 0!==n&&i===n?t:-1;if(n){let a=i-n;return a<0||a>=s?-1:e[t+a]-1}let r=t,c=r+s-1;for(;r<=c;){let a=r+c>>>1,t=e[a];if(ti))return e[a+s];c=a-1}}return -1}(t,i,this.treeIndex+Math.max(1,n),c),this.treeIndex<0)return 0===this.result||this.decodeMode===r.Attribute&&(0===n||function(e){var a;return e===s.EQUALS||(a=e)>=s.UPPER_A&&a<=s.UPPER_Z||a>=s.LOWER_A&&a<=s.LOWER_Z||K(a)}(c))?0:this.emitNotTerminatedNamedEntity();if(0!=(n=((i=t[this.treeIndex])&o.VALUE_LENGTH)>>14)){if(c===s.SEMI)return this.emitNamedEntityData(this.treeIndex,n,this.consumed+this.excess);this.decodeMode!==r.Strict&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}}return -1}emitNotTerminatedNamedEntity(){var e;let{result:a,decodeTree:t}=this,i=(t[a]&o.VALUE_LENGTH)>>14;return this.emitNamedEntityData(a,i,this.consumed),null===(e=this.errors)||void 0===e||e.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(e,a,t){let{decodeTree:i}=this;return this.emitCodePoint(1===a?i[e]&~o.VALUE_LENGTH:i[e+1],t),3===a&&this.emitCodePoint(i[e+2],t),t}end(){var e;switch(this.state){case n.NamedEntity:return 0!==this.result&&(this.decodeMode!==r.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case n.NumericDecimal:return this.emitNumericEntity(0,2);case n.NumericHex:return this.emitNumericEntity(0,3);case n.NumericStart:return null===(e=this.errors)||void 0===e||e.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case n.EntityStart:return 0}}}function ea(e){let a="",t=new ee(e,e=>a+=X(e));return function(e,i){let s=0,o=0;for(;(o=e.indexOf("&",o))>=0;){a+=e.slice(s,o),t.startEntity(i);let n=t.write(e,o+1);if(n<0){s=o+t.end();break}s=o+n,o=0===n?s+1:s}let n=a+e.slice(s);return a="",n}}let et=ea(Q),ei=ea(Z);function es(e){return e===c.Space||e===c.NewLine||e===c.Tab||e===c.FormFeed||e===c.CarriageReturn}function eo(e){return e===c.Slash||e===c.Gt||es(e)}!function(e){e[e.Tab=9]="Tab",e[e.NewLine=10]="NewLine",e[e.FormFeed=12]="FormFeed",e[e.CarriageReturn=13]="CarriageReturn",e[e.Space=32]="Space",e[e.ExclamationMark=33]="ExclamationMark",e[e.Number=35]="Number",e[e.Amp=38]="Amp",e[e.SingleQuote=39]="SingleQuote",e[e.DoubleQuote=34]="DoubleQuote",e[e.Dash=45]="Dash",e[e.Slash=47]="Slash",e[e.Zero=48]="Zero",e[e.Nine=57]="Nine",e[e.Semi=59]="Semi",e[e.Lt=60]="Lt",e[e.Eq=61]="Eq",e[e.Gt=62]="Gt",e[e.Questionmark=63]="Questionmark",e[e.UpperA=65]="UpperA",e[e.LowerA=97]="LowerA",e[e.UpperF=70]="UpperF",e[e.LowerF=102]="LowerF",e[e.UpperZ=90]="UpperZ",e[e.LowerZ=122]="LowerZ",e[e.LowerX=120]="LowerX",e[e.OpeningSquareBracket=91]="OpeningSquareBracket"}(c||(c={})),!function(e){e[e.Text=1]="Text",e[e.BeforeTagName=2]="BeforeTagName",e[e.InTagName=3]="InTagName",e[e.InSelfClosingTag=4]="InSelfClosingTag",e[e.BeforeClosingTagName=5]="BeforeClosingTagName",e[e.InClosingTagName=6]="InClosingTagName",e[e.AfterClosingTagName=7]="AfterClosingTagName",e[e.BeforeAttributeName=8]="BeforeAttributeName",e[e.InAttributeName=9]="InAttributeName",e[e.AfterAttributeName=10]="AfterAttributeName",e[e.BeforeAttributeValue=11]="BeforeAttributeValue",e[e.InAttributeValueDq=12]="InAttributeValueDq",e[e.InAttributeValueSq=13]="InAttributeValueSq",e[e.InAttributeValueNq=14]="InAttributeValueNq",e[e.BeforeDeclaration=15]="BeforeDeclaration",e[e.InDeclaration=16]="InDeclaration",e[e.InProcessingInstruction=17]="InProcessingInstruction",e[e.BeforeComment=18]="BeforeComment",e[e.CDATASequence=19]="CDATASequence",e[e.InSpecialComment=20]="InSpecialComment",e[e.InCommentLike=21]="InCommentLike",e[e.BeforeSpecialS=22]="BeforeSpecialS",e[e.BeforeSpecialT=23]="BeforeSpecialT",e[e.SpecialStartSequence=24]="SpecialStartSequence",e[e.InSpecialTag=25]="InSpecialTag",e[e.InEntity=26]="InEntity"}(l||(l={}));!function(e){e[e.NoValue=0]="NoValue",e[e.Unquoted=1]="Unquoted",e[e.Single=2]="Single",e[e.Double=3]="Double"}(u||(u={}));let en={Cdata:new Uint8Array([67,68,65,84,65,91]),CdataEnd:new Uint8Array([93,93,62]),CommentEnd:new Uint8Array([45,45,62]),ScriptEnd:new Uint8Array([60,47,115,99,114,105,112,116]),StyleEnd:new Uint8Array([60,47,115,116,121,108,101]),TitleEnd:new Uint8Array([60,47,116,105,116,108,101]),TextareaEnd:new Uint8Array([60,47,116,101,120,116,97,114,101,97])};class er{constructor({xmlMode:e=!1,decodeEntities:a=!0},t){this.cbs=t,this.state=l.Text,this.buffer="",this.sectionStart=0,this.index=0,this.entityStart=0,this.baseState=l.Text,this.isSpecial=!1,this.running=!0,this.offset=0,this.currentSequence=void 0,this.sequenceIndex=0,this.xmlMode=e,this.decodeEntities=a,this.entityDecoder=new ee(e?Z:Q,(e,a)=>this.emitCodePoint(e,a))}reset(){this.state=l.Text,this.buffer="",this.sectionStart=0,this.index=0,this.baseState=l.Text,this.currentSequence=void 0,this.running=!0,this.offset=0}write(e){this.offset+=this.buffer.length,this.buffer=e,this.parse()}end(){this.running&&this.finish()}pause(){this.running=!1}resume(){this.running=!0,this.indexthis.sectionStart&&this.cbs.ontext(this.sectionStart,this.index),this.state=l.BeforeTagName,this.sectionStart=this.index):this.decodeEntities&&e===c.Amp&&this.startEntity()}stateSpecialStartSequence(e){let a=this.sequenceIndex===this.currentSequence.length;if(a?eo(e):(32|e)===this.currentSequence[this.sequenceIndex]){if(!a){this.sequenceIndex++;return}}else this.isSpecial=!1;this.sequenceIndex=0,this.state=l.InTagName,this.stateInTagName(e)}stateInSpecialTag(e){if(this.sequenceIndex===this.currentSequence.length){if(e===c.Gt||es(e)){let a=this.index-this.currentSequence.length;if(this.sectionStart=c.LowerA&&a<=c.LowerZ||a>=c.UpperA&&a<=c.UpperZ}startSpecial(e,a){this.isSpecial=!0,this.currentSequence=e,this.sequenceIndex=a,this.state=l.SpecialStartSequence}stateBeforeTagName(e){if(e===c.ExclamationMark)this.state=l.BeforeDeclaration,this.sectionStart=this.index+1;else if(e===c.Questionmark)this.state=l.InProcessingInstruction,this.sectionStart=this.index+1;else if(this.isTagStartChar(e)){let a=32|e;this.sectionStart=this.index,this.xmlMode?this.state=l.InTagName:a===en.ScriptEnd[2]?this.state=l.BeforeSpecialS:a===en.TitleEnd[2]?this.state=l.BeforeSpecialT:this.state=l.InTagName}else e===c.Slash?this.state=l.BeforeClosingTagName:(this.state=l.Text,this.stateText(e))}stateInTagName(e){eo(e)&&(this.cbs.onopentagname(this.sectionStart,this.index),this.sectionStart=-1,this.state=l.BeforeAttributeName,this.stateBeforeAttributeName(e))}stateBeforeClosingTagName(e){es(e)||(e===c.Gt?this.state=l.Text:(this.state=this.isTagStartChar(e)?l.InClosingTagName:l.InSpecialComment,this.sectionStart=this.index))}stateInClosingTagName(e){(e===c.Gt||es(e))&&(this.cbs.onclosetag(this.sectionStart,this.index),this.sectionStart=-1,this.state=l.AfterClosingTagName,this.stateAfterClosingTagName(e))}stateAfterClosingTagName(e){(e===c.Gt||this.fastForwardTo(c.Gt))&&(this.state=l.Text,this.sectionStart=this.index+1)}stateBeforeAttributeName(e){e===c.Gt?(this.cbs.onopentagend(this.index),this.isSpecial?(this.state=l.InSpecialTag,this.sequenceIndex=0):this.state=l.Text,this.sectionStart=this.index+1):e===c.Slash?this.state=l.InSelfClosingTag:!es(e)&&(this.state=l.InAttributeName,this.sectionStart=this.index)}stateInSelfClosingTag(e){e===c.Gt?(this.cbs.onselfclosingtag(this.index),this.state=l.Text,this.sectionStart=this.index+1,this.isSpecial=!1):!es(e)&&(this.state=l.BeforeAttributeName,this.stateBeforeAttributeName(e))}stateInAttributeName(e){(e===c.Eq||eo(e))&&(this.cbs.onattribname(this.sectionStart,this.index),this.sectionStart=this.index,this.state=l.AfterAttributeName,this.stateAfterAttributeName(e))}stateAfterAttributeName(e){e===c.Eq?this.state=l.BeforeAttributeValue:e===c.Slash||e===c.Gt?(this.cbs.onattribend(u.NoValue,this.sectionStart),this.sectionStart=-1,this.state=l.BeforeAttributeName,this.stateBeforeAttributeName(e)):!es(e)&&(this.cbs.onattribend(u.NoValue,this.sectionStart),this.state=l.InAttributeName,this.sectionStart=this.index)}stateBeforeAttributeValue(e){e===c.DoubleQuote?(this.state=l.InAttributeValueDq,this.sectionStart=this.index+1):e===c.SingleQuote?(this.state=l.InAttributeValueSq,this.sectionStart=this.index+1):!es(e)&&(this.sectionStart=this.index,this.state=l.InAttributeValueNq,this.stateInAttributeValueNoQuotes(e))}handleInAttributeValue(e,a){e===a||!this.decodeEntities&&this.fastForwardTo(a)?(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=-1,this.cbs.onattribend(a===c.DoubleQuote?u.Double:u.Single,this.index+1),this.state=l.BeforeAttributeName):this.decodeEntities&&e===c.Amp&&this.startEntity()}stateInAttributeValueDoubleQuotes(e){this.handleInAttributeValue(e,c.DoubleQuote)}stateInAttributeValueSingleQuotes(e){this.handleInAttributeValue(e,c.SingleQuote)}stateInAttributeValueNoQuotes(e){es(e)||e===c.Gt?(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=-1,this.cbs.onattribend(u.Unquoted,this.index),this.state=l.BeforeAttributeName,this.stateBeforeAttributeName(e)):this.decodeEntities&&e===c.Amp&&this.startEntity()}stateBeforeDeclaration(e){e===c.OpeningSquareBracket?(this.state=l.CDATASequence,this.sequenceIndex=0):this.state=e===c.Dash?l.BeforeComment:l.InDeclaration}stateInDeclaration(e){(e===c.Gt||this.fastForwardTo(c.Gt))&&(this.cbs.ondeclaration(this.sectionStart,this.index),this.state=l.Text,this.sectionStart=this.index+1)}stateInProcessingInstruction(e){(e===c.Gt||this.fastForwardTo(c.Gt))&&(this.cbs.onprocessinginstruction(this.sectionStart,this.index),this.state=l.Text,this.sectionStart=this.index+1)}stateBeforeComment(e){e===c.Dash?(this.state=l.InCommentLike,this.currentSequence=en.CommentEnd,this.sequenceIndex=2,this.sectionStart=this.index+1):this.state=l.InDeclaration}stateInSpecialComment(e){(e===c.Gt||this.fastForwardTo(c.Gt))&&(this.cbs.oncomment(this.sectionStart,this.index,0),this.state=l.Text,this.sectionStart=this.index+1)}stateBeforeSpecialS(e){let a=32|e;a===en.ScriptEnd[3]?this.startSpecial(en.ScriptEnd,4):a===en.StyleEnd[3]?this.startSpecial(en.StyleEnd,4):(this.state=l.InTagName,this.stateInTagName(e))}stateBeforeSpecialT(e){let a=32|e;a===en.TitleEnd[3]?this.startSpecial(en.TitleEnd,4):a===en.TextareaEnd[3]?this.startSpecial(en.TextareaEnd,4):(this.state=l.InTagName,this.stateInTagName(e))}startEntity(){this.baseState=this.state,this.state=l.InEntity,this.entityStart=this.index,this.entityDecoder.startEntity(this.xmlMode?r.Strict:this.baseState===l.Text||this.baseState===l.InSpecialTag?r.Legacy:r.Attribute)}stateInEntity(){let e=this.entityDecoder.write(this.buffer,this.index-this.offset);e>=0?(this.state=this.baseState,0===e&&(this.index=this.entityStart)):this.index=this.offset+this.buffer.length-1}cleanup(){this.running&&this.sectionStart!==this.index&&(this.state===l.Text||this.state===l.InSpecialTag&&0===this.sequenceIndex?(this.cbs.ontext(this.sectionStart,this.index),this.sectionStart=this.index):(this.state===l.InAttributeValueDq||this.state===l.InAttributeValueSq||this.state===l.InAttributeValueNq)&&(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=this.index))}shouldContinue(){return this.index=e))this.state===l.InCommentLike?this.currentSequence===en.CdataEnd?this.cbs.oncdata(this.sectionStart,e,0):this.cbs.oncomment(this.sectionStart,e,0):this.state===l.InTagName||this.state===l.BeforeAttributeName||this.state===l.BeforeAttributeValue||this.state===l.AfterAttributeName||this.state===l.InAttributeName||this.state===l.InAttributeValueSq||this.state===l.InAttributeValueDq||this.state===l.InAttributeValueNq||this.state===l.InClosingTagName||this.cbs.ontext(this.sectionStart,e)}emitCodePoint(e,a){this.baseState!==l.Text&&this.baseState!==l.InSpecialTag?(this.sectionStart0&&o.has(this.stack[0]);){let e=this.stack.shift();null===(t=(a=this.cbs).onclosetag)||void 0===t||t.call(a,e,!0)}!this.isVoidElement(e)&&(this.stack.unshift(e),this.htmlMode&&(ep.has(e)?this.foreignContext.unshift(!0):eb.has(e)&&this.foreignContext.unshift(!1))),null===(s=(i=this.cbs).onopentagname)||void 0===s||s.call(i,e),this.cbs.onopentag&&(this.attribs={})}endOpenTag(e){var a,t;this.startIndex=this.openTagStart,this.attribs&&(null===(t=(a=this.cbs).onopentag)||void 0===t||t.call(a,this.tagname,this.attribs,e),this.attribs=null),this.cbs.onclosetag&&this.isVoidElement(this.tagname)&&this.cbs.onclosetag(this.tagname,!0),this.tagname=""}onopentagend(e){this.endIndex=e,this.endOpenTag(!1),this.startIndex=e+1}onclosetag(e,a){var t,i,s,o,n,r,c,l;this.endIndex=a;let u=this.getSlice(e,a);if(this.lowerCaseTagNames&&(u=u.toLowerCase()),this.htmlMode&&(ep.has(u)||eb.has(u))&&this.foreignContext.shift(),this.isVoidElement(u))this.htmlMode&&"br"===u&&(null===(o=(s=this.cbs).onopentagname)||void 0===o||o.call(s,"br"),null===(r=(n=this.cbs).onopentag)||void 0===r||r.call(n,"br",{},!0),null===(l=(c=this.cbs).onclosetag)||void 0===l||l.call(c,"br",!1));else{let e=this.stack.indexOf(u);if(-1!==e)for(let a=0;a<=e;a++){let s=this.stack.shift();null===(i=(t=this.cbs).onclosetag)||void 0===i||i.call(t,s,a!==e)}else this.htmlMode&&"p"===u&&(this.emitOpenTag("p"),this.closeCurrentTag(!0))}this.startIndex=a+1}onselfclosingtag(e){this.endIndex=e,this.recognizeSelfClosing||this.foreignContext[0]?(this.closeCurrentTag(!1),this.startIndex=e+1):this.onopentagend(e)}closeCurrentTag(e){var a,t;let i=this.tagname;this.endOpenTag(e),this.stack[0]===i&&(null===(t=(a=this.cbs).onclosetag)||void 0===t||t.call(a,i,!e),this.stack.shift())}onattribname(e,a){this.startIndex=e;let t=this.getSlice(e,a);this.attribname=this.lowerCaseAttributeNames?t.toLowerCase():t}onattribdata(e,a){this.attribvalue+=this.getSlice(e,a)}onattribentity(e){this.attribvalue+=X(e)}onattribend(e,a){var t,i;this.endIndex=a,null===(i=(t=this.cbs).onattribute)||void 0===i||i.call(t,this.attribname,this.attribvalue,e===u.Double?'"':e===u.Single?"'":e===u.NoValue?void 0:null),this.attribs&&!Object.prototype.hasOwnProperty.call(this.attribs,this.attribname)&&(this.attribs[this.attribname]=this.attribvalue),this.attribvalue=""}getInstructionName(e){let a=e.search(ef),t=a<0?e:e.substr(0,a);return this.lowerCaseTagNames&&(t=t.toLowerCase()),t}ondeclaration(e,a){this.endIndex=a;let t=this.getSlice(e,a);if(this.cbs.onprocessinginstruction){let e=this.getInstructionName(t);this.cbs.onprocessinginstruction(`!${e}`,`!${t}`)}this.startIndex=a+1}onprocessinginstruction(e,a){this.endIndex=a;let t=this.getSlice(e,a);if(this.cbs.onprocessinginstruction){let e=this.getInstructionName(t);this.cbs.onprocessinginstruction(`?${e}`,`?${t}`)}this.startIndex=a+1}oncomment(e,a,t){var i,s,o,n;this.endIndex=a,null===(s=(i=this.cbs).oncomment)||void 0===s||s.call(i,this.getSlice(e,a-t)),null===(n=(o=this.cbs).oncommentend)||void 0===n||n.call(o),this.startIndex=a+1}oncdata(e,a,t){var i,s,o,n,r,c,l,u,d,m;this.endIndex=a;let h=this.getSlice(e,a-t);!this.htmlMode||this.options.recognizeCDATA?(null===(s=(i=this.cbs).oncdatastart)||void 0===s||s.call(i),null===(n=(o=this.cbs).ontext)||void 0===n||n.call(o,h),null===(c=(r=this.cbs).oncdataend)||void 0===c||c.call(r)):(null===(u=(l=this.cbs).oncomment)||void 0===u||u.call(l,`[CDATA[${h}]]`),null===(m=(d=this.cbs).oncommentend)||void 0===m||m.call(d)),this.startIndex=a+1}onend(){var e,a;if(this.cbs.onclosetag){this.endIndex=this.startIndex;for(let e=0;e=this.buffers[0].length;)this.shiftBuffer();let t=this.buffers[0].slice(e-this.bufferOffset,a-this.bufferOffset);for(;a-this.bufferOffset>this.buffers[0].length;)this.shiftBuffer(),t+=this.buffers[0].slice(0,a-this.bufferOffset);return t}shiftBuffer(){this.bufferOffset+=this.buffers[0].length,this.writeIndex--,this.buffers.shift()}write(e){var a,t;if(this.ended){null===(t=(a=this.cbs).onerror)||void 0===t||t.call(a,Error(".write() after done!"));return}this.buffers.push(e),this.tokenizer.running&&(this.tokenizer.write(e),this.writeIndex++)}end(e){var a,t;if(this.ended){null===(t=(a=this.cbs).onerror)||void 0===t||t.call(a,Error(".end() after done!"));return}e&&this.write(e),this.ended=!0,this.tokenizer.end()}pause(){this.tokenizer.pause()}resume(){for(this.tokenizer.resume();this.tokenizer.running&&this.writeIndex0?this.children[this.children.length-1]:null}get childNodes(){return this.children}set childNodes(e){this.children=e}}class eL extends eC{constructor(){super(...arguments),this.type=d.CDATA}get nodeType(){return 4}}class eD extends eC{constructor(){super(...arguments),this.type=d.Root}get nodeType(){return 9}}class eR extends eC{constructor(e,a,t=[],i="script"===e?d.Script:"style"===e?d.Style:d.Tag){super(t),this.name=e,this.attribs=a,this.type=i}get nodeType(){return 1}get tagName(){return this.name}set tagName(e){this.name=e}get attributes(){return Object.keys(this.attribs).map(e=>{var a,t;return{name:e,value:this.attribs[e],namespace:null===(a=this["x-attribsNamespace"])||void 0===a?void 0:a[e],prefix:null===(t=this["x-attribsPrefix"])||void 0===t?void 0:t[e]}})}}function eM(e,a=!1){let t;if(e.type===d.Text)t=new eT(e.data);else if(e.type===d.Comment)t=new eI(e.data);else{var i;if((i=e).type===d.Tag||i.type===d.Script||i.type===d.Style){let i=a?eB(e.children):[],s=new eR(e.name,{...e.attribs},i);i.forEach(e=>e.parent=s),null!=e.namespace&&(s.namespace=e.namespace),e["x-attribsNamespace"]&&(s["x-attribsNamespace"]={...e["x-attribsNamespace"]}),e["x-attribsPrefix"]&&(s["x-attribsPrefix"]={...e["x-attribsPrefix"]}),t=s}else{if(e.type===d.CDATA){let i=a?eB(e.children):[],s=new eL(i);i.forEach(e=>e.parent=s),t=s}else if(e.type===d.Root){let i=a?eB(e.children):[],s=new eD(i);i.forEach(e=>e.parent=s),e["x-mode"]&&(s["x-mode"]=e["x-mode"]),t=s}else{if(e.type===d.Directive){let a=new eN(e.name,e.data);null!=e["x-name"]&&(a["x-name"]=e["x-name"],a["x-publicId"]=e["x-publicId"],a["x-systemId"]=e["x-systemId"]),t=a}else throw Error(`Not implemented yet: ${e.type}`)}}}return t.startIndex=e.startIndex,t.endIndex=e.endIndex,null!=e.sourceCodeLocation&&(t.sourceCodeLocation=e.sourceCodeLocation),t}function eB(e){let a=e.map(e=>eM(e,!0));for(let e=1;e$\x80-\uFFFF]/g,eV=new Map([[34,"""],[38,"&"],[39,"'"],[60,"<"],[62,">"]]),eP=null!=String.prototype.codePointAt?(e,a)=>e.codePointAt(a):(e,a)=>(64512&e.charCodeAt(a))==55296?(e.charCodeAt(a)-55296)*1024+e.charCodeAt(a+1)-56320+65536:e.charCodeAt(a);function eF(e){let a,t="",i=0;for(;null!==(a=eU.exec(e));){let s=a.index,o=e.charCodeAt(s),n=eV.get(o);void 0!==n?(t+=e.substring(i,s)+n,i=s+1):(t+=`${e.substring(i,s)}${eP(e,s).toString(16)};`,i=eU.lastIndex+=Number((64512&o)==55296))}return t+e.substr(i)}function eW(e,a){return function(t){let i;let s=0,o="";for(;i=e.exec(t);)s!==i.index&&(o+=t.substring(s,i.index)),o+=a.get(i[0].charCodeAt(0)),s=i.index+1;return o+t.substring(s)}}eW(/[&<>'"]/g,eV);let eG=eW(/["&\u00A0]/g,new Map([[34,"""],[38,"&"],[160," "]])),eH=eW(/[&<>\u00A0]/g,new Map([[38,"&"],[60,"<"],[62,">"],[160," "]])),eQ=/[\t\n!-,./:-@[-`\f{-}$\x80-\uFFFF]/g;function eZ(e,a){let t,i="",s=0;for(;null!==(t=e.exec(a));){let o=t.index;i+=a.substring(s,o);let n=a.charCodeAt(o),r=htmlTrie.get(n);if("object"==typeof r){if(o+1[e.toLowerCase(),e])),eX=new Map(["definitionURL","attributeName","attributeType","baseFrequency","baseProfile","calcMode","clipPathUnits","diffuseConstant","edgeMode","filterUnits","glyphRef","gradientTransform","gradientUnits","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","lengthAdjust","limitingConeAngle","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","numOctaves","pathLength","patternContentUnits","patternTransform","patternUnits","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","specularConstant","specularExponent","spreadMethod","startOffset","stdDeviation","stitchTiles","surfaceScale","systemLanguage","tableValues","targetX","targetY","textLength","viewBox","viewTarget","xChannelSelector","yChannelSelector","zoomAndPan"].map(e=>[e.toLowerCase(),e])),eY=new Set(["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"]);function eK(e){return e.replace(/"/g,""")}let e1=new Set(["area","base","basefont","br","col","command","embed","frame","hr","img","input","isindex","keygen","link","meta","param","source","track","wbr"]);function e0(e,a={}){let t="length"in e?e:[e],i="";for(let e=0;e`}(e);case ex:return function(e){return``}(e);case eq:return function(e){return``}(e);case ez:case ej:case eS:return function(e,a){var t;"foreign"===a.xmlMode&&(e.name=null!==(t=eJ.get(e.name))&&void 0!==t?t:e.name,e.parent&&e3.has(e.parent.name)&&(a={...a,xmlMode:!1})),!a.xmlMode&&e2.has(e.name)&&(a={...a,xmlMode:"foreign"});let i=`<${e.name}`,s=function(e,a){var t;if(!e)return;let i=(null!==(t=a.encodeEntities)&&void 0!==t?t:a.decodeEntities)===!1?eK:a.xmlMode||"utf8"!==a.encodeEntities?eF:eG;return Object.keys(e).map(t=>{var s,o;let n=null!==(s=e[t])&&void 0!==s?s:"";return("foreign"===a.xmlMode&&(t=null!==(o=eX.get(t))&&void 0!==o?o:t),a.emptyAttrs||a.xmlMode||""!==n)?`${t}="${i(n)}"`:t}).join(" ")}(e.attribs,a);return s&&(i+=` ${s}`),0===e.children.length&&(a.xmlMode?!1!==a.selfClosingTags:a.selfClosingTags&&e1.has(e.name))?(!a.xmlMode&&(i+=" "),i+="/>"):(i+=">",e.children.length>0&&(i+=e0(e.children,a)),(a.xmlMode||!e1.has(e.name))&&(i+=`${e.name}>`)),i}(e,a);case ew:return function(e,a){var t;let i=e.data||"";return(null!==(t=a.encodeEntities)&&void 0!==t?t:a.decodeEntities)!==!1&&!(!a.xmlMode&&e.parent&&eY.has(e.parent.name))&&(i=a.xmlMode||"utf8"!==a.encodeEntities?eF(i):eH(i)),i}(e,a)}}(t[e],a);return i}let e3=new Set(["mi","mo","mn","ms","mtext","annotation-xml","foreignObject","desc","title"]),e2=new Set(["svg","math"]);function e5(e){return Array.isArray(e)?e.map(e5).join(""):isTag(e)?"br"===e.name?"\n":e5(e.children):isCDATA(e)?e5(e.children):isText(e)?e.data:""}function e8(e){return Array.isArray(e)?e.map(e8).join(""):hasChildren(e)&&!isComment(e)?e8(e.children):isText(e)?e.data:""}function e4(e){return Array.isArray(e)?e.map(e4).join(""):hasChildren(e)&&(e.type===ElementType.Tag||isCDATA(e))?e4(e.children):isText(e)?e.data:""}function e6(e,a){return"function"==typeof a?t=>isTag(t)&&a(t.attribs[e]):t=>isTag(t)&&t.attribs[e]===a}function e9(e,a){return t=>e(t)||a(t)}function e7(e){let a=Object.keys(e).map(a=>{let t=e[a];return Object.prototype.hasOwnProperty.call(null,a)?null[a](t):e6(a,t)});return 0===a.length?null:a.reduce(e9)}!function(e){e[e.DISCONNECTED=1]="DISCONNECTED",e[e.PRECEDING=2]="PRECEDING",e[e.FOLLOWING=4]="FOLLOWING",e[e.CONTAINS=8]="CONTAINS",e[e.CONTAINED_BY=16]="CONTAINED_BY"}(g||(g={}));function ae(e){return getElementsByTagName("media:content",e).map(e=>{let{attribs:a}=e,t={medium:a.medium,isDefault:!!a.isDefault};for(let e of null)a[e]&&(t[e]=a[e]);for(let e of null)a[e]&&(t[e]=parseInt(a[e],10));return a.expression&&(t.expression=a.expression),t})}function aa(e,a){return getElementsByTagName(e,a,!0,1)[0]}function at(e,a,t=!1){return textContent(getElementsByTagName(e,a,t,1)).trim()}function ai(e,a,t,i,s=!1){let o=at(t,i,s);o&&(e[a]=o)}function as(e){return"rss"===e||"feed"===e||"rdf:RDF"===e}function ao(e,a,t,i=!1){let s=new eO((e,a)=>a),o=new ek(s);o.write(e),o.end(),function e(a,t,i){if("base"===a.name&&void 0!==a.attribs.href&&(i.base=new URL(a.attribs.href,i.origin)),a.attribs)for(let e of an)for(let s in e){let o=e[s.toLowerCase()];if("function"!=typeof o&&("*"===o||o.includes(a.name))&&void 0!==a.attribs[s]){let o=a.attribs[s],n=e.fn(o,i,t);null===n?delete a.attribs[s]:a.attribs[s]=n,a.attribs[`data-scramjet-${s}`]=o}}if("style"===a.name&&void 0!==a.children[0]&&(a.children[0].data=G(a.children[0].data,i)),"script"===a.name&&/(application|text)\/javascript|module|importmap|undefined/.test(a.attribs.type)&&void 0!==a.children[0]){let e=a.children[0].data;a.attribs["data-scramjet-script-source-src"]=function(e){return btoa(Array.from(e,e=>String.fromCodePoint(e)).join(""))}(new TextEncoder().encode(e));e=e.replace(//g,""),a.children[0].data=V(e,"(inline script element)",i)}if("meta"===a.name&&void 0!==a.attribs["http-equiv"]){if("content-security-policy"===a.attribs["http-equiv"].toLowerCase())a={};else if("refresh"===a.attribs["http-equiv"]&&a.attribs.content.includes("url")){let e=a.attribs.content.split("url=");e[1]&&(e[1]=F(e[1].trim(),i)),a.attribs.content=e.join("url=")}}if(a.childNodes)for(let s in a.childNodes)a.childNodes[s]=e(a.childNodes[s],t,i);return a}(s.root,a,t);if(i){let e=function e(a){if(a.type===eS&&"head"===a.name)return a;if(a.childNodes)for(let t of a.childNodes){let a=e(t);if(a)return a}return null}(s.root);!e&&(e=new eR("head",{},[]),s.root.children.unshift(e));let t=JSON.stringify(a.dump()),i=`
+ `}(e)}return a=function(a,t,i){let s;let o=performance.now();s="string"==typeof a?function(a,t,i,s){let o=_(a,e.__wbindgen_malloc,e.__wbindgen_realloc),n=I,r=_(t,e.__wbindgen_malloc,e.__wbindgen_realloc),c=I,l=_(i,e.__wbindgen_malloc,e.__wbindgen_realloc),u=I,d=e.rewrite_js(o,n,r,c,l,u,s);if(d[2])throw B(d[1]);return B(d[0])}(a,i.base.href,t||"(unknown)",x):function(a,t,i,s){let o=function(e,a){let t=a(1*e.length,1)>>>0;return E().set(e,t/1),I=e.length,t}(a,e.__wbindgen_malloc),n=I,r=_(t,e.__wbindgen_malloc,e.__wbindgen_realloc),c=I,l=_(i,e.__wbindgen_malloc,e.__wbindgen_realloc),u=I,d=e.rewrite_js_from_arraybuffer(o,n,r,c,l,u,s);if(d[2])throw B(d[1]);return B(d[0])}(new Uint8Array(a),i.base.href,t||"(unknown)",x);let n=performance.now(),{js:r,errors:c,duration:l}=s;if(z("rewriterLogs",i.base))for(let e of c)console.error("oxc parse error",e);if(z("rewriterLogs",i.base)){let e;e=l<1n?"BLAZINGLY FAST":l<500n?"decent speed":"really slow";let a=(n-o-Number(l)).toFixed(2);console.log(`oxc rewrite for "${t||"(unknown)"}" was ${e} (${l}ms; ${a}ms overhead)`)}return"string"==typeof a?P.decode(r):r}(a,t,i)}function F(e,a){try{return new URL(e,a)}catch{return null}}function G(e){let a=new URL(e.substring(5));return"blob:"+location.origin+a.pathname}function H(e,a){if(e instanceof URL&&(e=e.toString()),e.startsWith("javascript:"))return"javascript:"+W(e.slice(11),null,a);if(e.startsWith("blob:"))return location.origin+x.config.prefix+e;if(e.startsWith("data:"))return location.origin+x.config.prefix+e;else{if(e.startsWith("mailto:")||e.startsWith("about:"))return e;let t=a.base.href;t.startsWith("about:")&&(t=Q(self.location.href));let i=F(e,t);return i?location.origin+x.config.prefix+x.codec.encode(i.href):e}}function Q(e){e instanceof URL&&(e=e.toString());let a=location.origin+x.config.prefix;if(e.startsWith("javascript:"))return e;if(e.startsWith("blob:"))return e;if(e.startsWith(a+"blob:"))return e.substring(a.length);else if(e.startsWith(a+"data:"))return e.substring(a.length);else if(e.startsWith("mailto:")||e.startsWith("about:"))return e;else if(F(e))return x.codec.decode(e.slice((location.origin+x.config.prefix).length));else return e}function Z(e,a){return J("rewrite",e,a)}function J(e,a,t){return a=(a=(a=new String(a).toString()).replace(/url\(['"]?(.+?)['"]?\)/gm,(a,i)=>{let s="rewrite"===e?H(i.trim(),t):Q(i.trim());return a.replace(i,s)})).replace(/@import\s+(url\s*?\(.{0,9999}?\)|['"].{0,9999}?['"]|.{0,9999}?)($|\s|;)/gm,(a,i)=>a.replace(i,i.replace(/^(url\(['"]?|['"]|)(.+?)(['"]|['"]?\)|)$/gm,(a,i,s,o)=>{if(i.startsWith("url"))return a;let n="rewrite"===e?H(s.trim(),t):Q(s.trim());return`${i}${n}${o}`})))}let X=new Uint16Array('ᵁ<\xd5ıʊҝջאٵ۞ޢߖࠏઑඡ༉༦ረዡᐕᒝᓃᓟᔥ\0\0\0\0\0\0ᕫᛍᦍᰒᷝ↰⊍⏀⏻⑂⠤⤒ⴈ⹈⿎〖㊺㘹㞬㣾㨨㩱㫠㬮ࠀEMabcfglmnoprstu\\bfms\x7f\x84\x8b\x90\x95\x98\xa6\xb3\xb9\xc8\xcflig耻\xc6䃆P耻&䀦cute耻\xc1䃁reve;䄂Āiyx}rc耻\xc2䃂;䐐r;쀀\ud835\udd04rave耻\xc0䃀pha;䎑acr;䄀d;橓Āgp\x9d\xa1on;䄄f;쀀\ud835\udd38plyFunction;恡ing耻\xc5䃅Ācs\xbe\xc3r;쀀\ud835\udc9cign;扔ilde耻\xc3䃃ml耻\xc4䃄Ѐaceforsu\xe5\xfb\xfeėĜĢħĪĀcr\xea\xf2kslash;或Ŷ\xf6\xf8;櫧ed;挆y;䐑ƀcrtąċĔause;戵noullis;愬a;䎒r;쀀\ud835\udd05pf;쀀\ud835\udd39eve;䋘c\xf2ēmpeq;扎܀HOacdefhilorsuōőŖƀƞƢƵƷƺǜȕɳɸɾcy;䐧PY耻\xa9䂩ƀcpyŝŢźute;䄆Ā;iŧŨ拒talDifferentialD;慅leys;愭ȀaeioƉƎƔƘron;䄌dil耻\xc7䃇rc;䄈nint;戰ot;䄊ĀdnƧƭilla;䂸terDot;䂷\xf2ſi;䎧rcleȀDMPTLJNjǑǖot;抙inus;抖lus;投imes;抗oĀcsǢǸkwiseContourIntegral;戲eCurlyĀDQȃȏoubleQuote;思uote;怙ȀlnpuȞȨɇɕonĀ;eȥȦ户;橴ƀgitȯȶȺruent;扡nt;戯ourIntegral;戮ĀfrɌɎ;愂oduct;成nterClockwiseContourIntegral;戳oss;樯cr;쀀\ud835\udc9epĀ;Cʄʅ拓ap;才րDJSZacefiosʠʬʰʴʸˋ˗ˡ˦̳ҍĀ;oŹʥtrahd;椑cy;䐂cy;䐅cy;䐏ƀgrsʿ˄ˇger;怡r;憡hv;櫤Āayː˕ron;䄎;䐔lĀ;t˝˞戇a;䎔r;쀀\ud835\udd07Āaf˫̧Ācm˰̢riticalȀADGT̖̜̀̆cute;䂴oŴ̋̍;䋙bleAcute;䋝rave;䁠ilde;䋜ond;拄ferentialD;慆Ѱ̽\0\0\0͔͂\0Ѕf;쀀\ud835\udd3bƀ;DE͈͉͍䂨ot;惜qual;扐blèCDLRUVͣͲϏϢϸontourIntegra\xecȹoɴ\0\0ͻ\xbb͉nArrow;懓Āeo·ΤftƀARTΐΖΡrrow;懐ightArrow;懔e\xe5ˊngĀLRΫτeftĀARγιrrow;柸ightArrow;柺ightArrow;柹ightĀATϘϞrrow;懒ee;抨pɁϩ\0\0ϯrrow;懑ownArrow;懕erticalBar;戥ǹABLRTaВЪаўѿͼrrowƀ;BUНОТ憓ar;椓pArrow;懵reve;䌑eft˒к\0ц\0ѐightVector;楐eeVector;楞ectorĀ;Bљњ憽ar;楖ightǔѧ\0ѱeeVector;楟ectorĀ;BѺѻ懁ar;楗eeĀ;A҆҇护rrow;憧ĀctҒҗr;쀀\ud835\udc9frok;䄐ࠀNTacdfglmopqstuxҽӀӄӋӞӢӧӮӵԡԯԶՒ՝ՠեG;䅊H耻\xd0䃐cute耻\xc9䃉ƀaiyӒӗӜron;䄚rc耻\xca䃊;䐭ot;䄖r;쀀\ud835\udd08rave耻\xc8䃈ement;戈ĀapӺӾcr;䄒tyɓԆ\0\0ԒmallSquare;旻erySmallSquare;斫ĀgpԦԪon;䄘f;쀀\ud835\udd3csilon;䎕uĀaiԼՉlĀ;TՂՃ橵ilde;扂librium;懌Āci՚r;愰m;橳a;䎗ml耻\xcb䃋Āipժկsts;戃onentialE;慇ʀcfiosօֈ֍ֲy;䐤r;쀀\ud835\udd09lledɓ֗\0\0֣mallSquare;旼erySmallSquare;斪Ͱֺ\0ֿ\0\0ׄf;쀀\ud835\udd3dAll;戀riertrf;愱c\xf2JTabcdfgorstרׯؒؖ؛؝أ٬ٲcy;䐃耻>䀾mmaĀ;d䎓;䏜reve;䄞ƀeiy؇،ؐdil;䄢rc;䄜;䐓ot;䄠r;쀀\ud835\udd0a;拙pf;쀀\ud835\udd3eeater̀EFGLSTصلَٖٛ٦qualĀ;Lؾؿ扥ess;招ullEqual;执reater;檢ess;扷lantEqual;橾ilde;扳cr;쀀\ud835\udca2;扫ЀAacfiosuڅڋږڛڞڪھۊRDcy;䐪Āctڐڔek;䋇;䁞irc;䄤r;愌lbertSpace;愋ǰگ\0ڲf;愍izontalLine;攀Āctۃۅ\xf2کrok;䄦mpńېۘownHum\xf0įqual;扏܀EJOacdfgmnostuۺ۾܃܇ܚܞܡܨ݄ݸދޏޕcy;䐕lig;䄲cy;䐁cute耻\xcd䃍Āiyܓܘrc耻\xce䃎;䐘ot;䄰r;愑rave耻\xcc䃌ƀ;apܠܯܿĀcgܴܷr;䄪inaryI;慈lie\xf3ϝǴ݉\0ݢĀ;eݍݎ戬Āgrݓݘral;戫section;拂isibleĀCTݬݲomma;恣imes;恢ƀgptݿރވon;䄮f;쀀\ud835\udd40a;䎙cr;愐ilde;䄨ǫޚ\0ޞcy;䐆l耻\xcf䃏ʀcfosuެ߂ߐĀiyޱrc;䄴;䐙r;쀀\ud835\udd0dpf;쀀\ud835\udd41ǣ߇\0ߌr;쀀\ud835\udca5rcy;䐈kcy;䐄HJacfosߤߨ߽߬߱ࠂࠈcy;䐥cy;䐌ppa;䎚Āey߶dil;䄶;䐚r;쀀\ud835\udd0epf;쀀\ud835\udd42cr;쀀\ud835\udca6րJTaceflmostࠥࠩࠬࡐࡣসে্ੇcy;䐉耻<䀼ʀcmnpr࠷࠼ࡁࡄࡍute;䄹bda;䎛g;柪lacetrf;愒r;憞ƀaeyࡗࡡron;䄽dil;䄻;䐛Āfsࡨ॰tԀACDFRTUVarࡾࢩࢱࣦ࣠ࣼयज़ΐ४ĀnrࢃgleBracket;柨rowƀ;BR࢙࢚࢞憐ar;懤ightArrow;懆eiling;挈oǵࢷ\0ࣃbleBracket;柦nǔࣈ\0࣒eeVector;楡ectorĀ;Bࣛࣜ懃ar;楙loor;挊ightĀAV࣯ࣵrrow;憔ector;楎Āerँगeƀ;AVउऊऐ抣rrow;憤ector;楚iangleƀ;BEतथऩ抲ar;槏qual;抴pƀDTVषूौownVector;楑eeVector;楠ectorĀ;Bॖॗ憿ar;楘ectorĀ;B॥०憼ar;楒ight\xe1Μs̀EFGLSTॾঋকঝঢভqualGreater;拚ullEqual;扦reater;扶ess;檡lantEqual;橽ilde;扲r;쀀\ud835\udd0fĀ;eঽা拘ftarrow;懚idot;䄿ƀnpwਖਛgȀLRlr৷ਂਐeftĀAR০৬rrow;柵ightArrow;柷ightArrow;柶eftĀarγਊight\xe1οight\xe1ϊf;쀀\ud835\udd43erĀLRਢਬeftArrow;憙ightArrow;憘ƀchtਾੀੂ\xf2ࡌ;憰rok;䅁;扪Ѐacefiosuਗ਼અઋp;椅y;䐜Ādl੯iumSpace;恟lintrf;愳r;쀀\ud835\udd10nusPlus;戓pf;쀀\ud835\udd44c\xf2੶;䎜ҀJacefostuણધભીଔଙඑඞcy;䐊cute;䅃ƀaeyહાron;䅇dil;䅅;䐝ƀgswે૰ativeƀMTV૨ediumSpace;怋hiĀcn૦\xeberyThi\xeetedĀGLଆreaterGreate\xf2ٳessLes\xf3ੈLine;䀊r;쀀\ud835\udd11ȀBnptଢନଷreak;恠BreakingSpace;䂠f;愕ڀ;CDEGHLNPRSTV୕ୖ୪௫ఄ಄ದൡඅ櫬Āoungruent;扢pCap;扭oubleVerticalBar;戦ƀlqxஃஊement;戉ualĀ;Tஒஓ扠ilde;쀀≂̸ists;戄reater;EFGLSTஶஷ扯qual;扱ullEqual;쀀≧̸reater;쀀≫̸ess;批lantEqual;쀀⩾̸ilde;扵umpń௲ownHump;쀀≎̸qual;쀀≏̸eĀfsఊధtTriangleƀ;BEచఛడ拪ar;쀀⧏̸qual;括s̀;EGLSTవశ఼ౄోౘ扮qual;扰reater;扸ess;쀀≪̸lantEqual;쀀⩽̸ilde;扴estedĀGL౨౹reaterGreater;쀀⪢̸essLess;쀀⪡̸recedesƀ;ESಒಓಛ技qual;쀀⪯̸lantEqual;拠ĀeiಫಹverseElement;戌ghtTriangleƀ;BEೋೌ拫ar;쀀⧐̸qual;拭ĀquೝഌuareSuĀbp೨setĀ;Eೳ쀀⊏̸qual;拢ersetĀ;Eഃആ쀀⊐̸qual;拣ƀbcpഓതൎsetĀ;Eഛഞ쀀⊂⃒qual;抈ceedsȀ;ESTലള഻െ抁qual;쀀⪰̸lantEqual;拡ilde;쀀≿̸ersetĀ;E൘൛쀀⊃⃒qual;抉ildeȀ;EFT൮൯൵ൿ扁qual;扄ullEqual;扇ilde;扉erticalBar;戤cr;쀀\ud835\udca9ilde耻\xd1䃑;䎝܀Eacdfgmoprstuvලෂෛ෧ขภยา฿ไlig;䅒cute耻\xd3䃓Āiyීrc耻\xd4䃔;䐞blac;䅐r;쀀\ud835\udd12rave耻\xd2䃒ƀaei෮ෲcr;䅌ga;䎩cron;䎟pf;쀀\ud835\udd46enCurlyĀDQฎบoubleQuote;怜uote;怘;橔Āclวฬr;쀀\ud835\udcaaash耻\xd8䃘iŬืde耻\xd5䃕es;樷ml耻\xd6䃖erĀBP๋Āar๐๓r;怾acĀek๚;揞et;掴arenthesis;揜ҀacfhilorsງຊຏຒດຝະrtialD;戂y;䐟r;쀀\ud835\udd13i;䎦;䎠usMinus;䂱Āipຢອncareplan\xe5ڝf;愙Ȁ;eio຺ູ檻cedesȀ;EST່້扺qual;檯lantEqual;扼ilde;找me;怳Ādpuct;戏ortionĀ;aȥl;戝Āci༁༆r;쀀\ud835\udcab;䎨ȀUfos༑༖༛༟OT耻"䀢r;쀀\ud835\udd14pf;愚cr;쀀\ud835\udcacBEacefhiorsu༾གྷཇའཱིྦྷྪྭ႖ႩႴႾarr;椐G耻\xae䂮ƀcnrཎནབute;䅔g;柫rĀ;tཛྷཝ憠l;椖ƀaeyཧཬཱron;䅘dil;䅖;䐠Ā;vླྀཹ愜erseĀEUྂྙĀlq྇ྎement;戋uilibrium;懋pEquilibrium;楯r\xbbཹo;䎡ghtЀACDFTUVa࿁ဢဨၛႇϘĀnr࿆࿒gleBracket;柩rowƀ;BL憒ar;懥eftArrow;懄eiling;按oǵ\0စbleBracket;柧nǔည\0နeeVector;楝ectorĀ;Bဝသ懂ar;楕loor;挋Āerိ၃eƀ;AVဵံြ抢rrow;憦ector;楛iangleƀ;BEၐၑၕ抳ar;槐qual;抵pƀDTVၣၮၸownVector;楏eeVector;楜ectorĀ;Bႂႃ憾ar;楔ectorĀ;B႑႒懀ar;楓Āpuႛ႞f;愝ndImplies;楰ightarrow;懛ĀchႹႼr;愛;憱leDelayed;槴ڀHOacfhimoqstuფჱჷჽᄙᄞᅑᅖᅡᅧᆵᆻᆿĀCcჩხHcy;䐩y;䐨FTcy;䐬cute;䅚ʀ;aeiyᄈᄉᄎᄓᄗ檼ron;䅠dil;䅞rc;䅜;䐡r;쀀\ud835\udd16ortȀDLRUᄪᄴᄾᅉownArrow\xbbОeftArrow\xbb࢚ightArrow\xbbpArrow;憑gma;䎣allCircle;战pf;쀀\ud835\udd4aɲᅭ\0\0ᅰt;戚areȀ;ISUᅻᅼᆉᆯ斡ntersection;抓uĀbpᆏᆞsetĀ;Eᆗᆘ抏qual;抑ersetĀ;Eᆨᆩ抐qual;抒nion;抔cr;쀀\ud835\udcaear;拆ȀbcmpᇈᇛሉላĀ;sᇍᇎ拐etĀ;Eᇍᇕqual;抆ĀchᇠህeedsȀ;ESTᇭᇮᇴᇿ扻qual;檰lantEqual;扽ilde;承Th\xe1ྌ;我ƀ;esሒሓሣ拑rsetĀ;Eሜም抃qual;抇et\xbbሓրHRSacfhiorsሾቄቕቱቶኟዂወዑORN耻\xde䃞ADE;愢ĀHcቒcy;䐋y;䐦Ābuቚቜ;䀉;䎤ƀaeyብቪቯron;䅤dil;䅢;䐢r;쀀\ud835\udd17ĀeiቻDzኀ\0ኇefore;戴a;䎘ĀcnኘkSpace;쀀 Space;怉ldeȀ;EFTካኬኲኼ戼qual;扃ullEqual;扅ilde;扈pf;쀀\ud835\udd4bipleDot;惛Āctዖዛr;쀀\ud835\udcafrok;䅦ૡዷጎጚጦ\0ጬጱ\0\0\0\0\0ጸጽ፷ᎅ\0ᐄᐊᐐĀcrዻጁute耻\xda䃚rĀ;oጇገ憟cir;楉rǣጓ\0y;䐎ve;䅬Āiyጞጣrc耻\xdb䃛;䐣blac;䅰r;쀀\ud835\udd18rave耻\xd9䃙acr;䅪Ādiፁ፩erĀBPፈ፝Āarፍፐr;䁟acĀekፗፙ;揟et;掵arenthesis;揝onĀ;P፰፱拃lus;抎Āgp፻on;䅲f;쀀\ud835\udd4cЀADETadps᎕ᎮᎸᏄϨᏒᏗᏳrrowƀ;BDᅐᎠᎤar;椒ownArrow;懅ownArrow;憕quilibrium;楮eeĀ;AᏋᏌ报rrow;憥own\xe1ϳerĀLRᏞᏨeftArrow;憖ightArrow;憗iĀ;lᏹᏺ䏒on;䎥ing;䅮cr;쀀\ud835\udcb0ilde;䅨ml耻\xdc䃜ҀDbcdefosvᐧᐬᐰᐳᐾᒅᒊᒐᒖash;披ar;櫫y;䐒ashĀ;lᐻᐼ抩;櫦Āerᑃᑅ;拁ƀbtyᑌᑐᑺar;怖Ā;iᑏᑕcalȀBLSTᑡᑥᑪᑴar;戣ine;䁼eparator;杘ilde;所ThinSpace;怊r;쀀\ud835\udd19pf;쀀\ud835\udd4dcr;쀀\ud835\udcb1dash;抪ʀcefosᒧᒬᒱᒶᒼirc;䅴dge;拀r;쀀\ud835\udd1apf;쀀\ud835\udd4ecr;쀀\ud835\udcb2Ȁfiosᓋᓐᓒᓘr;쀀\ud835\udd1b;䎞pf;쀀\ud835\udd4fcr;쀀\ud835\udcb3ҀAIUacfosuᓱᓵᓹᓽᔄᔏᔔᔚᔠcy;䐯cy;䐇cy;䐮cute耻\xdd䃝Āiyᔉᔍrc;䅶;䐫r;쀀\ud835\udd1cpf;쀀\ud835\udd50cr;쀀\ud835\udcb4ml;䅸ЀHacdefosᔵᔹᔿᕋᕏᕝᕠᕤcy;䐖cute;䅹Āayᕄᕉron;䅽;䐗ot;䅻Dzᕔ\0ᕛoWidt\xe8a;䎖r;愨pf;愤cr;쀀\ud835\udcb5ᖃᖊᖐ\0ᖰᖶᖿ\0\0\0\0ᗆᗛᗫᙟ᙭\0ᚕ᚛ᚲᚹ\0ᚾcute耻\xe1䃡reve;䄃̀;Ediuyᖜᖝᖡᖣᖨᖭ戾;쀀∾̳;房rc耻\xe2䃢te肻\xb4̆;䐰lig耻\xe6䃦Ā;r\xb2ᖺ;쀀\ud835\udd1erave耻\xe0䃠ĀepᗊᗖĀfpᗏᗔsym;愵\xe8ᗓha;䎱ĀapᗟcĀclᗤᗧr;䄁g;樿ɤᗰ\0\0ᘊʀ;adsvᗺᗻᗿᘁᘇ戧nd;橕;橜lope;橘;橚;elmrszᘘᘙᘛᘞᘿᙏᙙ戠;榤e\xbbᘙsdĀ;aᘥᘦ戡ѡᘰᘲᘴᘶᘸᘺᘼᘾ;榨;榩;榪;榫;榬;榭;榮;榯tĀ;vᙅᙆ戟bĀ;dᙌᙍ抾;榝Āptᙔᙗh;戢\xbb\xb9arr;捼Āgpᙣᙧon;䄅f;쀀\ud835\udd52;Eaeiopᙻᙽᚂᚄᚇᚊ;橰cir;橯;扊d;手s;䀧roxĀ;eᚒ\xf1ᚃing耻\xe5䃥ƀctyᚡᚦᚨr;쀀\ud835\udcb6;䀪mpĀ;eᚯ\xf1ʈilde耻\xe3䃣ml耻\xe4䃤Āciᛂᛈonin\xf4ɲnt;樑ࠀNabcdefiklnoprsu᛭ᛱᜰᝃᝈ០៦ᠹᡐᜍ᥈ᥰot;櫭ĀcrᛶkȀcepsᜀᜅᜍᜓong;扌psilon;䏶rime;怵imĀ;e戽q;拍Ŷᜢᜦee;抽edĀ;gᜬᜭ挅e\xbbᜭrkĀ;tbrk;掶Āoyᜁᝁ;䐱quo;怞ʀcmprtᝓᝡᝤᝨausĀ;eĊĉptyv;榰s\xe9ᜌno\xf5ēƀahwᝯᝳ;䎲;愶een;扬r;쀀\ud835\udd1fgcostuvwឍឝឳេ៕៛ƀaiuបពរ\xf0ݠrc;旯p\xbb፱ƀdptឤឨឭot;樀lus;樁imes;樂ɱឹ\0\0ើcup;樆ar;昅riangleĀdu៍្own;施p;斳plus;樄e\xe5ᑄ\xe5ᒭarow;植ƀakoᠦᠵĀcn៲ᠣkƀlst֫᠂ozenge;槫riangleȀ;dlr᠒᠓᠘斴own;斾eft;旂ight;斸k;搣Ʊᠫ\0ᠳƲᠯ\0ᠱ;斒;斑4;斓ck;斈ĀeoᠾᡍĀ;qᡃᡆ쀀=⃥uiv;쀀≡⃥t;挐Ȁptwxᡙᡞᡧᡬf;쀀\ud835\udd53Ā;tᏋᡣom\xbbᏌtie;拈DHUVbdhmptuvᢅᢖᢪᢻᣗᣛᣬᤅᤊᤐᤡȀLRlrᢎᢐᢒᢔ;敗;敔;敖;敓ʀ;DUduᢡᢢᢤᢦᢨ敐;敦;敩;敤;敧ȀLRlrᢳᢵᢷᢹ;敝;敚;敜;教;HLRhlrᣊᣋᣍᣏᣑᣓᣕ救;敬;散;敠;敫;敢;敟ox;槉ȀLRlrᣤᣦᣨᣪ;敕;敒;攐;攌ʀ;DUduڽ;敥;敨;攬;攴inus;抟lus;択imes;抠ȀLRlrᤙᤛᤝ;敛;敘;攘;攔;HLRhlrᤰᤱᤳᤵᤷ᤻᤹攂;敪;敡;敞;攼;攤;攜Āevģbar耻\xa6䂦Ȁceioᥑᥖᥚᥠr;쀀\ud835\udcb7mi;恏mĀ;elƀ;bhᥨᥩᥫ䁜;槅sub;柈ŬᥴlĀ;e怢t\xbbpƀ;Eeįᦅᦇ;檮Ā;qۜۛೡᦧ\0᧨ᨑᨕᨲ\0ᨷᩐ\0\0᪴\0\0᫁\0\0ᬡᬮ᭒\0᯽\0ᰌƀcprᦲute;䄇̀;abcdsᦿᧀᧄ᧕᧙戩nd;橄rcup;橉Āau᧒p;橋p;橇ot;橀;쀀∩︀Āeo᧢᧥t;恁\xeeړȀaeiu᧰᧻ᨁᨅǰ᧵\0᧸s;橍on;䄍dil耻\xe7䃧rc;䄉psĀ;sᨌᨍ橌m;橐ot;䄋ƀdmnᨛᨠᨦil肻\xb8ƭptyv;榲t脀\xa2;eᨭᨮ䂢r\xe4Ʋr;쀀\ud835\udd20ƀceiᨽᩀᩍy;䑇ckĀ;mᩇᩈ朓ark\xbbᩈ;䏇r;Ecefms᩠ᩢᩫ᪤᪪旋;槃ƀ;elᩩᩪᩭ䋆q;扗eɡᩴ\0\0᪈rrowĀlr᩼᪁eft;憺ight;憻ʀRSacd᪒᪔᪖\xbbཇ;擈st;抛irc;抚ash;抝nint;樐id;櫯cir;槂ubsĀ;u᪻᪼晣it\xbb᪼ˬ᫇\0ᬊonĀ;eᫍᫎ䀺Ā;q\xc7\xc6ɭ\0\0aĀ;t䀬;䁀ƀ;fl戁\xeeᅠeĀmxent\xbbe\xf3ɍǧ\0ᬇĀ;dኻᬂot;橭n\xf4Ɇƀfryᬐᬔᬗ;쀀\ud835\udd54o\xe4ɔ脀\xa9;sŕᬝr;愗Āaoᬥᬩrr;憵ss;朗Ācuᬲᬷr;쀀\ud835\udcb8Ābpᬼ᭄Ā;eᭁᭂ櫏;櫑Ā;eᭉᭊ櫐;櫒dot;拯delprvw᭠᭬᭷ᮂᮬᯔarrĀlr᭨᭪;椸;椵ɰ᭲\0\0᭵r;拞c;拟arrĀ;pᮀ憶;椽̀;bcdosᮏᮐᮖᮡᮥᮨ截rcap;橈Āauᮛᮞp;橆p;橊ot;抍r;橅;쀀∪︀Ȁalrv᮵ᮿᯞᯣrrĀ;mᮼᮽ憷;椼yƀevwᯇᯔᯘqɰᯎ\0\0ᯒre\xe3᭳u\xe3᭵ee;拎edge;拏en耻\xa4䂤earrowĀlrᯮ᯳eft\xbbᮀight\xbbᮽe\xe4ᯝĀciᰁᰇonin\xf4Ƿnt;戱lcty;挭ঀAHabcdefhijlorstuwz᰻᰿ᱝᱩᱵᲞᲬᲷᴍᵻᶑᶫᶻ᷆᷍r\xf2ar;楥Ȁglrs᱈ᱍ᱒᱔ger;怠eth;愸\xf2ᄳhĀ;vᱚᱛ怐\xbbऊūᱡᱧarow;椏a\xe3̕Āayᱮᱳron;䄏;䐴ƀ;ao̲ᱼᲄĀgrʿᲁr;懊tseq;橷ƀglmᲑᲔᲘ耻\xb0䂰ta;䎴ptyv;榱ĀirᲣᲨsht;楿;쀀\ud835\udd21arĀlrᲳᲵ\xbbࣜ\xbbသʀaegsv᳂᳖᳜᳠mƀ;oș᳔ndĀ;ș᳑uit;晦amma;䏝in;拲ƀ;io᳧᳨᳸䃷de脀\xf7;o᳧ᳰntimes;拇n\xf8᳷cy;䑒cɯᴆ\0\0ᴊrn;挞op;挍ʀlptuwᴘᴝᴢᵉᵕlar;䀤f;쀀\ud835\udd55ʀ;emps̋ᴭᴷᴽᵂqĀ;d͒ᴳot;扑inus;戸lus;戔quare;抡blebarwedg\xe5\xfanƀadhᄮᵝᵧownarrow\xf3ᲃarpoonĀlrᵲᵶef\xf4Ჴigh\xf4ᲶŢᵿᶅkaro\xf7གɯᶊ\0\0ᶎrn;挟op;挌ƀcotᶘᶣᶦĀryᶝᶡ;쀀\ud835\udcb9;䑕l;槶rok;䄑Ādrᶰᶴot;拱iĀ;fᶺ᠖斿Āah᷀᷃r\xf2Щa\xf2ྦangle;榦Āci᷒ᷕy;䑟grarr;柿ऀDacdefglmnopqrstuxḁḉḙḸոḼṉṡṾấắẽỡἪἷὄĀDoḆᴴo\xf4ĀcsḎḔute耻\xe9䃩ter;橮ȀaioyḢḧḱḶron;䄛rĀ;cḭḮ扖耻\xea䃪lon;払;䑍ot;䄗ĀDrṁṅot;扒;쀀\ud835\udd22ƀ;rsṐṑṗ檚ave耻\xe8䃨Ā;dṜṝ檖ot;檘Ȁ;ilsṪṫṲṴ檙nters;揧;愓Ā;dṹṺ檕ot;檗ƀapsẅẉẗcr;䄓tyƀ;svẒẓẕ戅et\xbbẓpĀ1;ẝẤijạả;怄;怅怃ĀgsẪẬ;䅋p;怂ĀgpẴẸon;䄙f;쀀\ud835\udd56ƀalsỄỎỒrĀ;sỊị拕l;槣us;橱iƀ;lvỚớở䎵on\xbbớ;䏵ȀcsuvỪỳἋἣĀioữḱrc\xbbḮɩỹ\0\0ỻ\xedՈantĀglἂἆtr\xbbṝess\xbbṺƀaeiἒἚls;䀽st;扟vĀ;DȵἠD;橸parsl;槥ĀDaἯἳot;打rr;楱ƀcdiἾὁỸr;愯o\xf4͒ĀahὉὋ;䎷耻\xf0䃰Āmrὓὗl耻\xeb䃫o;悬ƀcipὡὤὧl;䀡s\xf4ծĀeoὬὴctatio\xeeՙnential\xe5չৡᾒ\0ᾞ\0ᾡᾧ\0\0ῆῌ\0ΐ\0ῦῪ \0 ⁚llingdotse\xf1Ṅy;䑄male;晀ƀilrᾭᾳ῁lig;耀ffiɩᾹ\0\0᾽g;耀ffig;耀ffl;쀀\ud835\udd23lig;耀filig;쀀fjƀaltῙῡt;晭ig;耀flns;斱of;䆒ǰ΅\0ῳf;쀀\ud835\udd57ĀakֿῷĀ;vῼ´拔;櫙artint;樍Āao⁕Ācs‑⁒ႉ‸⁅⁈\0⁐β•‥‧\0耻\xbd䂽;慓耻\xbc䂼;慕;慙;慛Ƴ‴\0‶;慔;慖ʴ‾⁁\0\0⁃耻\xbe䂾;慗;慜5;慘ƶ⁌\0⁎;慚;慝8;慞l;恄wn;挢cr;쀀\ud835\udcbbࢀEabcdefgijlnorstv₂₉₥₰₴⃰℃ℒℸ̗ℾ⅒↞Ā;lٍ₇;檌ƀcmpₐₕute;䇵maĀ;dₜ᳚䎳;檆reve;䄟Āiy₪₮rc;䄝;䐳ot;䄡Ȁ;lqsؾق₽ƀ;qsؾٌlan\xf4٥Ȁ;cdl٥⃒⃥⃕c;檩otĀ;o⃜⃝檀Ā;l⃢⃣檂;檄Ā;e⃪⃭쀀⋛︀s;檔r;쀀\ud835\udd24Ā;gٳ؛mel;愷cy;䑓Ȁ;Eajٚℌℎℐ;檒;檥;檤ȀEaesℛℝ℩ℴ;扩pĀ;p℣ℤ檊rox\xbbℤĀ;q℮ℯ檈Ā;q℮ℛim;拧pf;쀀\ud835\udd58Āci⅃ⅆr;愊mƀ;el٫ⅎ⅐;檎;檐茀>;cdlqrⅠⅪⅮⅳⅹĀciⅥⅧ;檧r;橺ot;拗Par;榕uest;橼ʀadelsↄⅪ←ٖ↛ǰ↉\0pro\xf8r;楸qĀlqؿ↖les\xf3₈i\xed٫Āen↣↭rtneqq;쀀≩︀\xc5↪ԀAabcefkosy⇄⇇⇱⇵⇺∘∝∯≨≽r\xf2ΠȀilmr⇐⇔⇗⇛rs\xf0ᒄf\xbb․il\xf4کĀdr⇠⇤cy;䑊ƀ;cwࣴ⇫⇯ir;楈;憭ar;意irc;䄥ƀalr∁∎∓rtsĀ;u∉∊晥it\xbb∊lip;怦con;抹r;쀀\ud835\udd25sĀew∣∩arow;椥arow;椦ʀamopr∺∾≃≞≣rr;懿tht;戻kĀlr≉≓eftarrow;憩ightarrow;憪f;쀀\ud835\udd59bar;怕ƀclt≯≴≸r;쀀\ud835\udcbdas\xe8⇴rok;䄧Ābp⊂⊇ull;恃hen\xbbᱛૡ⊣\0⊪\0⊸⋅⋎\0⋕⋳\0\0⋸⌢⍧⍢⍿\0⎆⎪⎴cute耻\xed䃭ƀ;iyݱ⊰⊵rc耻\xee䃮;䐸Ācx⊼⊿y;䐵cl耻\xa1䂡ĀfrΟ⋉;쀀\ud835\udd26rave耻\xec䃬Ȁ;inoܾ⋝⋩⋮Āin⋢⋦nt;樌t;戭fin;槜ta;愩lig;䄳ƀaop⋾⌚⌝ƀcgt⌅⌈⌗r;䄫ƀelpܟ⌏⌓in\xe5ގar\xf4ܠh;䄱f;抷ed;䆵ʀ;cfotӴ⌬⌱⌽⍁are;愅inĀ;t⌸⌹戞ie;槝do\xf4⌙ʀ;celpݗ⍌⍐⍛⍡al;抺Āgr⍕⍙er\xf3ᕣ\xe3⍍arhk;樗rod;樼Ȁcgpt⍯⍲⍶⍻y;䑑on;䄯f;쀀\ud835\udd5aa;䎹uest耻\xbf䂿Āci⎊⎏r;쀀\ud835\udcbenʀ;EdsvӴ⎛⎝⎡ӳ;拹ot;拵Ā;v⎦⎧拴;拳Ā;iݷ⎮lde;䄩ǫ⎸\0⎼cy;䑖l耻\xef䃯̀cfmosu⏌⏗⏜⏡⏧⏵Āiy⏑⏕rc;䄵;䐹r;쀀\ud835\udd27ath;䈷pf;쀀\ud835\udd5bǣ⏬\0⏱r;쀀\ud835\udcbfrcy;䑘kcy;䑔Ѐacfghjos␋␖␢ppaĀ;v␓␔䎺;䏰Āey␛␠dil;䄷;䐺r;쀀\ud835\udd28reen;䄸cy;䑅cy;䑜pf;쀀\ud835\udd5ccr;쀀\ud835\udcc0ABEHabcdefghjlmnoprstuv⑰⒁⒆⒍⒑┎┽╚▀♎♞♥♹♽⚚⚲⛘❝❨➋⟀⠁⠒ƀart⑷⑺⑼r\xf2\xf2Εail;椛arr;椎Ā;gঔ⒋;檋ar;楢ॣ⒥\0⒪\0⒱\0\0\0\0\0⒵Ⓔ\0ⓆⓈⓍ\0⓹ute;䄺mptyv;榴ra\xeeࡌbda;䎻gƀ;dlࢎⓁⓃ;榑\xe5ࢎ;檅uo耻\xab䂫rЀ;bfhlpst࢙ⓞⓦⓩ⓫⓮⓱⓵Ā;f࢝ⓣs;椟s;椝\xeb≒p;憫l;椹im;楳l;憢ƀ;ae⓿─┄檫il;椙Ā;s┉┊檭;쀀⪭︀ƀabr┕┙┝rr;椌rk;杲Āak┢┬cĀek┨┪;䁻;䁛Āes┱┳;榋lĀdu┹┻;榏;榍Ȁaeuy╆╋╖╘ron;䄾Ādi═╔il;䄼\xecࢰ\xe2┩;䐻Ȁcqrs╣╦╭╽a;椶uoĀ;rนᝆĀdu╲╷har;楧shar;楋h;憲ʀ;fgqs▋▌উ◳◿扤tʀahlrt▘▤▷◂◨rrowĀ;t࢙□a\xe9⓶arpoonĀdu▯▴own\xbbњp\xbb०eftarrows;懇ightƀahs◍◖◞rrowĀ;sࣴࢧarpoon\xf3quigarro\xf7⇰hreetimes;拋ƀ;qs▋ও◺lan\xf4বʀ;cdgsব☊☍☝☨c;檨otĀ;o☔☕橿Ā;r☚☛檁;檃Ā;e☢☥쀀⋚︀s;檓ʀadegs☳☹☽♉♋ppro\xf8Ⓠot;拖qĀgq♃♅\xf4উgt\xf2⒌\xf4ছi\xedলƀilr♕࣡♚sht;楼;쀀\ud835\udd29Ā;Eজ♣;檑š♩♶rĀdu▲♮Ā;l॥♳;楪lk;斄cy;䑙ʀ;achtੈ⚈⚋⚑⚖r\xf2◁orne\xf2ᴈard;楫ri;旺Āio⚟⚤dot;䅀ustĀ;a⚬⚭掰che\xbb⚭ȀEaes⚻⚽⛉⛔;扨pĀ;p⛃⛄檉rox\xbb⛄Ā;q⛎⛏檇Ā;q⛎⚻im;拦Ѐabnoptwz⛩⛴⛷✚✯❁❇❐Ānr⛮⛱g;柬r;懽r\xebࣁgƀlmr⛿✍✔eftĀar০✇ight\xe1৲apsto;柼ight\xe1৽parrowĀlr✥✩ef\xf4⓭ight;憬ƀafl✶✹✽r;榅;쀀\ud835\udd5dus;樭imes;樴š❋❏st;戗\xe1ፎƀ;ef❗❘᠀旊nge\xbb❘arĀ;l❤❥䀨t;榓ʀachmt❳❶❼➅➇r\xf2ࢨorne\xf2ᶌarĀ;d➃;業;怎ri;抿̀achiqt➘➝ੀ➢➮➻quo;怹r;쀀\ud835\udcc1mƀ;egল➪➬;檍;檏Ābu┪➳oĀ;rฟ➹;怚rok;䅂萀<;cdhilqrࠫ⟒☹⟜⟠⟥⟪⟰Āci⟗⟙;檦r;橹re\xe5◲mes;拉arr;楶uest;橻ĀPi⟵⟹ar;榖ƀ;ef⠀भ旃rĀdu⠇⠍shar;楊har;楦Āen⠗⠡rtneqq;쀀≨︀\xc5⠞܀Dacdefhilnopsu⡀⡅⢂⢎⢓⢠⢥⢨⣚⣢⣤ઃ⣳⤂Dot;戺Ȁclpr⡎⡒⡣⡽r耻\xaf䂯Āet⡗⡙;時Ā;e⡞⡟朠se\xbb⡟Ā;sျ⡨toȀ;dluျ⡳⡷⡻ow\xeeҌef\xf4ए\xf0Ꮡker;斮Āoy⢇⢌mma;権;䐼ash;怔asuredangle\xbbᘦr;쀀\ud835\udd2ao;愧ƀcdn⢯⢴⣉ro耻\xb5䂵Ȁ;acdᑤ⢽⣀⣄s\xf4ᚧir;櫰ot肻\xb7Ƶusƀ;bd⣒ᤃ⣓戒Ā;uᴼ⣘;横ţ⣞⣡p;櫛\xf2−\xf0ઁĀdp⣩⣮els;抧f;쀀\ud835\udd5eĀct⣸⣽r;쀀\ud835\udcc2pos\xbbᖝƀ;lm⤉⤊⤍䎼timap;抸ఀGLRVabcdefghijlmoprstuvw⥂⥓⥾⦉⦘⧚⧩⨕⨚⩘⩝⪃⪕⪤⪨⬄⬇⭄⭿⮮ⰴⱧⱼ⳩Āgt⥇⥋;쀀⋙̸Ā;v⥐쀀≫⃒ƀelt⥚⥲⥶ftĀar⥡⥧rrow;懍ightarrow;懎;쀀⋘̸Ā;v⥻ే쀀≪⃒ightarrow;懏ĀDd⦎⦓ash;抯ash;抮ʀbcnpt⦣⦧⦬⦱⧌la\xbb˞ute;䅄g;쀀∠⃒ʀ;Eiop⦼⧀⧅⧈;쀀⩰̸d;쀀≋̸s;䅉ro\xf8urĀ;a⧓⧔普lĀ;s⧓ସdz⧟\0⧣p肻\xa0ଷmpĀ;e௹ఀʀaeouy⧴⧾⨃⨐⨓ǰ⧹\0⧻;橃on;䅈dil;䅆ngĀ;dൾ⨊ot;쀀⩭̸p;橂;䐽ash;怓;Aadqsxஒ⨩⨭⨻⩁⩅⩐rr;懗rĀhr⨳⨶k;椤Ā;oᏲᏰot;쀀≐̸ui\xf6ୣĀei⩊⩎ar;椨\xedistĀ;sடr;쀀\ud835\udd2bȀEest⩦⩹⩼ƀ;qs⩭ƀ;qs⩴lan\xf4i\xed௪Ā;rஶ⪁\xbbஷƀAap⪊⪍⪑r\xf2⥱rr;憮ar;櫲ƀ;svྍ⪜ྌĀ;d⪡⪢拼;拺cy;䑚AEadest⪷⪺⪾⫂⫅⫶⫹r\xf2⥦;쀀≦̸rr;憚r;急Ȁ;fqs⫎⫣⫯tĀar⫔⫙rro\xf7⫁ightarro\xf7⪐ƀ;qs⪺⫪lan\xf4ౕĀ;sౕ⫴\xbbశi\xedౝĀ;rవ⫾iĀ;eచథi\xe4ඐĀpt⬌⬑f;쀀\ud835\udd5f膀\xac;in⬙⬚⬶䂬nȀ;Edvஉ⬤⬨⬮;쀀⋹̸ot;쀀⋵̸ǡஉ⬳⬵;拷;拶iĀ;vಸ⬼ǡಸ⭁⭃;拾;拽ƀaor⭋⭣⭩rȀ;ast⭕⭚⭟lle\xecl;쀀⫽⃥;쀀∂̸lint;樔ƀ;ceಒ⭰⭳u\xe5ಥĀ;cಘ⭸Ā;eಒ⭽\xf1ಘȀAait⮈⮋⮝⮧r\xf2⦈rrƀ;cw⮔⮕⮙憛;쀀⤳̸;쀀↝̸ghtarrow\xbb⮕riĀ;eೋೖchimpqu⮽⯍⯙⬄⯤⯯Ȁ;cerല⯆ഷ⯉u\xe5;쀀\ud835\udcc3ortɭ⬅\0\0⯖ar\xe1⭖mĀ;e൮⯟Ā;q൴൳suĀbp⯫⯭\xe5\xe5ഋƀbcp⯶ⰑⰙȀ;Ees⯿ⰀഢⰄ抄;쀀⫅̸etĀ;eഛⰋqĀ;qണⰀcĀ;eലⰗ\xf1സȀ;EesⰢⰣൟⰧ抅;쀀⫆̸etĀ;e൘ⰮqĀ;qൠⰣȀgilrⰽⰿⱅⱇ\xecௗlde耻\xf1䃱\xe7ృiangleĀlrⱒⱜeftĀ;eచⱚ\xf1దightĀ;eೋⱥ\xf1Ā;mⱬⱭ䎽ƀ;esⱴⱵⱹ䀣ro;愖p;怇ҀDHadgilrsⲏⲔⲙⲞⲣⲰⲶⳓⳣash;抭arr;椄p;쀀≍⃒ash;抬ĀetⲨⲬ;쀀≥⃒;쀀>⃒nfin;槞ƀAetⲽⳁⳅrr;椂;쀀≤⃒Ā;rⳊⳍ쀀<⃒ie;쀀⊴⃒ĀAtⳘⳜrr;椃rie;쀀⊵⃒im;쀀∼⃒ƀAan⳰ⴂrr;懖rĀhr⳺⳽k;椣Ā;oᏧᏥear;椧ቓ᪕\0\0\0\0\0\0\0\0\0\0\0\0\0ⴭ\0ⴸⵈⵠⵥⶄᬇ\0\0ⶍⶫ\0ⷈⷎ\0ⷜ⸙⸫⸾⹃Ācsⴱ᪗ute耻\xf3䃳ĀiyⴼⵅrĀ;cⵂ耻\xf4䃴;䐾ʀabios᪠ⵒⵗLjⵚlac;䅑v;樸old;榼lig;䅓Ācrir;榿;쀀\ud835\udd2cͯ\0\0\0ⶂn;䋛ave耻\xf2䃲;槁Ābmⶈ෴ar;榵Ȁacitⶕⶥⶨr\xf2᪀Āirⶠr;榾oss;榻n\xe5๒;槀ƀaeiⶱⶵⶹcr;䅍ga;䏉ƀcdnⷀⷅǍron;䎿;榶pf;쀀\ud835\udd60ƀaelⷔǒr;榷rp;榹;adiosvⷪⷫⷮ⸈⸍⸐⸖戨r\xf2᪆Ȁ;efmⷷⷸ⸂⸅橝rĀ;oⷾⷿ愴f\xbbⷿ耻\xaa䂪耻\xba䂺gof;抶r;橖lope;橗;橛ƀclo⸟⸡⸧\xf2⸁ash耻\xf8䃸l;折iŬⸯ⸴de耻\xf5䃵esĀ;aǛ⸺s;樶ml耻\xf6䃶bar;挽ૡ\0\0⺀⺝\0⺢⺹\0\0⻋ຜ\0⼓\0\0⼫⾼\0⿈rȀ;astЃ脀\xb6;l䂶le\xecЃɩ\0\0m;櫳;櫽y;䐿rʀcimpt⺋⺏⺓ᡥ⺗nt;䀥od;䀮il;怰enk;怱r;쀀\ud835\udd2dƀimo⺨⺰⺴Ā;v⺭⺮䏆;䏕ma\xf4੶ne;明ƀ;tv⺿⻀⻈䏀chfork\xbb´;䏖Āau⻏⻟nĀck⻕⻝kĀ;h⇴⻛;愎\xf6⇴sҀ;abcdemst⻳ᤈ⼄⼆⼊⼎䀫cir;樣ir;樢Āouᵀ⼂;樥;橲n肻\xb1ຝim;樦wo;樧ƀipu⼙⼠⼥ntint;樕f;쀀\ud835\udd61nd耻\xa3䂣Ԁ;Eaceinosu່⼿⽁⽄⽇⾁⾉⾒⽾⾶;檳p;檷u\xe5໙Ā;c໎⽌̀;acens່⽙⽟⽦⽨⽾ppro\xf8⽃urlye\xf1໙\xf1໎ƀaes⽯⽶⽺pprox;檹qq;檵im;拨i\xedໟmeĀ;s⾈ຮ怲ƀEas⽸⾐⽺\xf0⽵ƀdfp⾙⾯ƀals⾠⾥⾪lar;挮ine;挒urf;挓Ā;t⾴\xefrel;抰Āci⿀⿅r;쀀\ud835\udcc5;䏈ncsp;怈̀fiopsu⋢⿱r;쀀\ud835\udd2epf;쀀\ud835\udd62rime;恗cr;쀀\ud835\udcc6ƀaeo⿸〉〓tĀei々rnion\xf3ڰnt;樖stĀ;e【】䀿\xf1Ἑ\xf4༔ABHabcdefhilmnoprstuxけさすムㄎㄫㅇㅢㅲㆎ㈆㈕㈤㈩㉘㉮㉲㊐㊰㊷ƀartぇおがr\xf2Ⴓ\xf2ϝail;検ar\xf2ᱥar;楤cdenqrtとふへみわゔヌĀeuねぱ;쀀∽̱te;䅕i\xe3ᅮmptyv;榳gȀ;del࿑らるろ;榒;榥\xe5࿑uo耻\xbb䂻rր;abcfhlpstwガクシスゼゾダッデナp;極Ā;fゴs;椠;椳s;椞\xeb≝\xf0✮l;楅im;楴l;憣;憝Āaiパフil;椚oĀ;nホボ戶al\xf3༞ƀabrョリヮr\xf2៥rk;杳ĀakンヽcĀekヹ・;䁽;䁝Āes;榌lĀduㄊㄌ;榎;榐Ȁaeuyㄗㄜㄧㄩron;䅙Ādiㄡㄥil;䅗\xec\xe2ヺ;䑀Ȁclqsㄴㄷㄽㅄa;椷dhar;楩uoĀ;rȎȍh;憳ƀacgㅎㅟངlȀ;ipsླྀㅘㅛႜn\xe5Ⴛar\xf4ྩt;断ƀilrㅩဣㅮsht;楽;쀀\ud835\udd2fĀaoㅷㆆrĀduㅽㅿ\xbbѻĀ;l႑ㆄ;楬Ā;vㆋㆌ䏁;䏱ƀgns㆕ㇹㇼht̀ahlrstㆤㆰ㇂㇘rrowĀ;tㆭa\xe9トarpoonĀduㆻㆿow\xeeㅾp\xbb႒eftĀah㇊㇐rrow\xf3arpoon\xf3Ցightarrows;應quigarro\xf7ニhreetimes;拌g;䋚ingdotse\xf1ἲƀahm㈍㈐㈓r\xf2a\xf2Ց;怏oustĀ;a㈞掱che\xbbmid;櫮Ȁabpt㈲㈽㉀㉒Ānr㈷㈺g;柭r;懾r\xebဃƀafl㉇㉊㉎r;榆;쀀\ud835\udd63us;樮imes;樵Āap㉝㉧rĀ;g㉣㉤䀩t;榔olint;樒ar\xf2㇣Ȁachq㉻㊀Ⴜ㊅quo;怺r;쀀\ud835\udcc7Ābu・㊊oĀ;rȔȓƀhir㊗㊛㊠re\xe5ㇸmes;拊iȀ;efl㊪ၙᠡ㊫方tri;槎luhar;楨;愞ൡ㋕㋛㋟㌬㌸㍱\0㍺㎤\0\0㏬㏰\0㐨㑈㑚㒭㒱㓊㓱\0㘖\0\0㘳cute;䅛qu\xef➺Ԁ;Eaceinpsyᇭ㋳㋵㋿㌂㌋㌏㌟㌦㌩;檴ǰ㋺\0㋼;檸on;䅡u\xe5ᇾĀ;dᇳ㌇il;䅟rc;䅝ƀEas㌖㌘㌛;檶p;檺im;择olint;樓i\xedሄ;䑁otƀ;be㌴ᵇ㌵担;橦Aacmstx㍆㍊㍗㍛㍞㍣㍭rr;懘rĀhr㍐㍒\xeb∨Ā;oਸ਼t耻\xa7䂧i;䀻war;椩mĀin㍩\xf0nu\xf3\xf1t;朶rĀ;o㍶⁕쀀\ud835\udd30Ȁacoy㎂㎆㎑㎠rp;景Āhy㎋㎏cy;䑉;䑈rtɭ㎙\0\0㎜i\xe4ᑤara\xec耻\xad䂭Āgm㎨㎴maƀ;fv㎱㎲㎲䏃;䏂Ѐ;deglnprካ㏅㏉㏎㏖㏞㏡㏦ot;橪Ā;qኰĀ;E㏓㏔檞;檠Ā;E㏛㏜檝;檟e;扆lus;樤arr;楲ar\xf2ᄽȀaeit㏸㐈㐏㐗Āls㏽㐄lsetm\xe9㍪hp;樳parsl;槤Ādlᑣ㐔e;挣Ā;e㐜㐝檪Ā;s㐢㐣檬;쀀⪬︀ƀflp㐮㐳㑂tcy;䑌Ā;b㐸㐹䀯Ā;a㐾㐿槄r;挿f;쀀\ud835\udd64aĀdr㑍ЂesĀ;u㑔㑕晠it\xbb㑕ƀcsu㑠㑹㒟Āau㑥㑯pĀ;sᆈ㑫;쀀⊓︀pĀ;sᆴ㑵;쀀⊔︀uĀbp㑿㒏ƀ;esᆗᆜ㒆etĀ;eᆗ㒍\xf1ᆝƀ;esᆨᆭ㒖etĀ;eᆨ㒝\xf1ᆮƀ;afᅻ㒦ְrť㒫ֱ\xbbᅼar\xf2ᅈȀcemt㒹㒾㓂㓅r;쀀\ud835\udcc8tm\xee\xf1i\xec㐕ar\xe6ᆾĀar㓎㓕rĀ;f㓔ឿ昆Āan㓚㓭ightĀep㓣㓪psilo\xeeỠh\xe9⺯s\xbb⡒ʀbcmnp㓻㕞ሉ㖋㖎Ҁ;Edemnprs㔎㔏㔑㔕㔞㔣㔬㔱㔶抂;櫅ot;檽Ā;dᇚ㔚ot;櫃ult;櫁ĀEe㔨㔪;櫋;把lus;檿arr;楹ƀeiu㔽㕒㕕tƀ;en㔎㕅㕋qĀ;qᇚ㔏eqĀ;q㔫㔨m;櫇Ābp㕚㕜;櫕;櫓c̀;acensᇭ㕬㕲㕹㕻㌦ppro\xf8㋺urlye\xf1ᇾ\xf1ᇳƀaes㖂㖈㌛ppro\xf8㌚q\xf1㌗g;晪ڀ123;Edehlmnps㖩㖬㖯ሜ㖲㖴㗀㗉㗕㗚㗟㗨㗭耻\xb9䂹耻\xb2䂲耻\xb3䂳;櫆Āos㖹㖼t;檾ub;櫘Ā;dሢ㗅ot;櫄sĀou㗏㗒l;柉b;櫗arr;楻ult;櫂ĀEe㗤㗦;櫌;抋lus;櫀ƀeiu㗴㘉㘌tƀ;enሜ㗼㘂qĀ;qሢ㖲eqĀ;q㗧㗤m;櫈Ābp㘑㘓;櫔;櫖ƀAan㘜㘠㘭rr;懙rĀhr㘦㘨\xeb∮Ā;oਫwar;椪lig耻\xdf䃟㙑㙝㙠ዎ㙳㙹\0㙾㛂\0\0\0\0\0㛛㜃\0㜉㝬\0\0\0㞇ɲ㙖\0\0㙛get;挖;䏄r\xebƀaey㙦㙫㙰ron;䅥dil;䅣;䑂lrec;挕r;쀀\ud835\udd31Ȁeiko㚆㚝㚵㚼Dz㚋\0㚑eĀ4fኄኁaƀ;sv㚘㚙㚛䎸ym;䏑Ācn㚢㚲kĀas㚨㚮ppro\xf8im\xbbኬs\xf0ኞĀas㚺㚮\xf0rn耻\xfe䃾Ǭ̟㛆⋧es膀\xd7;bd㛏㛐㛘䃗Ā;aᤏ㛕r;樱;樰ƀeps㛡㛣㜀\xe1⩍Ȁ;bcf҆㛬㛰㛴ot;挶ir;櫱Ā;o㛹㛼쀀\ud835\udd65rk;櫚\xe1㍢rime;怴ƀaip㜏㜒㝤d\xe5ቈadempst㜡㝍㝀㝑㝗㝜㝟ngleʀ;dlqr㜰㜱㜶㝀㝂斵own\xbbᶻeftĀ;e⠀㜾\xf1म;扜ightĀ;e㊪㝋\xf1ၚot;旬inus;樺lus;樹b;槍ime;樻ezium;揢ƀcht㝲㝽㞁Āry㝷㝻;쀀\ud835\udcc9;䑆cy;䑛rok;䅧Āio㞋㞎x\xf4headĀlr㞗㞠eftarro\xf7ࡏightarrow\xbbཝऀAHabcdfghlmoprstuw㟐㟓㟗㟤㟰㟼㠎㠜㠣㠴㡑㡝㡫㢩㣌㣒㣪㣶r\xf2ϭar;楣Ācr㟜㟢ute耻\xfa䃺\xf2ᅐrǣ㟪\0㟭y;䑞ve;䅭Āiy㟵㟺rc耻\xfb䃻;䑃ƀabh㠃㠆㠋r\xf2Ꭽlac;䅱a\xf2ᏃĀir㠓㠘sht;楾;쀀\ud835\udd32rave耻\xf9䃹š㠧㠱rĀlr㠬㠮\xbbॗ\xbbႃlk;斀Āct㠹㡍ɯ㠿\0\0㡊rnĀ;e㡅㡆挜r\xbb㡆op;挏ri;旸Āal㡖㡚cr;䅫肻\xa8͉Āgp㡢㡦on;䅳f;쀀\ud835\udd66̀adhlsuᅋ㡸㡽፲㢑㢠own\xe1ᎳarpoonĀlr㢈㢌ef\xf4㠭igh\xf4㠯iƀ;hl㢙㢚㢜䏅\xbbᏺon\xbb㢚parrows;懈ƀcit㢰㣄㣈ɯ㢶\0\0㣁rnĀ;e㢼㢽挝r\xbb㢽op;挎ng;䅯ri;旹cr;쀀\ud835\udccaƀdir㣙㣝㣢ot;拰lde;䅩iĀ;f㜰㣨\xbb᠓Āam㣯㣲r\xf2㢨l耻\xfc䃼angle;榧ހABDacdeflnoprsz㤜㤟㤩㤭㦵㦸㦽㧟㧤㧨㧳㧹㧽㨁㨠r\xf2ϷarĀ;v㤦㤧櫨;櫩as\xe8ϡĀnr㤲㤷grt;榜eknprst㓣㥆㥋㥒㥝㥤㦖app\xe1␕othin\xe7ẖƀhir㓫⻈㥙op\xf4⾵Ā;hᎷ㥢\xefㆍĀiu㥩㥭gm\xe1㎳Ābp㥲㦄setneqĀ;q㥽㦀쀀⊊︀;쀀⫋︀setneqĀ;q㦏㦒쀀⊋︀;쀀⫌︀Āhr㦛㦟et\xe1㚜iangleĀlr㦪㦯eft\xbbथight\xbbၑy;䐲ash\xbbံƀelr㧄㧒㧗ƀ;beⷪ㧋㧏ar;抻q;扚lip;拮Ābt㧜ᑨa\xf2ᑩr;쀀\ud835\udd33tr\xe9㦮suĀbp㧯㧱\xbbജ\xbb൙pf;쀀\ud835\udd67ro\xf0tr\xe9㦴Ācu㨆㨋r;쀀\ud835\udccbĀbp㨐㨘nĀEe㦀㨖\xbb㥾nĀEe㦒㨞\xbb㦐igzag;榚cefoprs㨶㨻㩖㩛㩔㩡㩪irc;䅵Ādi㩀㩑Ābg㩅㩉ar;機eĀ;qᗺ㩏;扙erp;愘r;쀀\ud835\udd34pf;쀀\ud835\udd68Ā;eᑹ㩦at\xe8ᑹcr;쀀\ud835\udcccૣណ㪇\0㪋\0㪐㪛\0\0㪝㪨㪫㪯\0\0㫃㫎\0㫘ៜtr\xe9៑r;쀀\ud835\udd35ĀAa㪔㪗r\xf2σr\xf2৶;䎾ĀAa㪡㪤r\xf2θr\xf2৫a\xf0✓is;拻ƀdptឤ㪵㪾Āfl㪺ឩ;쀀\ud835\udd69im\xe5ឲĀAa㫇㫊r\xf2ώr\xf2ਁĀcq㫒ីr;쀀\ud835\udccdĀpt៖㫜r\xe9។Ѐacefiosu㫰㫽㬈㬌㬑㬕㬛㬡cĀuy㫶㫻te耻\xfd䃽;䑏Āiy㬂㬆rc;䅷;䑋n耻\xa5䂥r;쀀\ud835\udd36cy;䑗pf;쀀\ud835\udd6acr;쀀\ud835\udcceĀcm㬦㬩y;䑎l耻\xff䃿Ԁacdefhiosw㭂㭈㭔㭘㭤㭩㭭㭴㭺㮀cute;䅺Āay㭍㭒ron;䅾;䐷ot;䅼Āet㭝㭡tr\xe6ᕟa;䎶r;쀀\ud835\udd37cy;䐶grarr;懝pf;쀀\ud835\udd6bcr;쀀\ud835\udccfĀjn㮅㮇;怍j;怌'.split("").map(e=>e.charCodeAt(0))),Y=new Uint16Array("Ȁaglq \x15\x18\x1bɭ\x0f\0\0\x12p;䀦os;䀧t;䀾t;䀼uot;䀢".split("").map(e=>e.charCodeAt(0))),K=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]),ee=null!==(i=String.fromCodePoint)&&void 0!==i?i:function(e){let a="";return e>65535&&(e-=65536,a+=String.fromCharCode(e>>>10&1023|55296),e=56320|1023&e),a+=String.fromCharCode(e)};function ea(e){var a;return e>=55296&&e<=57343||e>1114111?65533:null!==(a=K.get(e))&&void 0!==a?a:e}!function(e){e[e.NUM=35]="NUM",e[e.SEMI=59]="SEMI",e[e.EQUALS=61]="EQUALS",e[e.ZERO=48]="ZERO",e[e.NINE=57]="NINE",e[e.LOWER_A=97]="LOWER_A",e[e.LOWER_F=102]="LOWER_F",e[e.LOWER_X=120]="LOWER_X",e[e.LOWER_Z=122]="LOWER_Z",e[e.UPPER_A=65]="UPPER_A",e[e.UPPER_F=70]="UPPER_F",e[e.UPPER_Z=90]="UPPER_Z"}(s||(s={}));function et(e){return e>=s.ZERO&&e<=s.NINE}!function(e){e[e.VALUE_LENGTH=49152]="VALUE_LENGTH",e[e.BRANCH_LENGTH=16256]="BRANCH_LENGTH",e[e.JUMP_TABLE=127]="JUMP_TABLE"}(o||(o={}));!function(e){e[e.EntityStart=0]="EntityStart",e[e.NumericStart=1]="NumericStart",e[e.NumericDecimal=2]="NumericDecimal",e[e.NumericHex=3]="NumericHex",e[e.NamedEntity=4]="NamedEntity"}(n||(n={})),!function(e){e[e.Legacy=0]="Legacy",e[e.Strict=1]="Strict",e[e.Attribute=2]="Attribute"}(r||(r={}));class ei{constructor(e,a,t){this.decodeTree=e,this.emitCodePoint=a,this.errors=t,this.state=n.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=r.Strict}startEntity(e){this.decodeMode=e,this.state=n.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1}write(e,a){switch(this.state){case n.EntityStart:if(e.charCodeAt(a)===s.NUM)return this.state=n.NumericStart,this.consumed+=1,this.stateNumericStart(e,a+1);return this.state=n.NamedEntity,this.stateNamedEntity(e,a);case n.NumericStart:return this.stateNumericStart(e,a);case n.NumericDecimal:return this.stateNumericDecimal(e,a);case n.NumericHex:return this.stateNumericHex(e,a);case n.NamedEntity:return this.stateNamedEntity(e,a)}}stateNumericStart(e,a){return a>=e.length?-1:(32|e.charCodeAt(a))===s.LOWER_X?(this.state=n.NumericHex,this.consumed+=1,this.stateNumericHex(e,a+1)):(this.state=n.NumericDecimal,this.stateNumericDecimal(e,a))}addToNumericResult(e,a,t,i){if(a!==t){let s=t-a;this.result=this.result*Math.pow(i,s)+parseInt(e.substr(a,s),i),this.consumed+=s}}stateNumericHex(e,a){let t=a;for(;a=s.UPPER_A)||!(i<=s.UPPER_F))&&(!(i>=s.LOWER_A)||!(i<=s.LOWER_F)))return this.addToNumericResult(e,t,a,16),this.emitNumericEntity(o,3);a+=1}return this.addToNumericResult(e,t,a,16),-1}stateNumericDecimal(e,a){let t=a;for(;a>14;for(;a>7,n=a&o.JUMP_TABLE;if(0===s)return 0!==n&&i===n?t:-1;if(n){let a=i-n;return a<0||a>=s?-1:e[t+a]-1}let r=t,c=r+s-1;for(;r<=c;){let a=r+c>>>1,t=e[a];if(ti))return e[a+s];c=a-1}}return -1}(t,i,this.treeIndex+Math.max(1,n),c),this.treeIndex<0)return 0===this.result||this.decodeMode===r.Attribute&&(0===n||function(e){var a;return e===s.EQUALS||(a=e)>=s.UPPER_A&&a<=s.UPPER_Z||a>=s.LOWER_A&&a<=s.LOWER_Z||et(a)}(c))?0:this.emitNotTerminatedNamedEntity();if(0!=(n=((i=t[this.treeIndex])&o.VALUE_LENGTH)>>14)){if(c===s.SEMI)return this.emitNamedEntityData(this.treeIndex,n,this.consumed+this.excess);this.decodeMode!==r.Strict&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}}return -1}emitNotTerminatedNamedEntity(){var e;let{result:a,decodeTree:t}=this,i=(t[a]&o.VALUE_LENGTH)>>14;return this.emitNamedEntityData(a,i,this.consumed),null===(e=this.errors)||void 0===e||e.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(e,a,t){let{decodeTree:i}=this;return this.emitCodePoint(1===a?i[e]&~o.VALUE_LENGTH:i[e+1],t),3===a&&this.emitCodePoint(i[e+2],t),t}end(){var e;switch(this.state){case n.NamedEntity:return 0!==this.result&&(this.decodeMode!==r.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case n.NumericDecimal:return this.emitNumericEntity(0,2);case n.NumericHex:return this.emitNumericEntity(0,3);case n.NumericStart:return null===(e=this.errors)||void 0===e||e.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case n.EntityStart:return 0}}}function es(e){let a="",t=new ei(e,e=>a+=ee(e));return function(e,i){let s=0,o=0;for(;(o=e.indexOf("&",o))>=0;){a+=e.slice(s,o),t.startEntity(i);let n=t.write(e,o+1);if(n<0){s=o+t.end();break}s=o+n,o=0===n?s+1:s}let n=a+e.slice(s);return a="",n}}let eo=es(X),en=es(Y);function er(e){return e===c.Space||e===c.NewLine||e===c.Tab||e===c.FormFeed||e===c.CarriageReturn}function ec(e){return e===c.Slash||e===c.Gt||er(e)}!function(e){e[e.Tab=9]="Tab",e[e.NewLine=10]="NewLine",e[e.FormFeed=12]="FormFeed",e[e.CarriageReturn=13]="CarriageReturn",e[e.Space=32]="Space",e[e.ExclamationMark=33]="ExclamationMark",e[e.Number=35]="Number",e[e.Amp=38]="Amp",e[e.SingleQuote=39]="SingleQuote",e[e.DoubleQuote=34]="DoubleQuote",e[e.Dash=45]="Dash",e[e.Slash=47]="Slash",e[e.Zero=48]="Zero",e[e.Nine=57]="Nine",e[e.Semi=59]="Semi",e[e.Lt=60]="Lt",e[e.Eq=61]="Eq",e[e.Gt=62]="Gt",e[e.Questionmark=63]="Questionmark",e[e.UpperA=65]="UpperA",e[e.LowerA=97]="LowerA",e[e.UpperF=70]="UpperF",e[e.LowerF=102]="LowerF",e[e.UpperZ=90]="UpperZ",e[e.LowerZ=122]="LowerZ",e[e.LowerX=120]="LowerX",e[e.OpeningSquareBracket=91]="OpeningSquareBracket"}(c||(c={})),!function(e){e[e.Text=1]="Text",e[e.BeforeTagName=2]="BeforeTagName",e[e.InTagName=3]="InTagName",e[e.InSelfClosingTag=4]="InSelfClosingTag",e[e.BeforeClosingTagName=5]="BeforeClosingTagName",e[e.InClosingTagName=6]="InClosingTagName",e[e.AfterClosingTagName=7]="AfterClosingTagName",e[e.BeforeAttributeName=8]="BeforeAttributeName",e[e.InAttributeName=9]="InAttributeName",e[e.AfterAttributeName=10]="AfterAttributeName",e[e.BeforeAttributeValue=11]="BeforeAttributeValue",e[e.InAttributeValueDq=12]="InAttributeValueDq",e[e.InAttributeValueSq=13]="InAttributeValueSq",e[e.InAttributeValueNq=14]="InAttributeValueNq",e[e.BeforeDeclaration=15]="BeforeDeclaration",e[e.InDeclaration=16]="InDeclaration",e[e.InProcessingInstruction=17]="InProcessingInstruction",e[e.BeforeComment=18]="BeforeComment",e[e.CDATASequence=19]="CDATASequence",e[e.InSpecialComment=20]="InSpecialComment",e[e.InCommentLike=21]="InCommentLike",e[e.BeforeSpecialS=22]="BeforeSpecialS",e[e.BeforeSpecialT=23]="BeforeSpecialT",e[e.SpecialStartSequence=24]="SpecialStartSequence",e[e.InSpecialTag=25]="InSpecialTag",e[e.InEntity=26]="InEntity"}(l||(l={}));!function(e){e[e.NoValue=0]="NoValue",e[e.Unquoted=1]="Unquoted",e[e.Single=2]="Single",e[e.Double=3]="Double"}(u||(u={}));let el={Cdata:new Uint8Array([67,68,65,84,65,91]),CdataEnd:new Uint8Array([93,93,62]),CommentEnd:new Uint8Array([45,45,62]),ScriptEnd:new Uint8Array([60,47,115,99,114,105,112,116]),StyleEnd:new Uint8Array([60,47,115,116,121,108,101]),TitleEnd:new Uint8Array([60,47,116,105,116,108,101]),TextareaEnd:new Uint8Array([60,47,116,101,120,116,97,114,101,97])};class eu{constructor({xmlMode:e=!1,decodeEntities:a=!0},t){this.cbs=t,this.state=l.Text,this.buffer="",this.sectionStart=0,this.index=0,this.entityStart=0,this.baseState=l.Text,this.isSpecial=!1,this.running=!0,this.offset=0,this.currentSequence=void 0,this.sequenceIndex=0,this.xmlMode=e,this.decodeEntities=a,this.entityDecoder=new ei(e?Y:X,(e,a)=>this.emitCodePoint(e,a))}reset(){this.state=l.Text,this.buffer="",this.sectionStart=0,this.index=0,this.baseState=l.Text,this.currentSequence=void 0,this.running=!0,this.offset=0}write(e){this.offset+=this.buffer.length,this.buffer=e,this.parse()}end(){this.running&&this.finish()}pause(){this.running=!1}resume(){this.running=!0,this.indexthis.sectionStart&&this.cbs.ontext(this.sectionStart,this.index),this.state=l.BeforeTagName,this.sectionStart=this.index):this.decodeEntities&&e===c.Amp&&this.startEntity()}stateSpecialStartSequence(e){let a=this.sequenceIndex===this.currentSequence.length;if(a?ec(e):(32|e)===this.currentSequence[this.sequenceIndex]){if(!a){this.sequenceIndex++;return}}else this.isSpecial=!1;this.sequenceIndex=0,this.state=l.InTagName,this.stateInTagName(e)}stateInSpecialTag(e){if(this.sequenceIndex===this.currentSequence.length){if(e===c.Gt||er(e)){let a=this.index-this.currentSequence.length;if(this.sectionStart=c.LowerA&&a<=c.LowerZ||a>=c.UpperA&&a<=c.UpperZ}startSpecial(e,a){this.isSpecial=!0,this.currentSequence=e,this.sequenceIndex=a,this.state=l.SpecialStartSequence}stateBeforeTagName(e){if(e===c.ExclamationMark)this.state=l.BeforeDeclaration,this.sectionStart=this.index+1;else if(e===c.Questionmark)this.state=l.InProcessingInstruction,this.sectionStart=this.index+1;else if(this.isTagStartChar(e)){let a=32|e;this.sectionStart=this.index,this.xmlMode?this.state=l.InTagName:a===el.ScriptEnd[2]?this.state=l.BeforeSpecialS:a===el.TitleEnd[2]?this.state=l.BeforeSpecialT:this.state=l.InTagName}else e===c.Slash?this.state=l.BeforeClosingTagName:(this.state=l.Text,this.stateText(e))}stateInTagName(e){ec(e)&&(this.cbs.onopentagname(this.sectionStart,this.index),this.sectionStart=-1,this.state=l.BeforeAttributeName,this.stateBeforeAttributeName(e))}stateBeforeClosingTagName(e){er(e)||(e===c.Gt?this.state=l.Text:(this.state=this.isTagStartChar(e)?l.InClosingTagName:l.InSpecialComment,this.sectionStart=this.index))}stateInClosingTagName(e){(e===c.Gt||er(e))&&(this.cbs.onclosetag(this.sectionStart,this.index),this.sectionStart=-1,this.state=l.AfterClosingTagName,this.stateAfterClosingTagName(e))}stateAfterClosingTagName(e){(e===c.Gt||this.fastForwardTo(c.Gt))&&(this.state=l.Text,this.sectionStart=this.index+1)}stateBeforeAttributeName(e){e===c.Gt?(this.cbs.onopentagend(this.index),this.isSpecial?(this.state=l.InSpecialTag,this.sequenceIndex=0):this.state=l.Text,this.sectionStart=this.index+1):e===c.Slash?this.state=l.InSelfClosingTag:!er(e)&&(this.state=l.InAttributeName,this.sectionStart=this.index)}stateInSelfClosingTag(e){e===c.Gt?(this.cbs.onselfclosingtag(this.index),this.state=l.Text,this.sectionStart=this.index+1,this.isSpecial=!1):!er(e)&&(this.state=l.BeforeAttributeName,this.stateBeforeAttributeName(e))}stateInAttributeName(e){(e===c.Eq||ec(e))&&(this.cbs.onattribname(this.sectionStart,this.index),this.sectionStart=this.index,this.state=l.AfterAttributeName,this.stateAfterAttributeName(e))}stateAfterAttributeName(e){e===c.Eq?this.state=l.BeforeAttributeValue:e===c.Slash||e===c.Gt?(this.cbs.onattribend(u.NoValue,this.sectionStart),this.sectionStart=-1,this.state=l.BeforeAttributeName,this.stateBeforeAttributeName(e)):!er(e)&&(this.cbs.onattribend(u.NoValue,this.sectionStart),this.state=l.InAttributeName,this.sectionStart=this.index)}stateBeforeAttributeValue(e){e===c.DoubleQuote?(this.state=l.InAttributeValueDq,this.sectionStart=this.index+1):e===c.SingleQuote?(this.state=l.InAttributeValueSq,this.sectionStart=this.index+1):!er(e)&&(this.sectionStart=this.index,this.state=l.InAttributeValueNq,this.stateInAttributeValueNoQuotes(e))}handleInAttributeValue(e,a){e===a||!this.decodeEntities&&this.fastForwardTo(a)?(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=-1,this.cbs.onattribend(a===c.DoubleQuote?u.Double:u.Single,this.index+1),this.state=l.BeforeAttributeName):this.decodeEntities&&e===c.Amp&&this.startEntity()}stateInAttributeValueDoubleQuotes(e){this.handleInAttributeValue(e,c.DoubleQuote)}stateInAttributeValueSingleQuotes(e){this.handleInAttributeValue(e,c.SingleQuote)}stateInAttributeValueNoQuotes(e){er(e)||e===c.Gt?(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=-1,this.cbs.onattribend(u.Unquoted,this.index),this.state=l.BeforeAttributeName,this.stateBeforeAttributeName(e)):this.decodeEntities&&e===c.Amp&&this.startEntity()}stateBeforeDeclaration(e){e===c.OpeningSquareBracket?(this.state=l.CDATASequence,this.sequenceIndex=0):this.state=e===c.Dash?l.BeforeComment:l.InDeclaration}stateInDeclaration(e){(e===c.Gt||this.fastForwardTo(c.Gt))&&(this.cbs.ondeclaration(this.sectionStart,this.index),this.state=l.Text,this.sectionStart=this.index+1)}stateInProcessingInstruction(e){(e===c.Gt||this.fastForwardTo(c.Gt))&&(this.cbs.onprocessinginstruction(this.sectionStart,this.index),this.state=l.Text,this.sectionStart=this.index+1)}stateBeforeComment(e){e===c.Dash?(this.state=l.InCommentLike,this.currentSequence=el.CommentEnd,this.sequenceIndex=2,this.sectionStart=this.index+1):this.state=l.InDeclaration}stateInSpecialComment(e){(e===c.Gt||this.fastForwardTo(c.Gt))&&(this.cbs.oncomment(this.sectionStart,this.index,0),this.state=l.Text,this.sectionStart=this.index+1)}stateBeforeSpecialS(e){let a=32|e;a===el.ScriptEnd[3]?this.startSpecial(el.ScriptEnd,4):a===el.StyleEnd[3]?this.startSpecial(el.StyleEnd,4):(this.state=l.InTagName,this.stateInTagName(e))}stateBeforeSpecialT(e){let a=32|e;a===el.TitleEnd[3]?this.startSpecial(el.TitleEnd,4):a===el.TextareaEnd[3]?this.startSpecial(el.TextareaEnd,4):(this.state=l.InTagName,this.stateInTagName(e))}startEntity(){this.baseState=this.state,this.state=l.InEntity,this.entityStart=this.index,this.entityDecoder.startEntity(this.xmlMode?r.Strict:this.baseState===l.Text||this.baseState===l.InSpecialTag?r.Legacy:r.Attribute)}stateInEntity(){let e=this.entityDecoder.write(this.buffer,this.index-this.offset);e>=0?(this.state=this.baseState,0===e&&(this.index=this.entityStart)):this.index=this.offset+this.buffer.length-1}cleanup(){this.running&&this.sectionStart!==this.index&&(this.state===l.Text||this.state===l.InSpecialTag&&0===this.sequenceIndex?(this.cbs.ontext(this.sectionStart,this.index),this.sectionStart=this.index):(this.state===l.InAttributeValueDq||this.state===l.InAttributeValueSq||this.state===l.InAttributeValueNq)&&(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=this.index))}shouldContinue(){return this.index=e))this.state===l.InCommentLike?this.currentSequence===el.CdataEnd?this.cbs.oncdata(this.sectionStart,e,0):this.cbs.oncomment(this.sectionStart,e,0):this.state===l.InTagName||this.state===l.BeforeAttributeName||this.state===l.BeforeAttributeValue||this.state===l.AfterAttributeName||this.state===l.InAttributeName||this.state===l.InAttributeValueSq||this.state===l.InAttributeValueDq||this.state===l.InAttributeValueNq||this.state===l.InClosingTagName||this.cbs.ontext(this.sectionStart,e)}emitCodePoint(e,a){this.baseState!==l.Text&&this.baseState!==l.InSpecialTag?(this.sectionStart0&&o.has(this.stack[0]);){let e=this.stack.shift();null===(t=(a=this.cbs).onclosetag)||void 0===t||t.call(a,e,!0)}!this.isVoidElement(e)&&(this.stack.unshift(e),this.htmlMode&&(ef.has(e)?this.foreignContext.unshift(!0):ey.has(e)&&this.foreignContext.unshift(!1))),null===(s=(i=this.cbs).onopentagname)||void 0===s||s.call(i,e),this.cbs.onopentag&&(this.attribs={})}endOpenTag(e){var a,t;this.startIndex=this.openTagStart,this.attribs&&(null===(t=(a=this.cbs).onopentag)||void 0===t||t.call(a,this.tagname,this.attribs,e),this.attribs=null),this.cbs.onclosetag&&this.isVoidElement(this.tagname)&&this.cbs.onclosetag(this.tagname,!0),this.tagname=""}onopentagend(e){this.endIndex=e,this.endOpenTag(!1),this.startIndex=e+1}onclosetag(e,a){var t,i,s,o,n,r,c,l;this.endIndex=a;let u=this.getSlice(e,a);if(this.lowerCaseTagNames&&(u=u.toLowerCase()),this.htmlMode&&(ef.has(u)||ey.has(u))&&this.foreignContext.shift(),this.isVoidElement(u))this.htmlMode&&"br"===u&&(null===(o=(s=this.cbs).onopentagname)||void 0===o||o.call(s,"br"),null===(r=(n=this.cbs).onopentag)||void 0===r||r.call(n,"br",{},!0),null===(l=(c=this.cbs).onclosetag)||void 0===l||l.call(c,"br",!1));else{let e=this.stack.indexOf(u);if(-1!==e)for(let a=0;a<=e;a++){let s=this.stack.shift();null===(i=(t=this.cbs).onclosetag)||void 0===i||i.call(t,s,a!==e)}else this.htmlMode&&"p"===u&&(this.emitOpenTag("p"),this.closeCurrentTag(!0))}this.startIndex=a+1}onselfclosingtag(e){this.endIndex=e,this.recognizeSelfClosing||this.foreignContext[0]?(this.closeCurrentTag(!1),this.startIndex=e+1):this.onopentagend(e)}closeCurrentTag(e){var a,t;let i=this.tagname;this.endOpenTag(e),this.stack[0]===i&&(null===(t=(a=this.cbs).onclosetag)||void 0===t||t.call(a,i,!e),this.stack.shift())}onattribname(e,a){this.startIndex=e;let t=this.getSlice(e,a);this.attribname=this.lowerCaseAttributeNames?t.toLowerCase():t}onattribdata(e,a){this.attribvalue+=this.getSlice(e,a)}onattribentity(e){this.attribvalue+=ee(e)}onattribend(e,a){var t,i;this.endIndex=a,null===(i=(t=this.cbs).onattribute)||void 0===i||i.call(t,this.attribname,this.attribvalue,e===u.Double?'"':e===u.Single?"'":e===u.NoValue?void 0:null),this.attribs&&!Object.prototype.hasOwnProperty.call(this.attribs,this.attribname)&&(this.attribs[this.attribname]=this.attribvalue),this.attribvalue=""}getInstructionName(e){let a=e.search(ew),t=a<0?e:e.substr(0,a);return this.lowerCaseTagNames&&(t=t.toLowerCase()),t}ondeclaration(e,a){this.endIndex=a;let t=this.getSlice(e,a);if(this.cbs.onprocessinginstruction){let e=this.getInstructionName(t);this.cbs.onprocessinginstruction(`!${e}`,`!${t}`)}this.startIndex=a+1}onprocessinginstruction(e,a){this.endIndex=a;let t=this.getSlice(e,a);if(this.cbs.onprocessinginstruction){let e=this.getInstructionName(t);this.cbs.onprocessinginstruction(`?${e}`,`?${t}`)}this.startIndex=a+1}oncomment(e,a,t){var i,s,o,n;this.endIndex=a,null===(s=(i=this.cbs).oncomment)||void 0===s||s.call(i,this.getSlice(e,a-t)),null===(n=(o=this.cbs).oncommentend)||void 0===n||n.call(o),this.startIndex=a+1}oncdata(e,a,t){var i,s,o,n,r,c,l,u,d,m;this.endIndex=a;let h=this.getSlice(e,a-t);!this.htmlMode||this.options.recognizeCDATA?(null===(s=(i=this.cbs).oncdatastart)||void 0===s||s.call(i),null===(n=(o=this.cbs).ontext)||void 0===n||n.call(o,h),null===(c=(r=this.cbs).oncdataend)||void 0===c||c.call(r)):(null===(u=(l=this.cbs).oncomment)||void 0===u||u.call(l,`[CDATA[${h}]]`),null===(m=(d=this.cbs).oncommentend)||void 0===m||m.call(d)),this.startIndex=a+1}onend(){var e,a;if(this.cbs.onclosetag){this.endIndex=this.startIndex;for(let e=0;e=this.buffers[0].length;)this.shiftBuffer();let t=this.buffers[0].slice(e-this.bufferOffset,a-this.bufferOffset);for(;a-this.bufferOffset>this.buffers[0].length;)this.shiftBuffer(),t+=this.buffers[0].slice(0,a-this.bufferOffset);return t}shiftBuffer(){this.bufferOffset+=this.buffers[0].length,this.writeIndex--,this.buffers.shift()}write(e){var a,t;if(this.ended){null===(t=(a=this.cbs).onerror)||void 0===t||t.call(a,Error(".write() after done!"));return}this.buffers.push(e),this.tokenizer.running&&(this.tokenizer.write(e),this.writeIndex++)}end(e){var a,t;if(this.ended){null===(t=(a=this.cbs).onerror)||void 0===t||t.call(a,Error(".end() after done!"));return}e&&this.write(e),this.ended=!0,this.tokenizer.end()}pause(){this.tokenizer.pause()}resume(){for(this.tokenizer.resume();this.tokenizer.running&&this.writeIndex0?this.children[this.children.length-1]:null}get childNodes(){return this.children}set childNodes(e){this.children=e}}class eB extends eR{constructor(){super(...arguments),this.type=d.CDATA}get nodeType(){return 4}}class eM extends eR{constructor(){super(...arguments),this.type=d.Root}get nodeType(){return 9}}class eO extends eR{constructor(e,a,t=[],i="script"===e?d.Script:"style"===e?d.Style:d.Tag){super(t),this.name=e,this.attribs=a,this.type=i}get nodeType(){return 1}get tagName(){return this.name}set tagName(e){this.name=e}get attributes(){return Object.keys(this.attribs).map(e=>{var a,t;return{name:e,value:this.attribs[e],namespace:null===(a=this["x-attribsNamespace"])||void 0===a?void 0:a[e],prefix:null===(t=this["x-attribsPrefix"])||void 0===t?void 0:t[e]}})}}function e$(e,a=!1){let t;if(e.type===d.Text)t=new e_(e.data);else if(e.type===d.Comment)t=new eL(e.data);else{var i;if((i=e).type===d.Tag||i.type===d.Script||i.type===d.Style){let i=a?eU(e.children):[],s=new eO(e.name,{...e.attribs},i);i.forEach(e=>e.parent=s),null!=e.namespace&&(s.namespace=e.namespace),e["x-attribsNamespace"]&&(s["x-attribsNamespace"]={...e["x-attribsNamespace"]}),e["x-attribsPrefix"]&&(s["x-attribsPrefix"]={...e["x-attribsPrefix"]}),t=s}else{if(e.type===d.CDATA){let i=a?eU(e.children):[],s=new eB(i);i.forEach(e=>e.parent=s),t=s}else if(e.type===d.Root){let i=a?eU(e.children):[],s=new eM(i);i.forEach(e=>e.parent=s),e["x-mode"]&&(s["x-mode"]=e["x-mode"]),t=s}else{if(e.type===d.Directive){let a=new eD(e.name,e.data);null!=e["x-name"]&&(a["x-name"]=e["x-name"],a["x-publicId"]=e["x-publicId"],a["x-systemId"]=e["x-systemId"]),t=a}else throw Error(`Not implemented yet: ${e.type}`)}}}return t.startIndex=e.startIndex,t.endIndex=e.endIndex,null!=e.sourceCodeLocation&&(t.sourceCodeLocation=e.sourceCodeLocation),t}function eU(e){let a=e.map(e=>e$(e,!0));for(let e=1;e$\x80-\uFFFF]/g,eF=new Map([[34,"""],[38,"&"],[39,"'"],[60,"<"],[62,">"]]),eG=null!=String.prototype.codePointAt?(e,a)=>e.codePointAt(a):(e,a)=>(64512&e.charCodeAt(a))==55296?(e.charCodeAt(a)-55296)*1024+e.charCodeAt(a+1)-56320+65536:e.charCodeAt(a);function eH(e){let a,t="",i=0;for(;null!==(a=eW.exec(e));){let s=a.index,o=e.charCodeAt(s),n=eF.get(o);void 0!==n?(t+=e.substring(i,s)+n,i=s+1):(t+=`${e.substring(i,s)}${eG(e,s).toString(16)};`,i=eW.lastIndex+=Number((64512&o)==55296))}return t+e.substr(i)}function eQ(e,a){return function(t){let i;let s=0,o="";for(;i=e.exec(t);)s!==i.index&&(o+=t.substring(s,i.index)),o+=a.get(i[0].charCodeAt(0)),s=i.index+1;return o+t.substring(s)}}eQ(/[&<>'"]/g,eF);let eZ=eQ(/["&\u00A0]/g,new Map([[34,"""],[38,"&"],[160," "]])),eJ=eQ(/[&<>\u00A0]/g,new Map([[38,"&"],[60,"<"],[62,">"],[160," "]])),eX=/[\t\n!-,./:-@[-`\f{-}$\x80-\uFFFF]/g;function eY(e,a){let t,i="",s=0;for(;null!==(t=e.exec(a));){let o=t.index;i+=a.substring(s,o);let n=a.charCodeAt(o),r=htmlTrie.get(n);if("object"==typeof r){if(o+1[e.toLowerCase(),e])),e1=new Map(["definitionURL","attributeName","attributeType","baseFrequency","baseProfile","calcMode","clipPathUnits","diffuseConstant","edgeMode","filterUnits","glyphRef","gradientTransform","gradientUnits","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","lengthAdjust","limitingConeAngle","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","numOctaves","pathLength","patternContentUnits","patternTransform","patternUnits","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","specularConstant","specularExponent","spreadMethod","startOffset","stdDeviation","stitchTiles","surfaceScale","systemLanguage","tableValues","targetX","targetY","textLength","viewBox","viewTarget","xChannelSelector","yChannelSelector","zoomAndPan"].map(e=>[e.toLowerCase(),e])),e0=new Set(["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"]);function e3(e){return e.replace(/"/g,""")}let e2=new Set(["area","base","basefont","br","col","command","embed","frame","hr","img","input","isindex","keygen","link","meta","param","source","track","wbr"]);function e5(e,a={}){let t="length"in e?e:[e],i="";for(let e=0;e`}(e);case eS:return function(e){return``}(e);case eT:return function(e){return``}(e);case eq:case eA:case eE:return function(e,a){var t;"foreign"===a.xmlMode&&(e.name=null!==(t=eK.get(e.name))&&void 0!==t?t:e.name,e.parent&&e8.has(e.parent.name)&&(a={...a,xmlMode:!1})),!a.xmlMode&&e4.has(e.name)&&(a={...a,xmlMode:"foreign"});let i=`<${e.name}`,s=function(e,a){var t;if(!e)return;let i=(null!==(t=a.encodeEntities)&&void 0!==t?t:a.decodeEntities)===!1?e3:a.xmlMode||"utf8"!==a.encodeEntities?eH:eZ;return Object.keys(e).map(t=>{var s,o;let n=null!==(s=e[t])&&void 0!==s?s:"";return("foreign"===a.xmlMode&&(t=null!==(o=e1.get(t))&&void 0!==o?o:t),a.emptyAttrs||a.xmlMode||""!==n)?`${t}="${i(n)}"`:t}).join(" ")}(e.attribs,a);return s&&(i+=` ${s}`),0===e.children.length&&(a.xmlMode?!1!==a.selfClosingTags:a.selfClosingTags&&e2.has(e.name))?(!a.xmlMode&&(i+=" "),i+="/>"):(i+=">",e.children.length>0&&(i+=e5(e.children,a)),(a.xmlMode||!e2.has(e.name))&&(i+=`${e.name}>`)),i}(e,a);case ez:return function(e,a){var t;let i=e.data||"";return(null!==(t=a.encodeEntities)&&void 0!==t?t:a.decodeEntities)!==!1&&!(!a.xmlMode&&e.parent&&e0.has(e.parent.name))&&(i=a.xmlMode||"utf8"!==a.encodeEntities?eH(i):eJ(i)),i}(e,a)}}(t[e],a);return i}let e8=new Set(["mi","mo","mn","ms","mtext","annotation-xml","foreignObject","desc","title"]),e4=new Set(["svg","math"]);function e6(e){return Array.isArray(e)?e.map(e6).join(""):isTag(e)?"br"===e.name?"\n":e6(e.children):isCDATA(e)?e6(e.children):isText(e)?e.data:""}function e9(e){return Array.isArray(e)?e.map(e9).join(""):hasChildren(e)&&!isComment(e)?e9(e.children):isText(e)?e.data:""}function e7(e){return Array.isArray(e)?e.map(e7).join(""):hasChildren(e)&&(e.type===ElementType.Tag||isCDATA(e))?e7(e.children):isText(e)?e.data:""}function ae(e,a){return"function"==typeof a?t=>isTag(t)&&a(t.attribs[e]):t=>isTag(t)&&t.attribs[e]===a}function aa(e,a){return t=>e(t)||a(t)}function at(e){let a=Object.keys(e).map(a=>{let t=e[a];return Object.prototype.hasOwnProperty.call(null,a)?null[a](t):ae(a,t)});return 0===a.length?null:a.reduce(aa)}!function(e){e[e.DISCONNECTED=1]="DISCONNECTED",e[e.PRECEDING=2]="PRECEDING",e[e.FOLLOWING=4]="FOLLOWING",e[e.CONTAINS=8]="CONTAINS",e[e.CONTAINED_BY=16]="CONTAINED_BY"}(g||(g={}));function ai(e){return getElementsByTagName("media:content",e).map(e=>{let{attribs:a}=e,t={medium:a.medium,isDefault:!!a.isDefault};for(let e of null)a[e]&&(t[e]=a[e]);for(let e of null)a[e]&&(t[e]=parseInt(a[e],10));return a.expression&&(t.expression=a.expression),t})}function as(e,a){return getElementsByTagName(e,a,!0,1)[0]}function ao(e,a,t=!1){return textContent(getElementsByTagName(e,a,t,1)).trim()}function an(e,a,t,i,s=!1){let o=ao(t,i,s);o&&(e[a]=o)}function ar(e){return"rss"===e||"feed"===e||"rdf:RDF"===e}let ac=new TextEncoder;function al(e,a,t,i=!1){let s=new eP((e,a)=>a),o=new ev(s);o.write(e),o.end(),function e(a,t,i){if("base"===a.name&&void 0!==a.attribs.href&&(i.base=new URL(a.attribs.href,i.origin)),a.attribs){for(let e of au)for(let s in e){let o=e[s.toLowerCase()];if("function"!=typeof o&&("*"===o||o.includes(a.name))&&void 0!==a.attribs[s]){let o=a.attribs[s],n=e.fn(o,i,t);null===n?delete a.attribs[s]:a.attribs[s]=n,a.attribs[`scramjet-attr-${s}`]=o}}for(let[e,t]of Object.entries(a.attribs))ah.includes(e)&&(a.attribs[`scramjet-attr-${e}`]=t,a.attribs[e]=W(t,`(inline ${e} on element)`,i))}if("style"===a.name&&void 0!==a.children[0]&&(a.children[0].data=Z(a.children[0].data,i)),"script"===a.name&&/(application|text)\/javascript|module|importmap|undefined/.test(a.attribs.type)&&void 0!==a.children[0]){let e=a.children[0].data;a.attribs["scramjet-attr-script-source-src"]=am(ac.encode(e));e=e.replace(//g,""),a.children[0].data=W(e,"(inline script element)",i)}if("meta"===a.name&&void 0!==a.attribs["http-equiv"]){if("content-security-policy"===a.attribs["http-equiv"].toLowerCase())a={};else if("refresh"===a.attribs["http-equiv"]&&a.attribs.content.includes("url")){let e=a.attribs.content.split("url=");e[1]&&(e[1]=H(e[1].trim(),i)),a.attribs.content=e.join("url=")}}if(a.childNodes)for(let s in a.childNodes)a.childNodes[s]=e(a.childNodes[s],t,i);return a}(s.root,a,t);if(i){let e=function e(a){if(a.type===eE&&"head"===a.name)return a;if(a.childNodes)for(let t of a.childNodes){let a=e(t);if(a)return a}return null}(s.root);!e&&(e=new eO("head",{},[]),s.root.children.unshift(e));let t=JSON.stringify(a.dump()),i=`
self.COOKIE = ${t};
self.$scramjet.config = ${JSON.stringify(x.config)};
if ("document" in self && document?.currentScript) {
document.currentScript.remove();
}
- `,o=e=>new eR("script",{src:e});e.children.unshift(o(x.config.files.wasm),o(x.config.files.shared),o("data:application/javascript;base64,"+btoa(i)),o(x.config.files.client))}return e0(s.root)}let an=[{fn:(e,a)=>F(e,a),src:["embed","script","img","image","iframe","source","input","track"],href:["a","link","area","use"],data:["object"],action:["form"],formaction:["button","input","textarea","submit"],poster:["video"],"xlink:href":["image"]},{fn:(e,a)=>e.startsWith("blob:")?P(e):F(e,a),src:["video","audio"]},{fn:()=>null,nonce:"*",integrity:["script","link"],csp:["iframe"],credentialless:["iframe"]},{fn:(e,a)=>ar(e,a),srcset:["img","source"],imagesrcset:["link"]},{fn:(e,a,t)=>ao(e,t,{origin:new URL(a.origin.origin),base:new URL(a.origin.origin)},!0),srcdoc:["iframe"]},{fn:(e,a)=>G(e,a),style:"*"},{fn:e=>{if(["_parent","_top","_unfencedTop"].includes(e))return"_self"},target:["a","base"]}];function ar(e,a){let t=e.split(/ [0-9]+x,? ?/g);if(!t)return"";let i=e.match(/ [0-9]+x,? ?/g);return i?t.map((e,t)=>{if(e&&i[t])return F(e,a)+i[t]}).join(""):""}let ac=["cross-origin-embedder-policy","cross-origin-opener-policy","cross-origin-resource-policy","content-security-policy","content-security-policy-report-only","expect-ct","feature-policy","origin-isolation","strict-transport-security","upgrade-insecure-requests","x-content-type-options","x-download-options","x-frame-options","x-permitted-cross-domain-policies","x-powered-by","x-xss-protection","clear-site-data"],al=["location","content-location","referer"];function au(e,a){return e.replace(/<(.*)>/gi,e=>F(e,a))}var ad=v(1762).Z;let am=globalThis.fetch,ah=globalThis.SharedWorker,ag=globalThis.localStorage,ap=globalThis.navigator.serviceWorker,ab=MessagePort.prototype.postMessage,af={prototype:{send:WebSocket.prototype.send},CLOSED:WebSocket.CLOSED,CLOSING:WebSocket.CLOSING,CONNECTING:WebSocket.CONNECTING,OPEN:WebSocket.OPEN};async function ak(){let e=Promise.race([Promise.any((await self.clients.matchAll({type:"window",includeUncontrolled:!0})).map(async e=>{var a;let t;let i=await (a=e,t=new MessageChannel,new Promise(e=>{a.postMessage({type:"getPort",port:t.port2},[t.port2]),t.port1.onmessage=a=>{e(a.data)}}));return await ay(i),i})),new Promise((e,a)=>setTimeout(a,1e3,TypeError("timeout")))]);try{return await e}catch(e){if(e instanceof AggregateError)throw console.error("bare-mux: failed to get a bare-mux SharedWorker MessagePort as all clients returned an invalid MessagePort."),Error("All clients returned an invalid MessagePort.");return console.warn("bare-mux: failed to get a bare-mux SharedWorker MessagePort within 1s, retrying"),await ak()}}function ay(e){let a=new MessageChannel,t=new Promise((e,t)=>{a.port1.onmessage=a=>{"pong"===a.data.type&&e()},setTimeout(t,1500)});return ab.call(e,{message:{type:"ping"},port:a.port2},[a.port2]),t}function aw(e,a){let t=new ah(e,"bare-mux-worker");return a&&ap.addEventListener("message",a=>{if("getPort"===a.data.type&&a.data.port){console.debug("bare-mux: recieved request for port from sw");let t=new ah(e,"bare-mux-worker");ab.call(a.data.port,t.port,[t.port])}}),t.port}let av=null;class ax{constructor(e){this.channel=new BroadcastChannel("bare-mux"),e instanceof MessagePort||e instanceof Promise?this.port=e:this.createChannel(e,!0)}createChannel(e,a){if(self.clients)this.port=ak(),this.channel.onmessage=e=>{"refreshPort"===e.data.type&&(this.port=ak())};else if(e&&SharedWorker){if(!e.startsWith("/")&&!e.includes("://"))throw Error("Invalid URL. Must be absolute or start at the root.");this.port=aw(e,a),console.debug("bare-mux: setting localStorage bare-mux-path to",e),ag["bare-mux-path"]=e}else{if(!SharedWorker)throw Error("Unable to get a channel to the SharedWorker.");{let e=ag["bare-mux-path"];if(console.debug("bare-mux: got localStorage bare-mux-path:",e),!e)throw Error("Unable to get bare-mux workerPath from localStorage.");this.port=aw(e,a)}}}async sendMessage(e,a){this.port instanceof Promise&&(this.port=await this.port);try{await ay(this.port)}catch{return console.warn("bare-mux: Failed to get a ping response from the worker within 1.5s. Assuming port is dead."),this.createChannel(),await this.sendMessage(e,a)}let t=new MessageChannel,i=[t.port2,...a||[]],s=new Promise((e,a)=>{t.port1.onmessage=t=>{let i=t.data;"error"===i.type?a(i.error):e(i)}});return ab.call(this.port,{message:e,port:t.port2},i),await s}}class az extends EventTarget{constructor(e,a=[],t,i){super(),this.protocols=a,this.readyState=af.CONNECTING,this.url=e.toString(),this.protocols=a;let s=e=>{this.protocols=e,this.readyState=af.OPEN;let a=new Event("open");this.dispatchEvent(a)},o=async e=>{let a=new MessageEvent("message",{data:e});this.dispatchEvent(a)},n=(e,a)=>{this.readyState=af.CLOSED;let t=new CloseEvent("close",{code:e,reason:a});this.dispatchEvent(t)},r=()=>{this.readyState=af.CLOSED;let e=new Event("error");this.dispatchEvent(e)};this.channel=new MessageChannel,this.channel.port1.onmessage=e=>{"open"===e.data.type?s(e.data.args[0]):"message"===e.data.type?o(e.data.args[0]):"close"===e.data.type?n(e.data.args[0],e.data.args[1]):"error"===e.data.type&&r()},t.sendMessage({type:"websocket",websocket:{url:e.toString(),origin:origin,protocols:a,requestHeaders:i,channel:this.channel.port2}},[this.channel.port2])}send(...e){if(this.readyState===af.CONNECTING)throw new DOMException("Failed to execute 'send' on 'WebSocket': Still in CONNECTING state.");let a=e[0];a.buffer&&(a=a.buffer.slice(a.byteOffset,a.byteOffset+a.byteLength)),ab.call(this.channel.port1,{type:"data",data:a},a instanceof ArrayBuffer?[a]:[])}close(e,a){ab.call(this.channel.port1,{type:"close",closeCode:e,closeReason:a})}}function aj(e,a,t){console.error(`error while processing '${t}': `,a),e.postMessage({type:"error",error:a})}let aS=["ws:","wss:"],aq=[101,204,205,304],aA=[301,302,303,307,308];console.debug("bare-mux: running v2.1.3 (build 83330ed)");let aE=(e,a)=>{let t=e.slice(),i=[],s=a;for(;0!==t.length;){let e=t.pop(),a=e.toLowerCase();if(s.children.has("*")){if(s.children.has("!"+a))break;s=s.children.get("*")}else{if(!1===s.children.has(a))break;s=s.children.get(a)}i.unshift(e)}return i},a_="[a-fA-F\\d:]",aT=e=>e&&e.includeBoundaries?`(?:(?<=\\s|^)(?=${a_})|(?<=${a_})(?=\\s|$))`:"",aI="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",aN="[a-fA-F\\d]{1,4}",aC=`
+ `,o=e=>new eO("script",{src:e}),n=am(ac.encode(i));e.children.unshift(o(x.config.files.wasm),o(x.config.files.shared),o("data:application/javascript;base64,"+n),o(x.config.files.client))}return e5(s.root)}let au=[{fn:(e,a)=>H(e,a),src:["embed","script","img","iframe","frame","source","input","track"],href:["a","link","area","use","image"],data:["object"],action:["form"],formaction:["button","input","textarea","submit"],poster:["video"],"xlink:href":["image"]},{fn:(e,a)=>e.startsWith("blob:")?G(e):H(e,a),src:["video","audio"]},{fn:()=>"",integrity:["script","link"]},{fn:()=>null,nonce:"*",csp:["iframe"],credentialless:["iframe"]},{fn:(e,a)=>ad(e,a),srcset:["img","source"],imagesrcset:["link"]},{fn:(e,a,t)=>al(e,t,{origin:new URL(a.origin.origin),base:new URL(a.origin.origin)},!0),srcdoc:["iframe"]},{fn:(e,a)=>Z(e,a),style:"*"},{fn:e=>{if(["_parent","_top","_unfencedTop"].includes(e))return"_self"},target:["a","base"]}];function ad(e,a){return e.split(",").map(e=>e.trim()).map(e=>{let[t,...i]=e.split(/\s+/),s=H(t.trim(),a);return i.length>0?`${s} ${i.join(" ")}`:s}).join(", ")}function am(e){return btoa(Array.from(e,e=>String.fromCodePoint(e)).join(""))}let ah=["onbeforexrselect","onabort","onbeforeinput","onbeforematch","onbeforetoggle","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontentvisibilityautostatechange","oncontextlost","oncontextmenu","oncontextrestored","oncuechange","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","onformdata","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onmousedown","onmouseenter","onmouseleave","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onpause","onplay","onplaying","onprogress","onratechange","onreset","onresize","onscroll","onsecuritypolicyviolation","onseeked","onseeking","onselect","onslotchange","onstalled","onsubmit","onsuspend","ontimeupdate","ontoggle","onvolumechange","onwaiting","onwebkitanimationend","onwebkitanimationiteration","onwebkitanimationstart","onwebkittransitionend","onwheel","onauxclick","ongotpointercapture","onlostpointercapture","onpointerdown","onpointermove","onpointerrawupdate","onpointerup","onpointercancel","onpointerover","onpointerout","onpointerenter","onpointerleave","onselectstart","onselectionchange","onanimationend","onanimationiteration","onanimationstart","ontransitionrun","ontransitionstart","ontransitionend","ontransitioncancel","oncopy","oncut","onpaste","onscrollend","onscrollsnapchange","onscrollsnapchanging"],ag=["cross-origin-embedder-policy","cross-origin-opener-policy","cross-origin-resource-policy","content-security-policy","content-security-policy-report-only","expect-ct","feature-policy","origin-isolation","strict-transport-security","upgrade-insecure-requests","x-content-type-options","x-download-options","x-frame-options","x-permitted-cross-domain-policies","x-powered-by","x-xss-protection","clear-site-data"],ap=["location","content-location","referer"];function ab(e,a){return e.replace(/<(.*)>/gi,e=>H(e,a))}let ak=globalThis.fetch,af=globalThis.SharedWorker,ay=globalThis.localStorage,aw=globalThis.navigator.serviceWorker,av=MessagePort.prototype.postMessage,ax={prototype:{send:WebSocket.prototype.send},CLOSED:WebSocket.CLOSED,CLOSING:WebSocket.CLOSING,CONNECTING:WebSocket.CONNECTING,OPEN:WebSocket.OPEN};async function az(){let e=Promise.race([Promise.any((await self.clients.matchAll({type:"window",includeUncontrolled:!0})).map(async e=>{var a;let t;let i=await (a=e,t=new MessageChannel,new Promise(e=>{a.postMessage({type:"getPort",port:t.port2},[t.port2]),t.port1.onmessage=a=>{e(a.data)}}));return await aj(i),i})),new Promise((e,a)=>setTimeout(a,1e3,TypeError("timeout")))]);try{return await e}catch(e){if(e instanceof AggregateError)throw console.error("bare-mux: failed to get a bare-mux SharedWorker MessagePort as all clients returned an invalid MessagePort."),Error("All clients returned an invalid MessagePort.");return console.warn("bare-mux: failed to get a bare-mux SharedWorker MessagePort within 1s, retrying"),await az()}}function aj(e){let a=new MessageChannel,t=new Promise((e,t)=>{a.port1.onmessage=a=>{"pong"===a.data.type&&e()},setTimeout(t,1500)});return av.call(e,{message:{type:"ping"},port:a.port2},[a.port2]),t}function aS(e,a){let t=new af(e,"bare-mux-worker");return a&&aw.addEventListener("message",a=>{if("getPort"===a.data.type&&a.data.port){console.debug("bare-mux: recieved request for port from sw");let t=new af(e,"bare-mux-worker");av.call(a.data.port,t.port,[t.port])}}),t.port}let aq=null;class aA{constructor(e){this.channel=new BroadcastChannel("bare-mux"),e instanceof MessagePort||e instanceof Promise?this.port=e:this.createChannel(e,!0)}createChannel(e,a){if(self.clients)this.port=az(),this.channel.onmessage=e=>{"refreshPort"===e.data.type&&(this.port=az())};else if(e&&SharedWorker){if(!e.startsWith("/")&&!e.includes("://"))throw Error("Invalid URL. Must be absolute or start at the root.");this.port=aS(e,a),console.debug("bare-mux: setting localStorage bare-mux-path to",e),ay["bare-mux-path"]=e}else{if(!SharedWorker)throw Error("Unable to get a channel to the SharedWorker.");{let e=ay["bare-mux-path"];if(console.debug("bare-mux: got localStorage bare-mux-path:",e),!e)throw Error("Unable to get bare-mux workerPath from localStorage.");this.port=aS(e,a)}}}async sendMessage(e,a){this.port instanceof Promise&&(this.port=await this.port);try{await aj(this.port)}catch{return console.warn("bare-mux: Failed to get a ping response from the worker within 1.5s. Assuming port is dead."),this.createChannel(),await this.sendMessage(e,a)}let t=new MessageChannel,i=[t.port2,...a||[]],s=new Promise((e,a)=>{t.port1.onmessage=t=>{let i=t.data;"error"===i.type?a(i.error):e(i)}});return av.call(this.port,{message:e,port:t.port2},i),await s}}class aE extends EventTarget{constructor(e,a=[],t,i){super(),this.protocols=a,this.readyState=ax.CONNECTING,this.url=e.toString(),this.protocols=a;let s=e=>{this.protocols=e,this.readyState=ax.OPEN;let a=new Event("open");this.dispatchEvent(a)},o=async e=>{let a=new MessageEvent("message",{data:e});this.dispatchEvent(a)},n=(e,a)=>{this.readyState=ax.CLOSED;let t=new CloseEvent("close",{code:e,reason:a});this.dispatchEvent(t)},r=()=>{this.readyState=ax.CLOSED;let e=new Event("error");this.dispatchEvent(e)};this.channel=new MessageChannel,this.channel.port1.onmessage=e=>{"open"===e.data.type?s(e.data.args[0]):"message"===e.data.type?o(e.data.args[0]):"close"===e.data.type?n(e.data.args[0],e.data.args[1]):"error"===e.data.type&&r()},t.sendMessage({type:"websocket",websocket:{url:e.toString(),protocols:a,requestHeaders:i,channel:this.channel.port2}},[this.channel.port2])}send(...e){if(this.readyState===ax.CONNECTING)throw new DOMException("Failed to execute 'send' on 'WebSocket': Still in CONNECTING state.");let a=e[0];a.buffer&&(a=a.buffer.slice(a.byteOffset,a.byteOffset+a.byteLength)),av.call(this.channel.port1,{type:"data",data:a},a instanceof ArrayBuffer?[a]:[])}close(e,a){av.call(this.channel.port1,{type:"close",closeCode:e,closeReason:a})}}function aT(e,a,t){console.error(`error while processing '${t}': `,a),e.postMessage({type:"error",error:a})}let aI=["ws:","wss:"],aN=[101,204,205,304],aC=[301,302,303,307,308];console.debug("bare-mux: running v2.1.7 (build c56d286)");let a_=(e,a)=>{let t=e.slice(),i=[],s=a;for(;0!==t.length;){let e=t.pop(),a=e.toLowerCase();if(s.children.has("*")){if(s.children.has("!"+a))break;s=s.children.get("*")}else{if(!1===s.children.has(a))break;s=s.children.get(a)}i.unshift(e)}return i},aL="[a-fA-F\\d:]",aD=e=>e&&e.includeBoundaries?`(?:(?<=\\s|^)(?=${aL})|(?<=${aL})(?=\\s|$))`:"",aR="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",aB="[a-fA-F\\d]{1,4}",aM=`
(?:
-(?:${aN}:){7}(?:${aN}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
-(?:${aN}:){6}(?:${aI}|:${aN}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4
-(?:${aN}:){5}(?::${aI}|(?::${aN}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4
-(?:${aN}:){4}(?:(?::${aN}){0,1}:${aI}|(?::${aN}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4
-(?:${aN}:){3}(?:(?::${aN}){0,2}:${aI}|(?::${aN}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4
-(?:${aN}:){2}(?:(?::${aN}){0,3}:${aI}|(?::${aN}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4
-(?:${aN}:){1}(?:(?::${aN}){0,4}:${aI}|(?::${aN}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
-(?::(?:(?::${aN}){0,5}:${aI}|(?::${aN}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4
+(?:${aB}:){7}(?:${aB}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
+(?:${aB}:){6}(?:${aR}|:${aB}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4
+(?:${aB}:){5}(?::${aR}|(?::${aB}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4
+(?:${aB}:){4}(?:(?::${aB}){0,1}:${aR}|(?::${aB}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4
+(?:${aB}:){3}(?:(?::${aB}){0,2}:${aR}|(?::${aB}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4
+(?:${aB}:){2}(?:(?::${aB}){0,3}:${aR}|(?::${aB}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4
+(?:${aB}:){1}(?:(?::${aB}){0,4}:${aR}|(?::${aB}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
+(?::(?:(?::${aB}){0,5}:${aR}|(?::${aB}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4
)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1
-`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),aL=RegExp(`(?:^${aI}$)|(?:^${aC}$)`),aD=RegExp(`^${aI}$`),aR=RegExp(`^${aC}$`),aM=e=>e&&e.exact?aL:RegExp(`(?:${aT(e)}${aI}${aT(e)})|(?:${aT(e)}${aC}${aT(e)})`,"g");aM.v4=e=>e&&e.exact?aD:RegExp(`${aT(e)}${aI}${aT(e)}`,"g"),aM.v6=e=>e&&e.exact?aR:RegExp(`${aT(e)}${aC}${aT(e)}`,"g");let{toString:aB}=Object.prototype,a$={global:"g",ignoreCase:"i",multiline:"m",dotAll:"s",sticky:"y",unicode:"u"},aO=e=>({match:e[0],index:e.index,groups:e.slice(1),namedGroups:e.groups??{},input:e.input});function aU(e,a,{timeout:t}={}){try{return(function(e){let a=(...a)=>e(...a);return Object.defineProperty(a,"name",{value:`functionTimeout(${e.name||""})`,configurable:!0}),a})(()=>(function(e,a={}){var t;if(t=e,"[object RegExp]"!==aB.call(t))throw TypeError("Expected a RegExp instance");let i=Object.keys(a$).map(t=>("boolean"==typeof a[t]?a[t]:e[t])?a$[t]:"").join(""),s=new RegExp(a.source||e.source,i);return s.lastIndex="number"==typeof a.lastIndex?a.lastIndex:e.lastIndex,s})(e).test(a),{timeout:t})()}catch(e){throw e}}let aV={timeout:400},aP=new TextEncoder;!function(e){e.Lax="LAX",e.Strict="STRICT"}(p||(p={})),!function(e){e.NoHostname="NO_HOSTNAME",e.DomainMaxLength="DOMAIN_MAX_LENGTH",e.LabelMinLength="LABEL_MIN_LENGTH",e.LabelMaxLength="LABEL_MAX_LENGTH",e.LabelInvalidCharacter="LABEL_INVALID_CHARACTER",e.LastLabelInvalid="LAST_LABEL_INVALID"}(b||(b={})),!function(e){e.ValidIp="VALID_IP",e.ValidDomain="VALID_DOMAIN",e.Error="ERROR"}(f||(f={}));let aF=e=>({type:b.NoHostname,message:`The given input ${String(e)} does not look like a hostname.`,column:1}),aW=(e,a)=>({type:b.DomainMaxLength,message:`Domain "${e}" is too long. Domain is ${a} octets long but should not be longer than 253.`,column:a}),aG=(e,a)=>{let t=e.length;return{type:b.LabelMinLength,message:`Label "${e}" is too short. Label is ${t} octets long but should be at least 1.`,column:a}},aH=(e,a)=>{let t=e.length;return{type:b.LabelMaxLength,message:`Label "${e}" is too long. Label is ${t} octets long but should not be longer than 63.`,column:a}},aQ=(e,a,t)=>({type:b.LabelInvalidCharacter,message:`Label "${e}" contains invalid character "${a}" at column ${t}.`,column:t}),aZ=(e,a)=>({type:b.LabelInvalidCharacter,message:`Last label "${e}" must not be all-numeric.`,column:a}),aJ=(e,a={})=>{if("string"!=typeof e)return{type:f.Error,errors:[aF(e)]};if(""===e)return{type:f.ValidDomain,domain:e,labels:[]};let t=e.replace(/^\[|]$/g,""),i=function(e){var a,t;if(!((a=e).length>45)&&aU(aM.v6({exact:!0}),a,aV))return 6;if(!((t=e).length>15)&&aU(aM.v4({exact:!0}),t,aV))return 4}(t);if(void 0!==i)return{type:f.ValidIp,ip:t,ipVersion:i};let s="."===e.charAt(e.length-1)?e.slice(0,-1):e,o=new TextEncoder().encode(s);if(o.length>253)return{type:f.Error,errors:[aW(e,o.length)]};let n=s.split("."),{validation:r=p.Strict}=a,c=aX[r](n);return c.length>0?{type:f.Error,errors:c}:{type:f.ValidDomain,domain:e,labels:n}},aX={[p.Lax]:e=>{let a=[],t=1;for(let i of e){let e=aP.encode(i);e.length<1?a.push(aG(i,t)):e.length>63&&a.push(aH(i,t)),t+=i.length+1}return a},[p.Strict]:e=>{let a;let t=[],i=1;for(let s of e){let e=/[^\da-z-]/i.exec(s);e&&t.push(aQ(s,e[0],e.index+1)),s.startsWith("-")?t.push(aQ(s,"-",i)):s.endsWith("-")&&t.push(aQ(s,"-",i+s.length-1)),s.length<1?t.push(aG(s,i)):s.length>63&&t.push(aH(s,i)),i+=s.length+1,a=s}return void 0!==a&&!1===/[a-z-]/iu.test(a)&&t.push(aZ(a,i-a.length-1)),t}},aY=Symbol("ROOT"),aK=Symbol("CHILD"),a1=()=>({type:aY,children:new Map}),a0=(e,a)=>{let t=e.children.get(a);return void 0===t&&(t={type:aK,label:a,children:new Map,parent:e},e.children.set(a,t)),t},a3=e=>{let a=a1(),t="",i=a,s=a,o=()=>{s=a0(i,t),t=""};for(let n=0;n":o(),i=s;continue;case"|":o(),i=a;continue;case"<":if(i.type===aY)throw Error(`Error in serialized trie at position ${n}: Cannot go up, current parent node is already root`);o(),i=i.parent;continue}t+=r}return""!==t&&o(),a},a2=["localhost","local","example","invalid","test"];!function(e){e.Invalid="INVALID",e.Ip="IP",e.Reserved="RESERVED",e.NotListed="NOT_LISTED",e.Listed="LISTED"}(k||(k={}));let a5=(e,a)=>a>=0&&a({subDomains:e.slice(0,Math.max(0,a)),domain:a5(e,a),topLevelDomains:e.slice(a+1)});var a4=v("8213"),a6=v.n(a4);x.shared={util:{parseDomain:(e,i)=>{let s=aJ(e,i);if(s.type===f.Error)return{type:k.Invalid,hostname:e,errors:s.errors};if(s.type===f.ValidIp)return{type:k.Ip,hostname:s.ip,ipVersion:s.ipVersion};let{labels:o,domain:n}=s;if(""===e||a2.includes(o[o.length-1]))return{type:k.Reserved,hostname:n,labels:o};a=null!=a?a:a3("ac>com,edu,gov,net,mil,orgnomco,net,org,sch,ac,gov,milairline,airport,accident-investigation,accident-prevention,aerobatic,aeroclub,aerodrome,agents,air-surveillance,air-traffic-control,aircraft,airtraffic,ambulance,association,author,ballooning,broker,caa,cargo,catering,certification,championship,charter,civilaviation,club,conference,consultant,consulting,control,council,crew,design,dgca,educator,emergency,engine,engineer,entertainment,equipment,exchange,express,federation,flight,freight,fuel,gliding,government,groundhandling,group,hanggliding,homebuilt,insurance,journal,journalist,leasing,logistics,magazine,maintenance,marketplace,media,microlight,modelling,navigation,parachuting,paragliding,passenger-association,pilot,press,production,recreation,repbody,res,research,rotorcraft,safety,scientist,services,show,skydiving,software,student,taxi,trader,trading,trainer,union,workinggroup,worksgov,com,org,net,educom,org,net,co,nomoff,com,net,orgcom,edu,gov,mil,net,orgco,com,commune,net,orged,gv,og,co,pb,itbet,com,coop,edu,gob,gov,int,mil,musica,mutual,net,org,senasa,ture164,in-addr,ip6,iris,uri,urngovac>sthcom,net,org,edu>act,catholic,nsw>schoolsqld,sa,tas,vic,wacomcom,net,int,gov,org,edu,info,pp,mil,name,pro,bizcom,edu,gov,mil,net,orgbiz,co,com,edu,gov,info,net,org,store,tv*acgova,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,0,1,2,3,4,5,6,7,8,9com,edu,net,org,govco,com,edu,or,orgafrica,agro,architectes,assur,avocats,co,com,eco,econo,edu,info,loisirs,money,net,org,ote,resto,restaurant,tourism,univcom,edu,gov,net,orgcom,edu,gov,net,orgcom,edu,gob,int,org,net,mil,tv,web,academia,agro,arte,blog,bolivia,ciencia,cooperativa,democracia,deporte,ecologia,economia,empresa,indigena,industria,info,medicina,movimiento,musica,natural,nombre,noticias,patria,politica,profesional,plurinacional,pueblo,revista,salud,tecnologia,tksat,transporte,wiki
9guacu,abc,adm,adv,agr,aju,am,anani,aparecida,app,arq,art,ato,b,barueri,belem,bhz,bib,bio,blog,bmd,boavista,bsb,campinagrande,campinas,caxias,cim,cng,cnt,com,contagem,coop,coz,cri,cuiaba,curitiba,def,des,det,dev,ecn,eco,edu,emp,enf,eng,esp,etc,eti,far,feira,flog,floripa,fm,fnd,fortal,fot,foz,fst,g12,geo,ggf,goiania,gov>ac,al,am,ap,ba,ce,df,es,go,ma,mg,ms,mt,pa,pb,pe,pi,pr,rj,rn,ro,rr,rs,sc,se,sp,to*com,net,org,edu,govcom,edu,gov,net,orgco,orggov,mil,com,ofcom,net,org,edu,govab,bc,mb,nb,nf,nl,ns,nt,nu,on,pe,qc,sk,yk,gcgovorg,or,com,co,edu,ed,ac,net,go,asso,xn--aroport-bya,int,presse,md,gouv*,!wwwco,gob,gov,milco,com,gov,netac,com,edu,gov,net,org,mil,xn--55qx5d,xn--io0a7i,xn--od0alg,ah,bj,cq,fj,gd,gs,gz,gx,ha,hb,he,hi,hl,hn,jl,js,jx,ln,nm,nx,qh,sc,sd,sh,sn,sx,tj,xj,xz,yn,zj,hk,mo,twarts,com,edu,firm,gov,info,int,mil,net,nom,org,rec,webac,co,ed,fi,go,or,sacom,edu,org,net,gov,infcom,edu,int,nome,orgcom,edu,net,orggovac,biz,com,ekloges,gov,ltd,mil,net,org,press,pro,tmcom,net,org,edu,govart,com,edu,gob,gov,mil,net,org,sld,webart,asso,com,edu,gov,org,net,pol,soc,tmcom,info,net,fin,k12,med,pro,org,edu,gov,gob,miledu,gov,riik,lib,med,com,pri,aip,org,fiecom,edu,eun,gov,mil,name,net,org,sci*com,nom,org,gob,educom,gov,org,edu,biz,name,info,netalandac,biz,com,gov,info,mil,name,net,org,pro*com,edu,net,orgasso,com,gouv,nom,prd,tm,avoues,cci,greta,huissier-justiceedu,govcom,edu,gov,org,mil,net,pvtco,net,orgcom,edu,gov,org,milcom,ltd,gov,mod,edu,orgco,com,edu,net,orgac,com,edu,gov,org,netcom,net,mobi,edu,org,assocom,edu,net,org,govcom,edu,gob,ind,mil,net,orgcom,edu,gov,guam,info,net,org,webco,com,edu,gov,net,orgcom,edu,gov,idv,net,org,xn--55qx5d,xn--wcvs22d,xn--lcvr32d,xn--mxtq1m,xn--gmqw5a,xn--ciqpn,xn--gmq050i,xn--zf0avx,xn--io0a7i,xn--mk0axi,xn--od0alg,xn--od0aq3b,xn--tn0ag,xn--uc0atv,xn--uc0ay4acom,edu,org,net,mil,gob
iz,from,name,comcom,shop,firm,info,adult,net,pro,org,med,art,coop,pol,asso,edu,rel,gouv,persoco,info,org,priv,sport,tm,2000,agrar,bolt,casino,city,erotica,erotika,film,forum,games,hotel,ingatlan,jogasz,konyvelo,lakas,media,news,reklam,sex,shop,suli,szex,tozsde,utazas,videoac,biz,co,desa,go,mil,my,net,or,ponpes,sch,webgovac,co,gov,idf,k12,muni,net,orgxn--4dbgdty6c,xn--5dbhl8d,xn--8dbq2a,xn--hebda8bac,co>ltd,plc5g,6g,ac,ai,am,bihar,biz,business,ca,cn,co,com,coop,cs,delhi,dr,edu,er,firm,gen,gov,gujarat,ind,info,int,internet,io,me,mil,net,nic,org,pg,post,pro,res,travel,tv,uk,up,useucomgov,edu,mil,com,org,netac,co,gov,id,net,org,sch,xn--mgba3a4f16a,xn--mgba3a4franet,com,edu,gov,org,intgov,edu,abr,abruzzo,aosta-valley,aostavalley,bas,basilicata,cal,calabria,cam,campania,emilia-romagna,emiliaromagna,emr,friuli-v-giulia,friuli-ve-giulia,friuli-vegiulia,friuli-venezia-giulia,friuli-veneziagiulia,friuli-vgiulia,friuliv-giulia,friulive-giulia,friulivegiulia,friulivenezia-giulia,friuliveneziagiulia,friulivgiulia,fvg,laz,lazio,lig,liguria,lom,lombardia,lombardy,lucania,mar,marche,mol,molise,piedmont,piemonte,pmn,pug,puglia,sar,sardegna,sardinia,sic,sicilia,sicily,taa,tos,toscana,trentin-sud-tirol,xn--trentin-sd-tirol-rzb,trentin-sudtirol,xn--trentin-sdtirol-7vb,trentin-sued-tirol,trentin-suedtirol,trentino-a-adige,trentino-aadige,trentino-alto-adige,trentino-altoadige,trentino-s-tirol,trentino-stirol,trentino-sud-tirol,xn--trentino-sd-tirol-c3b,trentino-sudtirol,xn--trentino-sdtirol-szb,trentino-sued-tirol,trentino-suedtirol,trentino,trentinoa-adige,trentinoaadige,trentinoalto-adige,trentinoaltoadige,trentinos-tirol,trentinostirol,trentinosud-tirol,xn--trentinosd-tirol-rzb,trentinosudtirol,xn--trentinosdtirol-7vb,trentinosued-tirol,trentinosuedtirol,trentinsud-tirol,xn--trentinsd-tirol-6vb,trentinsudtirol,xn--trentinsdtirol-nsb,trentinsued-tirol,trentinsuedtirol,tuscany,umb,umbria,val-d-aosta,val-daosta,vald-aosta,valdaosta,valle-aosta,valle-d-aosta,valle-daosta,valleaosta,valled-aosta,valledaosta,vallee-aoste,xn--valle-aoste-ebb,vallee-d-aoste,xn--valle-d-aoste-ehb,valleeaoste,xn--valleaoste-e7a,valleedaoste,xn--valledaoste-ebb,vao,vda,ven,veneto,ag,agrigento,al,alessandria,alto-adige,altoadige,an,ancona,andria-barletta-trani,andria-trani-barletta,andriabarlettatrani,andriatranibarletta,ao,aosta,aoste,ap,aq,aquila,ar,arezzo,ascoli-piceno,ascolipiceno,asti,at,av,avellino,ba,balsan-sudtirol,xn--balsan-sdtirol-nsb,balsan-suedtirol,balsan,bari,barletta-trani-andria,barlettatraniandria,belluno,benevento,bergamo,bg,bi,biella,bl,bn,bo,bologna,bolzano-altoadige,bolzano,bozen-sudtirol,xn--bozen-sdtirol-2ob,bozen-suedtirol,bozen,br,brescia,brindisi,bs,bt,bulsan-sudtirol,xn--bulsan-sdtirol-nsb,bulsan-suedtirol,bulsan,bz,ca,cagliari,caltanissetta,campidano-medio,campidanomedio,campobasso,carbonia-iglesias,carboniaiglesias,carrara-massa,carraramassa,caserta,catania,catanzaro,cb,ce,cesena-forli,xn--cesena-forl-mcb,cesenaforli,xn--cesenaforl-i8a,ch,chieti,ci,cl,cn,co,como,cosenza,cr,cremona,crotone,cs,ct,cuneo,cz,dell-ogliastra,dellogliastra,en,enna,fc,fe,fermo,ferrara,fg,fi,firenze,florence,fm,foggia,forli-cesena,xn--forl-cesena-fcb,forlicesena,xn--forlcesena-c8a,fr,frosinone,ge,genoa,genova,go,gorizia,gr,grosseto,iglesias-carbonia,iglesiascarbonia,im,imperia,is,isernia,kr,la-spezia,laquila,laspezia,latina,lc,le,lecce,lecco,li,livorno,lo,lodi,lt,lu,lucca,macerata,mantova,massa-carrara,massacarrara,matera,mb,mc,me,medio-campidano,mediocampidano,messina,mi,milan,milano,mn,mo,modena,monza-brianza,monza-e-della-brianza,monza,monzabrianza,monzaebrianza,monzaedellabrianza,ms,mt,na,naples,napoli,no,novara,nu,nuoro,og,ogliastra,olbia-tempio,olbiatempio,or,oristano,ot,pa,padova,padua,palermo,parma,pavia,pc,pd,pe,perugia,pesaro-urbino,pesarourbino,pescara,pg,pi,piacenza,pisa,pistoia,pn,po,pordenone,potenza,pr,prato,pt,pu,pv,pz,ra,ragusa,ravenna,rc,re,reggio-calabria,reggio-emilia,reggiocalabria,reggioemilia,rg,ri,rieti,rimini,rm,rn,ro,roma,rome,rovigo,sa,salerno,sassari,savona,si,siena,siracusa,so,sondrio,sp,sr,ss,suedtirol,xn--sdtirol-n2a,sv,ta,taranto,te,tempio-olbia,tempioolbia,teramo,terni,tn,to,torino,tp,tr,trani-andria-barletta,trani-barletta-andria,traniandriabarletta,tranibarlettaandria,trapani,trento,treviso,trieste,ts,turin,tv,ud,udine,urbino-pesaro,urbinopesaro,va,varese,vb,vc,ve,venezia,venice,verbania,vercelli,verona,vi,vibo-valentia,vibovalentia,vicenza,viterbo,vr,vs,vt,vvco,net,org*com,org,net,edu,sch,gov,mil,nameac,ad,co,ed,go,gr,lg,ne,or,aichi>aisai,ama,anjo,asuke,chiryu,chita,fuso,gamagori,handa,hazu,hekinan,higashiura,ichinomiya,inazawa,inuyama,isshiki,iwakura,kanie,kariya,kasugai,kira,kiyosu,komaki,konan,kota,mihama,miyoshi,nishio,nisshin,obu,oguchi,oharu,okazaki,owariasahi,seto,shikatsu,shinshiro,shitara,tahara,takahama,tobishima,toei,togo,tokai,tokoname,toyoake,toyohashi,toyokawa,toyone,toyota,tsushima,yatomiakita,daisen,fujisato,gojome,hachirogata,happou,higashinaruse,honjo,honjyo,ikawa,kamikoani,kamioka,katagami,kazuno,kitaakita,kosaka,kyowa,misato,mitane,moriyoshi,nikaho,noshiro,odate,oga,ogata,semboku,yokote,yurihonjoaomori,gonohe,hachinohe,hashikami,hiranai,hirosaki,itayanagi,kuroishi,misawa,mutsu,nakadomari,noheji,oirase,owani,rokunohe,sannohe,shichinohe,shingo,takko,towada,tsugaru,tsurutaabiko,asahi,chonan,chosei,choshi,chuo,funabashi,futtsu,hanamigawa,ichihara,ichikawa,ichinomiya,inzai,isumi,kamagaya,kamogawa,kashiwa,katori,katsuura,kimitsu,kisarazu,kozaki,kujukuri,kyonan,matsudo,midori,mihama,minamiboso,mobara,mutsuzawa,nagara,nagareyama,narashino,narita,noda,oamishirasato,omigawa,onjuku,otaki,sakae,sakura,shimofusa,shirako,shiroi,shisui,sodegaura,sosa,tako,tateyama,togane,tohnosho,tomisato,urayasu,yachimata,yachiyo,yokaichiba,yokoshibahikari,yotsukaidoainan,honai,ikata,imabari,iyo,kamijima,kihoku,kumakogen,masaki,matsuno,matsuyama,namikata,niihama,ozu,saijo,seiyo,shikokuchuo,tobe,toon,uchiko,uwajima,yawatahamaechizen,eiheiji,fukui,ikeda,katsuyama,mihama,minamiechizen,obama,ohi,ono,sabae,sakai,takahama,tsuruga,wakasaashiya,buzen,chikugo,chikuho,chikujo,chikushino,chikuzen,chuo,dazaifu,fukuchi,hakata,higashi,hirokawa,hisayama,iizuka,inatsuki,kaho,kasuga,kasuya,kawara,keisen,koga,kurate,kurogi,kurume,minami,miyako,miyama,miyawaka,mizumaki,munakata,nakagawa,nakama,nishi,nogata,ogori,okagaki,okawa,oki,omuta,onga,onojo,oto,saigawa,sasaguri,shingu,shinyoshitomi,shonai,soeda,sue,tachiarai,tagawa,takata,toho,toyotsu,tsuiki,ukiha,umi,usui,yamada,yame,yanagawa,yukuhashiaizubange,aizumisato,aizuwakamatsu,asakawa,bandai,date,fukushima,furudono,futaba,hanawa,higashi,hirata,hirono,iitate,inawashiro,ishikawa,iwaki,izumizaki,kagamiishi,kaneyama,kawamata,kitakata,kitashiobara,koori,koriyama,kunimi,miharu,mishima,namie,nango,nishiaizu,nishigo,okuma,omotego,ono,otama,samegawa,shimogo,shirakawa,showa,soma,sukagawa,taishin,tamakawa,tanagura,tenei,yabuki,yamato,yamatsuri,yanaizu,yugawaanpachi,ena,gifu,ginan,godo,gujo,hashima,hichiso,hida,higashishirakawa,ibigawa,ikeda,kakamigahara,kani,kasahara,kasamatsu,kawaue,kitagata,mino,minokamo,mitake,mizunami,motosu,nakatsugawa,ogaki,sakahogi,seki,sekigahara,shirakawa,tajimi,takayama,tarui,toki,tomika,wanouchi,yamagata,yaotsu,yoroannaka,chiyoda,fujioka,higashiagatsuma,isesaki,itakura,kanna,kanra,katashina,kawaba,kiryu,kusatsu,maebashi,meiwa,midori,minakami,naganohara,nakanojo,nanmoku,numata,oizumi,ora,ota,shibukawa,shimonita,shinto,showa,takasaki,takayama,tamamura,tatebayashi,tomioka,tsukiyono,tsumagoi,ueno,yoshiokaasaminami,daiwa,etajima,fuchu,fukuyama,hatsukaichi,higashihiroshima,hongo,jinsekikogen,kaita,kui,kumano,kure,mihara,miyoshi,naka,onomichi,osakikamijima,otake,saka,sera,seranishi,shinichi,shobara,takeharaabashiri,abira,aibetsu,akabira,akkeshi,asahikawa,ashibetsu,ashoro,assabu,atsuma,bibai,biei,bifuka,bihoro,biratori,chippubetsu,chitose,date,ebetsu,embetsu,eniwa,erimo,esan,esashi,fukagawa,fukushima,furano,furubira,haboro,hakodate,hamatonbetsu,hidaka,higashikagura,higashikawa,hiroo,hokuryu,hokuto,honbetsu,horokanai,horonobe,ikeda,imakane,ishikari,iwamizawa,iwanai,kamifurano,kamikawa,kamishihoro,kamisunagawa,kamoenai,kayabe,kembuchi,kikonai,kimobetsu,kitahiroshima,kitami,kiyosato,koshimizu,kunneppu,kuriyama,kuromatsunai,kushiro,kutchan,kyowa,mashike,matsumae,mikasa,minamifurano,mombetsu,moseushi,mukawa,muroran,naie,nakagawa,nakasatsunai,nakatombetsu,nanae,nanporo,nayoro,nemuro,niikappu,niki,nishiokoppe,noboribetsu,numata,obihiro,obira,oketo,okoppe,otaru,otobe,otofuke,otoineppu,oumu,ozora,pippu,rankoshi,rebun,rikubetsu,rishiri,rishirifuji,saroma,sarufutsu,shakotan,shari,shibecha,shibetsu,shikabe,shikaoi,shimamaki,shimizu,shimokawa,shinshinotsu,shintoku,shiranuka,shiraoi,shiriuchi,sobetsu,sunagawa,taiki,takasu,takikawa,takinoue,teshikaga,tobetsu,tohma,tomakomai,tomari,toya,toyako,toyotomi,toyoura,tsubetsu,tsukigata,urakawa,urausu,uryu,utashinai,wakkanai,wassamu,yakumo,yoichiaioi,akashi,ako,amagasaki,aogaki,asago,ashiya,awaji,fukusaki,goshiki,harima,himeji,ichikawa,inagawa,itami,kakogawa,kamigori,kamikawa,kasai,kasuga,kawanishi,miki,minamiawaji,nishinomiya,nishiwaki,ono,sanda,sannan,sasayama,sayo,shingu,shinonsen,shiso,sumoto,taishi,taka,takarazuka,takasago,takino,tamba,tatsuno,toyooka,yabu,yashiro,yoka,yokawaami,asahi,bando,chikusei,daigo,fujishiro,hitachi,hitachinaka,hitachiomiya,hitachiota,ibaraki,ina,inashiki,itako,iwama,joso,kamisu,kasama,kashima,kasumigaura,koga,miho,mito,moriya,naka,namegata,oarai,ogawa,omitama,ryugasaki,sakai,sakuragawa,shimodate,shimotsuma,shirosato,sowa,suifu,takahagi,tamatsukuri,tokai,tomobe,tone,toride,tsuchiura,tsukuba,uchihara,ushiku,yachiyo,yamagata,yawara,yukianamizu,hakui,hakusan,kaga,kahoku,kanazawa,kawakita,komatsu,nakanoto,nanao,nomi,nonoichi,noto,shika,suzu,tsubata,tsurugi,uchinada,wajimafudai,fujisawa,hanamaki,hiraizumi,hirono,ichinohe,ichinoseki,iwaizumi,iwate,joboji,kamaishi,kanegasaki,karumai,kawai,kitakami,kuji,kunohe,kuzumaki,miyako,mizusawa,morioka,ninohe,noda,ofunato,oshu,otsuchi,rikuzentakata,shiwa,shizukuishi,sumita,tanohata,tono,yahaba,yamadaayagawa,higashikagawa,kanonji,kotohira,manno,marugame,mitoyo,naoshima,sanuki,tadotsu,takamatsu,tonosho,uchinomi,utazu,zentsujiakune,amami,hioki,isa,isen,izumi,kagoshima,kanoya,kawanabe,kinko,kouyama,makurazaki,matsumoto,minamitane,nakatane,nishinoomote,satsumasendai,soo,tarumizu,yusuiaikawa,atsugi,ayase,chigasaki,ebina,fujisawa,hadano,hakone,hiratsuka,isehara,kaisei,kamakura,kiyokawa,matsuda,minamiashigara,miura,nakai,ninomiya,odawara,oi,oiso,sagamihara,samukawa,tsukui,yamakita,yamato,yokosuka,yugawara,zama,zushiaki,geisei,hidaka,higashitsuno,ino,kagami,kami,kitagawa,kochi,mihara,motoyama,muroto,nahari,nakamura,nankoku,nishitosa,niyodogawa,ochi,okawa,otoyo,otsuki,sakawa,sukumo,susaki,tosa,tosashimizu,toyo,tsuno,umaji,yasuda,yusuharaamakusa,arao,aso,choyo,gyokuto,kamiamakusa,kikuchi,kumamoto,mashiki,mifune,minamata,minamioguni,nagasu,nishihara,oguni,ozu,sumoto,takamori,uki,uto,yamaga,yamato,yatsushiroayabe,fukuchiyama,higashiyama,ide,ine,joyo,kameoka,kamo,kita,kizu,kumiyama,kyotamba,kyotanabe,kyotango,maizuru,minami,minamiyamashiro,miyazu,muko,nagaokakyo,nakagyo,nantan,oyamazaki,sakyo,seika,tanabe,uji,ujitawara,wazuka,yamashina,yawataasahi,inabe,ise,kameyama,kawagoe,kiho,kisosaki,kiwa,komono,kumano,kuwana,matsusaka,meiwa,mihama,minamiise,misugi,miyama,nabari,shima,suzuka,tado,taiki,taki,tamaki,toba,tsu,udono,ureshino,watarai,yokkaichifurukawa,higashimatsushima,ishinomaki,iwanuma,kakuda,kami,kawasaki,marumori,matsushima,minamisanriku,misato,murata,natori,ogawara,ohira,onagawa,osaki,rifu,semine,shibata,shichikashuku,shikama,shiogama,shiroishi,tagajo,taiwa,tome,tomiya,wakuya,watari,yamamoto,zaoaya,ebino,gokase,hyuga,kadogawa,kawaminami,kijo,kitagawa,kitakata,kitaura,kobayashi,kunitomi,kushima,mimata,miyakonojo,miyazaki,morotsuka,nichinan,nishimera,nobeoka,saito,shiiba,shintomi,takaharu,takanabe,takazaki,tsunoachi,agematsu,anan,aoki,asahi,azumino,chikuhoku,chikuma,chino,fujimi,hakuba,hara,hiraya,iida,iijima,iiyama,iizuna,ikeda,ikusaka,ina,karuizawa,kawakami,kiso,kisofukushima,kitaaiki,komagane,komoro,matsukawa,matsumoto,miasa,minamiaiki,minamimaki,minamiminowa,minowa,miyada,miyota,mochizuki,nagano,nagawa,nagiso,nakagawa,nakano,nozawaonsen,obuse,ogawa,okaya,omachi,omi,ookuwa,ooshika,otaki,otari,sakae,sakaki,saku,sakuho,shimosuwa,shinanomachi,shiojiri,suwa,suzaka,takagi,takamori,takayama,tateshina,tatsuno,togakushi,togura,tomi,ueda,wada,yamagata,yamanouchi,yasaka,yasuokachijiwa,futsu,goto,hasami,hirado,iki,isahaya,kawatana,kuchinotsu,matsuura,nagasaki,obama,omura,oseto,saikai,sasebo,seihi,shimabara,shinkamigoto,togitsu,tsushima,unzenando,gose,heguri,higashiyoshino,ikaruga,ikoma,kamikitayama,kanmaki,kashiba,kashihara,katsuragi,kawai,kawakami,kawanishi,koryo,kurotaki,mitsue,miyake,nara,nosegawa,oji,ouda,oyodo,sakurai,sango,shimoichi,shimokitayama,shinjo,soni,takatori,tawaramoto,tenkawa,tenri,uda,yamatokoriyama,yamatotakada,yamazoe,yoshinoaga,agano,gosen,itoigawa,izumozaki,joetsu,kamo,kariwa,kashiwazaki,minamiuonuma,mitsuke,muika,murakami,myoko,nagaoka,niigata,ojiya,omi,sado,sanjo,seiro,seirou,sekikawa,shibata,tagami,tainai,tochio,tokamachi,tsubame,tsunan,uonuma,yahiko,yoita,yuzawabeppu,bungoono,bungotakada,hasama,hiji,himeshima,hita,kamitsue,kokonoe,kuju,kunisaki,kusu,oita,saiki,taketa,tsukumi,usa,usuki,yufuakaiwa,asakuchi,bizen,hayashima,ibara,kagamino,kasaoka,kibichuo,kumenan,kurashiki,maniwa,misaki,nagi,niimi,nishiawakura,okayama,satosho,setouchi,shinjo,shoo,soja,takahashi,tamano,tsuyama,wake,yakageaguni,ginowan,ginoza,gushikami,haebaru,higashi,hirara,iheya,ishigaki,ishikawa,itoman,izena,kadena,kin,kitadaito,kitanakagusuku,kumejima,kunigami,minamidaito,motobu,nago,naha,nakagusuku,nakijin,nanjo,nishihara,ogimi,okinawa,onna,shimoji,taketomi,tarama,tokashiki,tomigusuku,tonaki,urasoe,uruma,yaese,yomitan,yonabaru,yonaguni,zamamiabeno,chihayaakasaka,chuo,daito,fujiidera,habikino,hannan,higashiosaka,higashisumiyoshi,higashiyodogawa,hirakata,ibaraki,ikeda,izumi,izumiotsu,izumisano,kadoma,kaizuka,kanan,kashiwara,katano,kawachinagano,kishiwada,kita,kumatori,matsubara,minato,minoh,misaki,moriguchi,neyagawa,nishi,nose,osakasayama,sakai,sayama,sennan,settsu,shijonawate,shimamoto,suita,tadaoka,taishi,tajiri,takaishi,takatsuki,tondabayashi,toyonaka,toyono,yaoariake,arita,fukudomi,genkai,hamatama,hizen,imari,kamimine,kanzaki,karatsu,kashima,kitagata,kitahata,kiyama,kouhoku,kyuragi,nishiarita,ogi,omachi,ouchi,saga,shiroishi,taku,tara,tosu,yoshinogariarakawa,asaka,chichibu,fujimi,fujimino,fukaya,hanno,hanyu,hasuda,hatogaya,hatoyama,hidaka,higashichichibu,higashimatsuyama,honjo,ina,iruma,iwatsuki,kamiizumi,kamikawa,kamisato,kasukabe,kawagoe,kawaguchi,kawajima,kazo,kitamoto,koshigaya,kounosu,kuki,kumagaya,matsubushi,minano,misato,miyashiro,miyoshi,moroyama,nagatoro,namegawa,niiza,ogano,ogawa,ogose,okegawa,omiya,otaki,ranzan,ryokami,saitama,sakado,satte,sayama,shiki,shiraoka,soka,sugito,toda,tokigawa,tokorozawa,tsurugashima,urawa,warabi,yashio,yokoze,yono,yorii,yoshida,yoshikawa,yoshimiaisho,gamo,higashiomi,hikone,koka,konan,kosei,koto,kusatsu,maibara,moriyama,nagahama,nishiazai,notogawa,omihachiman,otsu,ritto,ryuoh,takashima,takatsuki,torahime,toyosato,yasuakagi,ama,gotsu,hamada,higashiizumo,hikawa,hikimi,izumo,kakinoki,masuda,matsue,misato,nishinoshima,ohda,okinoshima,okuizumo,shimane,tamayu,tsuwano,unnan,yakumo,yasugi,yatsukaarai,atami,fuji,fujieda,fujikawa,fujinomiya,fukuroi,gotemba,haibara,hamamatsu,higashiizu,ito,iwata,izu,izunokuni,kakegawa,kannami,kawanehon,kawazu,kikugawa,kosai,makinohara,matsuzaki,minamiizu,mishima,morimachi,nishiizu,numazu,omaezaki,shimada,shimizu,shimoda,shizuoka,susono,yaizu,yoshidaashikaga,bato,haga,ichikai,iwafune,kaminokawa,kanuma,karasuyama,kuroiso,mashiko,mibu,moka,motegi,nasu,nasushiobara,nikko,nishikata,nogi,ohira,ohtawara,oyama,sakura,sano,shimotsuke,shioya,takanezawa,tochigi,tsuga,ujiie,utsunomiya,yaitaaizumi,anan,ichiba,itano,kainan,komatsushima,matsushige,mima,minami,miyoshi,mugi,nakagawa,naruto,sanagochi,shishikui,tokushima,wajikiadachi,akiruno,akishima,aogashima,arakawa,bunkyo,chiyoda,chofu,chuo,edogawa,fuchu,fussa,hachijo,hachioji,hamura,higashikurume,higashimurayama,higashiyamato,hino,hinode,hinohara,inagi,itabashi,katsushika,kita,kiyose,kodaira,koganei,kokubunji,komae,koto,kouzushima,kunitachi,machida,meguro,minato,mitaka,mizuho,musashimurayama,musashino,nakano,nerima,ogasawara,okutama,ome,oshima,ota,setagaya,shibuya,shinagawa,shinjuku,suginami,sumida,tachikawa,taito,tama,toshimachizu,hino,kawahara,koge,kotoura,misasa,nanbu,nichinan,sakaiminato,tottori,wakasa,yazu,yonagoasahi,fuchu,fukumitsu,funahashi,himi,imizu,inami,johana,kamiichi,kurobe,nakaniikawa,namerikawa,nanto,nyuzen,oyabe,taira,takaoka,tateyama,toga,tonami,toyama,unazuki,uozu,yamadaarida,aridagawa,gobo,hashimoto,hidaka,hirogawa,inami,iwade,kainan,kamitonda,katsuragi,kimino,kinokawa,kitayama,koya,koza,kozagawa,kudoyama,kushimoto,mihama,misato,nachikatsuura,shingu,shirahama,taiji,tanabe,wakayama,yuasa,yuraasahi,funagata,higashine,iide,kahoku,kaminoyama,kaneyama,kawanishi,mamurogawa,mikawa,murayama,nagai,nakayama,nanyo,nishikawa,obanazawa,oe,oguni,ohkura,oishida,sagae,sakata,sakegawa,shinjo,shirataka,shonai,takahata,tendo,tozawa,tsuruoka,yamagata,yamanobe,yonezawa,yuzaabu,hagi,hikari,hofu,iwakuni,kudamatsu,mitou,nagato,oshima,shimonoseki,shunan,tabuse,tokuyama,toyota,ube,yuuchuo,doshi,fuefuki,fujikawa,fujikawaguchiko,fujiyoshida,hayakawa,hokuto,ichikawamisato,kai,kofu,koshu,kosuge,minami-alps,minobu,nakamichi,nanbu,narusawa,nirasaki,nishikatsura,oshino,otsuki,showa,tabayama,tsuru,uenohara,yamanakako,yamanashi*,!city*,!city*,!city*,!city*,!city*,!city*,!city<ac,co,go,info,me,mobi,ne,or,scorg,net,com,edu,gov,mil*edu,biz,net,org,gov,info,comorg,nom,gov,prd,tm,edu,mil,ass,com,coop,asso,presse,medecin,notaires,pharmaciens,veterinaire,gouvnet,org,edu,govcom,edu,gov,org,rep,traac,co,es,go,hs,kg,mil,ms,ne,or,pe,re,sc,busan,chungbuk,chungnam,daegu,daejeon,gangwon,gwangju,gyeongbuk,gyeonggi,gyeongnam,incheon,jeju,jeonbuk,jeonnam,seoul,ulsancom,edu,emb,gov,ind,net,orgcom,edu,net,org